VLDB 2026 Research / reviewers in the wild / expert
Michel Wermelinger
dblp:99/5832
· DBLP profile ↗
53ranked-venue papers
16as first author
9since 2021 · last 2025
0000-0002-6467-3293ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 39 · 12 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 10 · 4 first-author · 7 since 2021Databases, data management, data science and information retrieval · 5 · 2 first-authorArtificial intelligence and machine learning · 2 · 1 since 2021Theory of computation · 2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Human ratings of LLM response generation in pair-programming dialogueabstractWe take first steps in exploring whether Large Language Models (LLMs) can be adapted to dialogic learning practices, specifically pair programming — LLMs have primarily been implemented as programming assistants, not fully exploiting their dialogic potential. We used new dialogue data from real pair-programming interactions between students, prompting state-of-the-art LLMs to assume the role of a student, when generating a response that continues the real dialogue. We asked human annotators to rate human and AI responses on the criteria through which we operationalise the LLMs’ suitability for educational dialogue: Coherence, Collaborativeness, and whether they appeared human. Results show model differences, with Llama-generated responses being rated similarly to human answers on all three criteria. Thus, for at least one of the models we investigated, the LLM utterance-level response generation appears to be suitable for pair-programming dialogue. Cecilia Domingo, Paul Piwek, Svetlana Stoyanchev, Michel Wermelinger, Kaustubh Adhikari, Rama Sanand Doddipatla |
INLG | 4 |
| 2024 | Discussing the Changing Landscape of Generative AI in Computing EducationabstractIn a previous Birds of a Feather discussion, we delved into the nascent applications of generative AI, contemplating its potential and speculating on future trajectories. Since then, the landscape has continued to evolve revealing the capabilities and limitations of these models. Despite this progress, the computing education research community still faces uncertainty around pivotal aspects such as (1) academic integrity and assessments, (2) curricular adaptations, (3) pedagogical strategies, and (4) the competencies students require to instill responsible use of these tools. The goal of this Birds of a Feather discussion is to unravel these pressing and persistent issues with computing educators and researchers, fostering a collaborative exploration of strategies to navigate the educational implications of advancing generative AI technologies. Aligned with this goal of building an inclusive learning community, our BoF is led by globally distributed leaders to facilitate multiple coordinated discussions that can lead to a broader conversation about the role of LLMs in CS education. Stephen MacNeil, Juho Leinonen 0001, Paul Denny 0001, Natalie Kiesler, Arto Hellas, James Prather, Brett A. Becker, Michel Wermelinger, Karen Reid |
SIGCSE (2) | 8 |
| 2024 | An Environment for Algorithmic EssaysabstractWe define algorithmic essays as short reports that explain and contrast at least two approaches to a computational problem. Writing and reviewing others' essays requires the higher cognitive levels of the revised Bloom taxonomy (analyse, evaluate, create) and allows students to practise professional skills like: communicating clearly a problem and its solutions; giving & receiving feedback; writing clean code using appropriate tools. Michel Wermelinger, Michael Snowden |
SIGCSE (2) | 1 |
| 2023 | Accounting for socio-technical resilience in software engineeringabstractResilience engineering (RE) is most commonly applied at the organisational level, and has historically been associated with safety-critical industries such as nuclear, medical or aviation. This paper explores the application of RE frameworks within software engineering, and investigates resilient performance of the socio-technical system that supports the creation of software. We present a preliminary study based on a secondary analysis of data from previous ethnographic studies of commercial software practice. This analysis uses an RE framework devised for small team practice in safety critical settings. We present and discuss three salient episodes of software practice that illustrate the application of RE principles to software engineering, and suggest how this kind of analysis may benefit software engineering. We present challenges and opportunities based on our experience and propose future research directions. Tamara Lopez, Helen Sharp, Michel Wermelinger, Melanie Langer, Mark Levine, Caroline Jay, Yijun Yu 0001, Bashar Nuseibeh |
CHASE | 3 |
| 2023 | Checking Conformance to a Subset of the Python LanguageabstractIntroductory courses usually only teach a small subset of a programming language and its library, in order to focus on the general concepts rather than overwhelm students with the syntactic, semantic and API minutiae of a particular language. Michel Wermelinger |
ITiCSE (2) | 1 |
| 2023 | The Implications of Large Language Models for CS Teachers and StudentsabstractThe introduction of Large Language Models (LLMs) has generated a significant amount of excitement both in industry and among researchers. Recently, tools that leverage LLMs have made their way into the classroom where they help students generate code and help instructors generate learning materials. There are likely many more uses of these tools -- both beneficial to learning and possibly detrimental to learning. To help ensure that these tools are used to enhance learning, educators need to not only be familiar with these tools, but with their use and potential misuse. The goal of this BoF is to raise awareness about LLMs and to build a learning community around their use in computing education. Aligned with this goal of building an inclusive learning community, our BoF is led by globally distributed discussion leaders, including undergraduate researchers, to facilitate multiple coordinated discussions that can lead to a broader conversation about the role of LLMs in CS education. Stephen MacNeil, Joanne Kim, Juho Leinonen 0001, Paul Denny 0001, Seth Bernstein, Brett A. Becker, Michel Wermelinger, Arto Hellas, Andrew Tran, Sami Sarsa, James Prather, Viraj Kumar |
SIGCSE (2) | 7 |
| 2023 | Using GitHub Copilot to Solve Simple Programming ProblemsabstractThe teaching and assessment of introductory programming involves writing code that solves a problem described by text. Previous research found that OpenAI's Codex, a natural language machine learning model trained on billions of lines of code, performs well on many programming problems, often generating correct and readable Python code. GitHub's version of Codex, Copilot, is freely available to students. This raises pedagogic and academic integrity concerns. Educators need to know what Copilot is capable of, in order to adapt their teaching to AI-powered programming assistants. Previous research evaluated the most performant Codex model quantitatively, e.g. how many problems have at least one correct suggestion that passes all tests. Here I evaluate Copilot instead, to see if and how it differs from Codex, and look qualitatively at the generated suggestions, to understand the limitations of Copilot. I also report on the experience of using Copilot for other activities asked of students in programming courses: explaining code, generating tests and fixing bugs. The paper concludes with a discussion of the implications of the observed capabilities for the teaching of programming. Michel Wermelinger |
SIGCSE (1) | 1 |
| 2021 | Remote Pair ProgrammingabstractPair programming is routinely used in industry and taught in face-to-face programming classes. Research indicates that it improves self-confidence and students' programming, communication and team working skills. We investigate the technology, barriers, and soft-skill benefits for distance-learning students who pair program with a remote partner online. In one study, students watched two tutors pair programming and then performed a pair programming task remotely with a student partner. Students felt significantly more positive with the latter compared to the former. As universities strive to provide a good student experience during a pandemic, these findings highlight the value of active remote pair programming using standard online communication tools. Adeola Adeliyi, Janet M. Hughes, Karen Kear, Bobby Law, Brendan Murphy, Jon Rosewell, Ann Walshe, Michel Wermelinger |
SIGCSE | 8 |
| 2021 | Evaluating the effectiveness of risk containers to isolate change propagation
Andrew Leigh, Michel Wermelinger, Andrea Zisman |
J. Syst. Softw. | 2 |
| 2019 | Exploring design principles for data literacy activities to support children's inquiries from complex data
Annika Wolff, Michel Wermelinger, Marian Petre |
Int. J. Hum. Comput. Stud. | 2 |
| 2018 | The Open Networking Lab: Hands-on Vocational Learning in Computer NetworkingabstractAn increasingly connected society demands people who can design, set up, monitor and maintain networks of computers and devices. Traditional classroom instruction cannot keep pace with demand, and networking hardware costs can be too high for widespread classroom use. This paper presents the Open Networking Lab, a new UK initiative for supporting hands-on vocational learning in computer networking. The Open Networking Lab will facilitate the development of introductory practical networking skills without using hardware, through the provision of a web-based network simulation package integrated into learning resources and activities. These learning resources will be evaluated by students and lecturers from a cluster of Further Education colleges in the UK and will subsequently be made available to learners worldwide via free and open courseware. Alexander Mikroyannidis, Karen Kear, Allan Jones, Jon Rosewell, Helen Donelan, Michel Wermelinger, Chris Sanders, Aisling Third, Teresa Connolly |
FIE | 7 |
| 2018 | Locating bugs without looking backabstractBug localisation is a core program comprehension task in software maintenance: given the observation of a bug, e.g. via a bug report, where is it located in the source code? Information retrieval (IR) approaches see the bug report as the query, and the source code files as the documents to be retrieved, ranked by relevance. Such approaches have the advantage of not requiring expensive static or dynamic analysis of the code. However, current state-of-the-art IR approaches rely on project history, in particular previously fixed bugs or previous versions of the source code. We present a novel approach that directly scores each current file against the given report, thus not requiring past code and reports. The scoring method is based on heuristics identified through manual inspection of a small sample of bug reports. We compare our approach to eight others, using their own five metrics on their own six open source projects. Out of 30 performance indicators, we improve 27 and equal 2. Over the projects analysed, on average we find one or more affected files in the top 10 ranked files for 76% of the bug reports. These results show the applicability of our approach to software projects without history. Tezcan Dilshener, Michel Wermelinger, Yijun Yu 0001 |
Autom. Softw. Eng. | 2 |
| 2017 | Software Architecture Risk Containers
Andrew Leigh, Michel Wermelinger, Andrea Zisman |
ECSA | 2 |
| 2016 | Locating bugs without looking backabstractBug localisation is a core program comprehension task in software maintenance: given the observation of a bug, where is it located in the source code files? Information retrieval (IR) approaches see a bug report as the query, and the source code files as the documents to be retrieved, ranked by relevance. Such approaches have the advantage of not requiring expensive static or dynamic analysis of the code. However, most of state-of-the-art IR approaches rely on project history, in particular previously fixed bugs and previous versions of the source code. We present a novel approach that directly scores each current file against the given report, thus not requiring past code and reports. The scoring is based on heuristics identified through manual inspection of a small set of bug reports. We compare our approach to five others, using their own five metrics on their own six open source projects. Out of 30 performance indicators, we improve 28. For example, on average we find one or more affected files in the top 10 ranked files for 77% of the bug reports. These results show the applicability of our approach to software projects without history. Tezcan Dilshener, Michel Wermelinger, Yijun Yu 0001 |
MSR | 2 |
| 2016 | An Evaluation of Design Rule Spaces as Risk ContainersabstractIt is well understood that software development can be a risky enterprise and industrial projects often overrun budget and schedule. Effective risk management is, therefore, vital for a successful project outcome. Design Rule Spaces (DRSpaces) have been used by other researchers to understand why implemented software is error-prone [1, 2]. This industrial case study evaluates whether such spaces are durable, meaningful, and isolating risk containers. DRSpaces were created from UML class diagrams of architectural design artefacts. In our study, object orientated metrics were calculated from the UML diagrams, and compared to the error-proneness of the DRSpace implementation, to determine whether architectural coupling translated into implementation difficulties. A correlation between architectural coupling and error-proneness of DRSpaces was observed in the case study. Software developers were asked to identify DRSpaces they found difficult to implement, in order to understand which factors, other than architectural coupling, were also important. The qualitative results show agreement between the code areas developers found difficult to implement and the error-prone DRSpaces. However, the results also show that architectural coupling is just one risk factor of many. The case study suggests that architectural DRSpaces can be used to facilitate a targeted risk review prior to implementation and manage risk. Andrew Leigh, Michel Wermelinger, Andrea Zisman |
WICSA | 2 |
| 2015 | Teaching Software Systems Thinking at The Open UniversityabstractThe Open University is a distance-based higher education institution. Most of our students are in employment and study from home, contacting their tutor and fellow students via e-mail and discussion forums. In this paper, we describe our undergraduate and postgraduate modules in the software systems area, how we teach them at a distance, and our focus on shifting our students' minds into a reflective, critical, holistic socio-technical view of software systems that is relevant to their particular professional contexts. Michel Wermelinger, Jon G. Hall, Lucia Rapanotti, Leonor Barroca 0001, Magnus Ramage, Arosha K. Bandara |
ICSE (2) | 1 |
| 2015 | Investigating naming convention adherence in Java referencesabstractNaming conventions can help the readability and comprehension of code, and thus the onboarding of new developers. Conventions also provide cues that help developers and tools extract information from identifier names to support software maintenance. Tools exist to automatically check naming conventions but they are often limited to simple checks, e.g. regarding typography. The adherence to more elaborate conventions, such as the use of noun and verbal phrases in names, is not checked. We present Nominal, a naming convention checking library for Java that allows the declarative specification of conventions regarding typography and the use of abbreviations and phrases. To test Nominal, and to investigate the extent to which developers follow conventions, we extract 3.5 million reference - field, formal argument and local variable - name declarations from 60 FLOSS projects and determine their adherence to two well-known Java naming convention guidelines that give developers scope to choose a variety of forms of name, and sometimes offer conflicting advice. We found developers largely follow naming conventions, but adherence to specific conventions varies widely. Simon Butler 0001, Michel Wermelinger, Yijun Yu 0001 |
ICSME | 2 |
| 2015 | A survey of the forms of Java reference namesabstractThe readability of identifiers is a major factor of program comprehension and an aim of naming convention guidelines. Due to their semantic content, identifiers are also used in feature and bug location, among other software maintenance tasks. Looking at how names are used in practice may lead to insights on potential problems for comprehension and for programming support tools that process identifiers. Class and method names are already well represented in the literature. This paper presents an investigation of Java field, formal argument and local variable names, which we collectively call reference names. These names cannot be ignored because they constitute over half the unique names and almost 70% of the name declarations in the corpus investigated. We analysed the forms of 3.5 million reference name declarations in 60 well known Java projects, examining the phrasal structure of names composed of known words and acronyms. The structures found in practice were evaluated against those given in the literature. The use of unknown abbreviations and words, which may pose a problem for program comprehension, was also identified. Based on our observations of the rich diversity of reference names, we suggest issues to be taken into account for future academic research and for improving tools that rely on names as sources of information. Simon Butler 0001, Michel Wermelinger, Yijun Yu 0001 |
ICPC | 2 |
| 2015 | An Architectural Evolution DatasetabstractA good evolution process and a good architecture can greatly support the maintainability of long-lived, large software systems. We present AREVOL, a dataset for the empirical study of architectural evolution. The dataset comprises two popular systems from the same domain and using the same component model, to make comparative studies possible. Besides the original component metadata, AREVOL includes scripts to obtain simplified models that nevertheless support rich studies of architectural evolution, as the authors' previous work has shown. Michel Wermelinger, Yijun Yu 0001 |
MSR | 1 |
| 2013 | Issues in representing domain-specific concerns in model-driven engineeringabstractThe integration of domain-specific concepts in a model-driven engineering (MDE) approach raises a number of interesting research questions. There are two possibilities to represent these concepts. The first one focuses on models that contain domain-specific concepts only, i.e. domain-specific modelling languages (DSML). The second one advocates the integration of domain-specific concepts in general-purpose models, using what we will refer to in this paper as domain-specific modelling annotation languages (DSMAL). In this position paper, we argue that each approach is particularly suited for specific activities and specific actors, and show how they can be developed and used together. We also highlight the challenges created by the use of two representations, such as the evaluation of models OCL constraints and the synchronisation between the two representations. As an illustration, we present rbacUML, our approach for integrating role-based access control (RBAC) concepts into an MDE approach. Lionel Montrieux, Yijun Yu 0001, Michel Wermelinger, Zhenjiang Hu 0002 |
MiSE | 3 |
| 2013 | INVocD: identifier name vocabulary datasetabstractINVocD is a database of the identifier name declarations and vocabulary found in 60 FLOSS Java projects where the source code structure is recorded and the identifier name vocabulary is made directly available, offering advantages for identifier name research over conventional source code models. The database has been used to support a range of research projects from identifier name analysis to concept location, and provides many opportunities to researchers. INVocD may be downloaded from http://oro.open.ac.uk/36992. Simon Butler 0001, Michel Wermelinger, Yijun Yu 0001, Helen Sharp |
MSR | 2 |
| 2011 | Improving the Tokenisation of Identifier Names
Simon Butler 0001, Michel Wermelinger, Yijun Yu 0001, Helen Sharp |
ECOOP | 2 |
| 2011 | Mining java class naming conventionsabstractClass names represent the concepts implemented in object-oriented source code and are key elements in program comprehension and, thus, software maintenance. Programming conventions often state that class names should be noun-phrases, but there is little further guidance for developers on the composition of class names. Other researchers have observed that the majority of Java class identifier names are composed of one or more nouns preceded, optionally, by one or more adjectives. However, no detailed analysis of class identifier name structure has been undertaken that could be leveraged to support program comprehension activities. We investigate the lexical and syntactic composition of Java class identifier names in two ways. Firstly, as others have done for C function and Java method names, we identify conventional patterns found in the use of parts of speech. Secondly, we identify the origin of words used in class names within the name of any super class and implemented interfaces to identify patterns of class name construction related to inheritance. Through the analysis of 120,000 unique class names found in 60 open source projects we identify both common and project specific class naming conventions. We apply this knowledge in a case study of the mind-mapping tool Freemind to investigate whether class names that follow unconventional naming schemes are candidates for refactoring either a name refactoring that conforms to established naming conventions within the code base, or refactoring of the class that results in conventionally named classes. Simon Butler 0001, Michel Wermelinger, Yijun Yu 0001, Helen Sharp |
ICSM | 2 |
| 2011 | Relating developers' concepts and artefact vocabulary in a financial software moduleabstractDevelopers working on unfamiliar systems are challenged to accurately identify where and how high-level concepts are implemented in the source code. Without additional help, concept location can become a tedious, time-consuming and error-prone task. In this paper we study an industrial financial application for which we had access to the user guide, the source code, and some change requests. We compared the relative importance of the domain concepts, as understood by developers, in the user manual and in the source code. We also searched the code for the concepts occurring in change requests, to see if they could point developers to code to be modified. We varied the searches (using exact and stem matching, discarding stop-words, etc.) and present the precision and recall. We discuss the implication of our results for maintenance. Tezcan Dilshener, Michel Wermelinger |
ICSM | 2 |
| 2011 | Maleku: An evolutionary visual software analysis tool for providing insights into software evolutionabstractSoftware maintenance is a complex process that requires the understanding and comprehension of software project details. It involves the understanding of the evolution of the software project, hundreds of software components and the relationships among software items in the form of inheritance, interface implementation, coupling and cohesion. Consequently, the aim of evolutionary visual software analytics is to support software project managers and developers during software maintenance. It takes into account the mining of evolutionary data, the subsequent analysis of the results produced by the mining process for producing evolution facts, the use of visualizations supported by interaction techniques and the active participation of users. Hence, this paper proposes an evolutionary visual software analytics tool for the exploration and comparison of project structural, interface implementation and class hierarchy data, and the correlation of structural data with metrics, as well as socio-technical relationships. Its main contribution is a tool that automatically retrieves evolutionary software facts and represent them using a scalable visualization design. Antonio González 0006, Roberto Therón, Francisco J. García-Peñalvo, Michel Wermelinger, Yijun Yu 0001 |
ICSM | 4 |
| 2011 | Tool support for UML-based specification and verification of role-based access control propertiesabstractIt has been argued that security perspectives, of which access control is one, should be taken into account as early as possible in the software development process. Towards that goal, we present in this paper a tool supporting our modelling approach to specify and verify access control in accordance to the NIST standard Role-Based Access Control (RBAC). RBAC is centred on mapping users to their roles in an organisation, to make access control permissions easier to set and maintain. Our modelling approach uses only standard UML mechanisms, like metamodels and OCL constraints, and improves on existing approaches in various ways: designers don't have to learn new languages or adopt new tools or methodologies; user-role and role-permission assignments can be specified separately to be reused across models; access control is specified over class and activity diagrams, including 'anti-scenarios'; access control is automatically verified. The tool is built on top of an existing modelling IDE and allows for automatic verification of models according to our RBAC modelling approach, while providing users with the ability to easily identify and correct errors in the model when they are detected. Lionel Montrieux, Michel Wermelinger, Yijun Yu 0001 |
SIGSOFT FSE | 2 |
| 2011 | Assessing architectural evolution: a case study
Michel Wermelinger, Yijun Yu 0001, Angela Lozano, Andrea Capiluppi |
Empir. Softw. Eng. | 1 |
| 2010 | Commentary on 'Software architectures and mobility: A Roadmap'
Michel Wermelinger, Arosha K. Bandara |
J. Syst. Softw. | 1 |
| 2008 | Assessing the effect of clones on changeabilityabstractTo prioritize software maintenance activities, it is important to identify which programming flaws impact most on an applicationpsilas evolution. Recent empirical studies on such a flaw, code clones, have focused on one of the arguments to consider clones harmful, namely, that related clones are not updated consistently. We believe that a wider notion is needed to assess the effect of cloning on evolution. This paper compares measures of the maintenance effort on methods with clones against those without. Statistical and graphical analysis suggests that having a clone may increase the maintenance effort of changing a method. The effort seems to increase depending on the percentage of the system affected whenever the methods that share the clone are modified. We also found that some methods seem to increase significantly their maintenance effort when a clone was present. However, the characteristics analyzed in these methods did not reveal any systematic relation between cloning and such maintenance effort increase. Angela Lozano, Michel Wermelinger |
ICSM | 2 |
| 2008 | Design principles in architectural evolution: A case studyabstractWe wish to investigate how structural design principles are used in practice, in order to assess the utility and relevance of such principles to the maintenance of large, complex, long-lived, successful systems. In this paper we take Eclipse as the case study and check whether its architecture follows, throughout multiple releases, some principles proposed in the literature. Michel Wermelinger, Yijun Yu 0001, Angela Lozano |
ICSM | 1 |
| 2008 | 4th International ERCIM Workshop on Software Evolution and Evolvability (Evol'08)abstractProvides notice of upcoming conference events of interest to practitioners and researchers. Michel Wermelinger, Paul Wernick, Ciarán Bryce |
ASE | 1 |
| 2008 | Analyzing the evolution of eclipse pluginsabstractEclipse is a good example of a modern component-based complex system that is designed for long-term evolution, due to its architecture of reusable and extensible components. This paper presents our preliminary results about the evolution of Eclipse's architecture, based on a lightweight and scalable analysis of the metadata in Eclipse's sources. We find that the development of Eclipse follows a systematic process: most architectural changes take place in milestones, and maintenance releases only make exceptional changes to component dependencies. We also found a stable architectural core that remains since the first release. Michel Wermelinger, Yijun Yu 0001 |
MSR | 1 |
| 2007 | A Model-Driven Approach to Extract Views from an Architecture Description LanguageabstractA common approach to defining architectural views is to have independent heterogeneous representations that are tailored to each view's purpose, but this makes reconciling views into an overall architectural description harder. In this paper we put forward a complementary (not alternative) approach in which some views are derived from a given architecture description language (ADL) in a systematic way, by listing the design questions each view should answer. The approach is based on constructing the language's metamodel and extending it with the entities and associations needed to capture and explicitly relate the required views. Cristóvão Oliveira, Michel Wermelinger |
WICSA | 2 |
| 2007 | The CommUnity Workbench
Cristóvão Oliveira, Michel Wermelinger |
Sci. Comput. Program. | 2 |
| 2007 | Introduction to the special section on fundamental approaches to software engineering
Michel Wermelinger, Tiziana Margaria, Maura Cerioli |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2007 | Foreword
Maura Cerioli, Tiziana Margaria, Michel Wermelinger |
Theor. Comput. Sci. | 3 |
| 2005 | A prolog toolkit for formal languages and automataabstractThis paper describes the first version of PFLAT (read "P flat"), a collection of Prolog predicates that aims to provide a pedagogical implementation of concepts and algorithms taught in Formal Languages and Automata Theory (FLAT) courses. By ``pedagogical implementation'' we mean on the one hand that students should be able to easily map the implementation to the mathematical definitions given in lectures, and on the other hand that the toolkit should provide a library for students to implement further concepts and algorithms. In both cases the goal is to make students more confident in defining and manipulating the various kinds of languages and automata at a level beyond the one provided by visual simulators of automata. As such, PFLAT is not intended to replace but rather complement existing graphical tools. We believe the declarative, non-deterministic, and interactive nature of Prolog helps in building an executable specification of FLAT concepts and definitions that can be actively extended and explored by students, in order to achieve the stated goal. Michel Wermelinger, Artur Miguel Dias |
ITiCSE | 1 |
| 2004 | The CommUnity WorkbenchabstractCommUnity proposes a formal approach to software architecture. It uses a parallel program design language in the style of Unity programs (Chandy and Misra, 1988), combining elements from IP (Francez and Forman, 1996). The concepts of software architecture - including configuration, connection, connector, component, instantiation - are clearly defined. CommUnity was initially developed to show how programs fit into Goguen's categorical approach to general systems theory. Since then, the language and its framework have been extended to provide a formal platform for the architectural design of open and reconfigurable systems (Fiadeiro et al., 2003). This paper describes an extension of a previous demo we presented at ICSE'02 (Wermelinger and Oliveira, 2002). This extension concerns: connectors; a graphical mode to visualize and/or update interactions; an expert utility to save the whole architecture or just some connectors as a textual specification which can then be easily read without the tool; the distribution and mobility constructs. Cristóvão Oliveira, Michel Wermelinger |
ICSE | 2 |
| 2004 | An Architectural Approach to Mobility - The Handover Case StudyabstractCommunity is a formal approach to software architecture. Its main characteristics are: a precise, yet intuitive mathematical semantics based on categorical diagrams; a clear separation between computation, coordination, and distribution (including mobility); and a simple state-based language, inspired by Unity, to describe behaviour. This paper discusses the applicability of this approach to location-aware systems through the modelling of the GSM handover protocol, namely the way communication with a moving cellular phone passes from one station to another. The case study was developed with the Community Workbench, a tool that animates distributed and mobile architectural models. Cristóvão Oliveira, Michel Wermelinger, José Luiz Fiadeiro, Antónia Lopes |
WICSA | 2 |
| 2003 | High-order architectural connectorsabstractWe develop a notion of higher-order connector towards supporting the systematic construction of architectural connectors for software design. A higher-order connector takes connectors as parameters and allows for services such as security protocols and fault-tolerance mechanisms to be superposed over the interactions that are handled by the connectors passed as actual arguments. The notion is first illustrated over CommUnity, a parallel program design language that we have been using for formalizing aspects of architectural design. A formal, algebraic semantics is then presented which is independent of any Architectural Description Language. Finally, we discuss how our results can impact software design methods and tools. Antónia Lopes, Michel Wermelinger, José Luiz Fiadeiro |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2002 | Coordination for Orchestration
Luís Filipe Andrade, José Luiz Fiadeiro, João Gouveia, Georgios Koutsoukos, Michel Wermelinger |
COORDINATION | 5 |
| 2002 | The Coordination Development Environment
João Gouveia, Georgios Koutsoukos, Michel Wermelinger, Luís Filipe Andrade, José Luiz Fiadeiro |
FASE | 3 |
| 2002 | Workshop on Software Evolution through Transformations: Towards Uniform Support throughout the Software Life-Cycle
Reiko Heckel, Tom Mens, Michel Wermelinger |
ICGT | 3 |
| 2002 | Coordination contracts for Java applicationsabstractNo abstract available. João Gouveia, Georgios Koutsoukos, Michel Wermelinger, Luís Filipe Andrade, José Luiz Fiadeiro |
ICSE | 3 |
| 2002 | The community workblenchabstractNo abstract available. Michel Wermelinger, Cristóvão Oliveira |
ICSE | 1 |
| 2002 | Maintaining software through intentional source-code viewsabstractMaintaining the source code of large software systems is hard. One underlying cause is that existing modularisation mechanisms are inadequate to handle crosscutting concerns. We propose intentional source-code views as an intuitive and lightweight means of modelling such concerns. They increase our ability to understand, modularise and browse the source code by grouping together source-code entities that address the same concern. They facilitate software development and evolution, because alternative descriptions of the same intentional view can be checked for consistency and relations among intentional views can be defined and verified. Finally, they enable us to specify knowledge developers have about source code that is not captured by traditional program documentation mechanisms.Our intentional view model is implemented in a logic metaprogramming language that can reason about and manipulate object-oriented source code directly. The proposed model has been validated on the evolution of a medium-sized object-oriented application in Smalltalk, and a prototype tool has been implemented. Kim Mens, Tom Mens, Michel Wermelinger |
SEKE | 3 |
| 2002 | Architectural primitives for distribution and mobilityabstractIn this paper, we address the integration of a distribution dimension in an architectural approach to system development and evolution based on the separation between coordination and computation. This third dimension allows us to separate key concerns raised by mobility, thus contributing to our ability to handle the complexity that is inherent to systems required to operate in "Internet time and space". Antónia Lopes, José Luiz Fiadeiro, Michel Wermelinger |
SIGSOFT FSE | 3 |
| 2002 | A graph transformation approach to software architecture reconfiguration
Michel Wermelinger, José Luiz Fiadeiro |
Sci. Comput. Program. | 1 |
| 2002 | Separation of concerns for software evolutionabstractAbstract This special issue reports on approaches that apply the idea of separation of concerns to software evolution. In this context, separation of concerns allows us to separate parts of the software that exhibit different rates of change or different types of change. This makes it possible to provide better evolution support for those parts that have a higher change rate, or to provide different evolution techniques for different views on the software. Another common way to achieve separation of concerns is by raising the level of abstraction to the level of software architectures, business rules and metamodels. This makes software evolution more manageable. The above ideas emerged as important conclusions of the workshop on Formal Foundations of Software Evolution, which was co‐located with the Conference on Software Maintenance and Re‐engineering in Lisbon in March 2001. Of the 12 original position papers, five have been selected for revision and inclusion in this special issue of the Journal of Software Maintenance and Evolution. Copyright © 2002 John Wiley & Sons, Ltd. Tom Mens, Michel Wermelinger |
J. Softw. Maintenance Res. Pract. | 2 |
| 2001 | Enforcing Business Policies Through Automated ReconfigurationabstractIn this paper, we address dynamic reconfiguration from the point of view of the enforcement of the policies that organisations wish to see imposed through the way information systems support business. We address the process of evolution by proposing a primitive-coordination context-for modelling the circumstances in which reconfiguration can and should take place. The idea is for business policies to emerge as properties of process executions when controlled through the coordination contexts that will have been defined for supporting business activities. Luís Filipe Andrade, José Luiz Fiadeiro, Michel Wermelinger |
ASE | 3 |
| 2001 | A graph based architectural (Re)configuration languageabstractFor several different reasons, such as changes in the business or technological environment, the configuration of a system may need to evolve during execution. Support for such evolution can be conceived in terms of a language for specifying the dynamic reconfiguration of systems. In this paper, continuing our work on the development of a formal platform for architectural design, we present a high-level language to describe architectures and for operating changes over a configuration (i.e., an architecture instance), such as adding, removing or substituting components or interconnectons. The language follows an imperative style and builds on a semantic domain established in previous work. Therein, we model architectures through categorical diagrams and dynamic reconfiguration through algebraic graph rewriting. Michel Wermelinger, Antónia Lopes, José Luiz Fiadeiro |
ESEC / SIGSOFT FSE | 1 |
| 2000 | Patterns for Coordination
Luís Filipe Andrade, José Luiz Fiadeiro, João Gouveia, Antónia Lopes, Michel Wermelinger |
COORDINATION | 5 |
| 1998 | Connectors for Mobile ProgramsabstractSoftware architecture has put forward the concept of connector to express complex relationships between system components, thus facilitating the separation of coordination from computation. This separation is especially important in mobile computing due to the dynamic nature of the interactions among participating processes. We present connector patterns, inspired in Mobile UNITY, that describe three basic kinds of transient interactions: action inhibition, action synchronization, and message passing. The connectors are given in COMMUNITY, a UNITY-like program design language which has a semantics in category theory. We show how the categorical framework can be used for applying the proposed connectors to specific components and how the resulting architecture can be visualized by a diagram showing the components and the connectors. Michel Wermelinger, José Luiz Fiadeiro |
IEEE Trans. Software Eng. | 1 |