Dimitrios S. Kolovos

dblp:85/48 · also Dimitris S. Kolovos · DBLP profile ↗
← Back
97ranked-venue papers
15as first author
22since 2021 · last 2026
0000-0002-1724-6563ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 93 · 15 first-author · 21 since 2021Databases, data management, data science and information retrieval · 5 · 1 first-authorArtificial intelligence and machine learning · 1Security and privacy · 1 · 1 since 2021Human-computer interaction and ubiquitous computing · 1
YearPublicationVenuePosition
2026 The MDENet education platform: zero-install directed activities for learning MDE
abstract
Setting up and configuring model-driven engineering (MDE) tools is not straightforward because the MDE tooling landscape is highly fragmented and because many MDE tools are research prototypes with limited documentation. This creates significant accidental complexity for learners of MDE, who have to overcome installation and configuration hurdles before they can even begin to focus on the core MDE concepts they should be learning. This is further complicated by the complexity of modern MDE tools, which can overwhelm new learners, making it difficult for them to work out what they should do next to achieve a given goal. To address these challenges, we have developed a web-based playground platform that enables learners to engage with MDE learning activities without the need to install anything. The playground metaphor allows teachers to expose only those functionalities directly required for the completion of a particular learning activity. We present the general architecture of the platform, our approach to the declarative integration of new MDE tools, and the way in which teachers can flexibly and declaratively define new MDE learning activities. We have used our platform in a range of different contexts, from live tutorials and 10-week university courses, to developing documentation webpages for MDE tools. We describe examples of such uses, showcasing the flexible configurability of the platform for different types of activities and contexts.
Steffen Zschaler, Will Barnett, Artur Boronat, Antonio García-Domínguez, Dimitrios S. Kolovos
Softw. Syst. Model.5
2025 Hand-Written Code Preservation in Model-to-Text Transformation Using Intrinsic Redundancy
abstract
We present a novel language-agnostic approach for integrating and preserving hand-written code in files generated via model-to-text transformation. Unlike existing approaches that only support modification of generated files in predefined locations (e.g., protected regions), the proposed approach allows users to make edits anywhere within generated files. Our hand-written code preservation technique has been implemented on top of an existing model-to-text transformation language (Epsilon's EGL). The approach is illustrated in a case study involving a code generator of Sirius Web editors and is contrasted with existing approaches such as protected regions and separation of generated and non-generated code using inheritance and delegation.
Ionut Predoaia, Sultan Almutairi, Athanasios Zolotas, Antonio García-Domínguez, Dimitrios S. Kolovos
MODELS5
2024 Exploring the Impact of Source Code Linearity on the Programmers' Comprehension of API Code Examples
abstract
Context: Application Programming Interface (API) code examples are an essential knowledge resource for learning APIs. However, a few user studies have explored how the structural characteristics of the source code in code examples impact their comprehensibility and reusability.
Seham Alharbi, Dimitrios S. Kolovos
ICPC2
2024 Advancing Domain-Specific High-Integrity Model-Based Tools: Insights and Future Pathways
abstract
Rolls-Royce Control Systems supplies engine control and monitoring systems for aviation applications, and is required to design, certify, and deliver these with the highest level of safety assurance. To allow Rolls-Royce to develop these systems, which continue to increase in complexity, model-based techniques are now a critical part of the software development process. At MODELS 2021 we presented early experiences with using and maintaining a bespoke domain-specific modelling workbench based on open-source modelling technologies, including the Eclipse Modelling Framework (EMF), Xtext, Sirius, and Epsilon. In this paper, we build on our previous paper with further insights, new challenges and lessons learnt as we have advanced and matured our domain-specific solution. We also discuss our experiences with moving towards web based modelling tools based on open-source technologies including Sirius Web, Eclipse GLSP and Eclipse Theia. Rolls-Royce intends to use a selection of these technologies to build a web-based modelling workbench, which will be used to architect and integrate the software for future Rolls-Royce engine control and monitoring systems in a collaborative way.
Qurat ul ain Ali, Dimitrios S. Kolovos, Antonio García-Domínguez, Joe Newton, Piotr Zacharzewski
MODELS2
2024 Tree-Based versus Hybrid Graphical-Textual Model Editors: An Empirical Study of Testing Specifications
abstract
Tree-based model editors and hybrid graphical-textual model editors have advantages and limitations when editing domain models. Data is displayed hierarchically in tree-based model editors, whereas hybrid graphical-textual model editors capture high-level domain concepts graphically and low-level domain details textually. We conducted an empirical user study with 22 participants to evaluate the implicit assumption of system modellers that hybrid notations are superior, and to investigate the tradeoffs between the default EMF-based tree model editor and a Sirius/Xtext-based hybrid model editor. The results of the user study indicate that users largely prefer the hybrid editor and are more confident with hybrid notations for understanding the meaning of conditions. Furthermore, we found that the tree editor provided superior performance for analysing ordered lists of model elements, whereas activities requiring the comprehension or modelling of complex conditions were carried out faster through the hybrid editor.
Ionut Predoaia, James Harbin, Simos Gerasimou, Christina Vasiliou, Dimitrios S. Kolovos, Antonio García-Domínguez
MODELS5
2024 Aconite: Towards Generating Sirius-Based Graphical Editors from Annotated Metamodels
abstract
Sirius is a powerful framework for implementing graphical editors for modelling languages. Sirius can help manage model complexity by presenting the same model through multiple notations ("viewpoints" in Sirius), dedicated to different audiences and/or tasks. However, this flexibility comes at the expense of having to manually define the mapping between each viewpoint and the metamodel. This paper explores a textual notation to efficiently annotate a metamodel with such a mapping, and transform the metamodel into one or more Sirius viewpoint descriptors, with the aim to reduce the manual work required to produce and maintain Sirius-based graphical notations. We present Aconite, an open-source tool which implements this approach, and demonstrate it through the re-implementation of a common Sirius example notation, and a simplified version of a BPMN editor. Aconite includes mechanisms for automated generation of navigation expressions in common scenarios, and for inheritance of graphical styles to reduce repetition.
Nathan Richardson, Dimitrios S. Kolovos, Antonio García-Domínguez
SLE2
2024 Towards Generating Maintainable and Comprehensible API Code Examples
abstract
One of the most effective resources for learning application programming interfaces (APIs) is code examples. The shortage of such examples can pose a significant learning obstacle for API users. API users desire simple, understandable, self-contained examples that are easy to reuse in their applications. However, writing and maintaining code examples that meet the preferences of API users can be a tedious and repetitive activity for API developers. To address this issue, we present a new approach that aims to ease the writing and maintenance of code examples for API developers, while also improving learnability and comprehension for API users. The approach automatically synthesises linear and more comprehensible API code examples from less repetitive and more maintainable versions by inlining reusable utility methods. We implement this approach in a prototype for the Java programming language. We also evaluate its usefulness in terms of conciseness on a dataset of 600 API code examples extracted from nine open-source Java libraries. The results are encouraging and show that the proposed approach can reduce code repetition and bring a decrease of up to 37% in the lines of code of the evaluated API code examples.
Seham Alharbi, Dimitrios S. Kolovos, Nicholas Drivalos Matragkas
SANER2
2024 Exploring complex models with picto web
abstract
Picto Web is a multi-tenant web-based tool for complex model exploration. It can transform different types of models into a variety of transient web-based views in formats such as HTML, Graphviz and PlantUML using rule-based model-to-text transformations. Picto Web implements a lazy view computation approach to support large models and complex transformations efficiently, and includes model and transformation template monitoring and push notification facilities to automatically recompute views when either are modified and deliver updated views to clients. The tool is packaged as a Docker container for ease of deployment.
Alfa Yohannis, Dimitrios S. Kolovos, Antonio García-Domínguez
Sci. Comput. Program.2
2024 Requirements for modelling tools for teaching
abstract
Abstract Modelling is an important activity in software development and it is essential that students learn the relevant skills. Modelling relies on dedicated tools and these can be complex to install, configure, and use—distracting students from learning key modelling concepts and creating accidental complexity for teachers. To address these challenges, we believe that modelling tools specifically aimed at use in teaching are required. Based on discussions at a working session organised at MODELS 2023 and the results from an internationally shared questionnaire, we report on requirements for such modelling tools for teaching. We also present examples of existing modelling tools for teaching and how they address some of the requirements identified.
Jörg Kienzle, Steffen Zschaler, Will Barnett, Timur Saglam, Antonio Bucchiarone, Silvia Abrahão, Eugene Syriani, Dimitrios S. Kolovos, Timothy Lethbridge, Sadaf Mustafiz, Sofia Meacham
Softw. Syst. Model.8
2023 Towards Efficient Model Comparison using Automated Program Rewriting
abstract
Model comparison is a prerequisite task for several other model management tasks such as model merging, model differencing etc. We present a novel approach to efficiently compare models using programs written in a rule-based model comparison language. As the comparison is done at the model element level, and each element needs to be traversed and compared with its corresponding elements, the execution of these comparison algorithms can be computationally expensive for larger models. In this paper, we present an efficient comparison approach which provides an automated rewriting facility to compare (both homogeneous and heterogeneous) models, based on static program analysis. Using this analysis, we reduce the search space by pre-filtering/indexing model elements, before actually comparing them. Moreover, we reorder the comparison match rules according to the dependencies between these rules to reduce the cost of jumping between rules. Our experiments demonstrate that the proposed model comparison approach delivers significant performance benefits in terms of execution time compared to the default ECL execution engine.
Qurat ul ain Ali, Dimitrios S. Kolovos, Konstantinos Barmpis
SLE2
2023 Flexmi: a generic and modular textual syntax for domain-specific modelling
abstract
Abstract Domain-specific languages allow engineers and domain experts to express problems and design solutions using domain-focused vocabularies and abstractions, by means of graphical or textual syntaxes. In the case of textual syntaxes, language engineers can opt for creating a language-specific syntax by defining and maintaining a BNF-style grammar, or use an existing general-purpose reflective syntax such as the XML Metadata Interchange (XMI) or the Human Usable Textual Notation (HUTN), which do not require any development and maintenance effort, but which are more verbose and cannot be customised. We present Flexmi: a new general-purpose textual syntax for defining models that conform to Eclipse Modelling Framework’s Ecore-based metamodels. Flexmi offers XML and YAML/JSON syntax flavours, it can be fuzzily parsed to reduce verbosity, and it includes a templating system to facilitate encapsulation of reusable composite model element structures, thus enabling more concise model specifications. We have evaluated Flexmi for verbosity and model loading performance against XMI, HUTN, and a bespoke (i.e. custom) textual syntax for Ecore (Emfatic). Our results indicate that the use of fuzzy parsing and templates allow Flexmi to achieve a significant reduction in the verbosity of models compared to XMI/HUTN and can become almost as concise as a bespoke textual syntax, with a moderate performance penalty.
Dimitrios S. Kolovos, Alfonso de la Vega
Softw. Syst. Model.1
2022 Synthesising Linear API Usage Examples for API Documentation
abstract
Code examples are essential resources for learning application programming interfaces (APIs). The shortage of such examples can be a major learning obstacle for API users. Writing and maintaining effective API usage examples can also be an effort-intensive and repetitive process for API developers because API users ideally want such examples to be simple, standalone, and linear. To address these challenges, several approaches have been proposed to automatically extract API code examples from various resources and embed them into official API documents; however, little emphasis has been placed on addressing the underlying issue directly and helping API developers write and maintain API usage examples. In this paper, we present a new approach for automatically synthesising linear code examples from less repetitive versions by in-lining reusable utility methods. The proposed approach aims to benefit API developers in terms of productivity and maintainability, as well as API users in terms of API learnability and comprehension. We have implemented the proposed approach in a prototype for the Java programming language, which we also discuss in this paper.
Seham Alharbi, Dimitrios S. Kolovos, Nicholas Drivalos Matragkas
ICSME2
2022 Towards model-based bias mitigation in machine learning
abstract
Models produced by machine learning are not guaranteed to be free from bias, particularly when trained and tested with data produced in discriminatory environments. The bias can be unethical, mainly when the data contains sensitive attributes, such as sex, race, age, etc. Some approaches have contributed to mitigating such biases by providing bias metrics and mitigation algorithms. The challenge is users have to implement their code in general/statistical programming languages, which can be demanding for users with little programming and fairness in machine learning experience. We present FairML, a model-based approach to facilitate bias measurement and mitigation with reduced software development effort. Our evaluation shows that FairML requires fewer lines of code to produce comparable measurement values to the ones produced by the baseline code.
Alfa Yohannis, Dimitrios S. Kolovos
MoDELS2
2022 Selective Traceability for Rule-Based Model-to-Model Transformations
abstract
Model-to-model (M2M) transformation is a key ingredient in a typical Model-Driven Engineering workflow and there are several tailored high-level interpreted languages for capturing and executing such transformations. While these languages enable the specification of concise transformations through task-specific constructs (rules/mappings, bindings), their use can pose scalability challenges when it comes to very large models. In this paper, we present an architecture for optimising the execution of model-to-model transformations written in such a language, by leveraging static analysis and automated program rewriting techniques. We demonstrate how static analysis and dependency information between rules can be used to reduce the size of the transformation trace and to optimise certain classes of transformations. Finally, we detail the performance benefits that can be delivered by this form of optimisation, through a series of benchmarks performed with an existing transformation language (Epsilon Transformation Language - ETL) and EMF-based models. Our experiments have shown considerable performance improvements compared to the existing ETL execution engine, without sacrificing any features of the language.
Qurat ul ain Ali, Dimitrios S. Kolovos, Konstantinos Barmpis
SLE2
2022 Partial Loading of Repository-Based Models through Static Analysis
abstract
Abstract: As the size of software and system models grows, scalability issues in the current generation of model management languages (e.g. transformation, validation) and their supporting tooling become more prominent. To address this challenge, execution engines of model management programs need to become more efficient in their use of system resources. This paper presents an approach for partial loading of large models that reside in graph-database-backed model repositories. This approach leverages sophisticated static analysis of model management programs and auto-generation of graph (Cypher) queries to load only relevant model elements instead of naively loading the entire models into memory. Our experimental evaluation shows that our approach enables model management programs to process larger models, faster, and with a reduced memory footprint compared to the state of the art.
Sorour Jahanbin, Dimitrios S. Kolovos, Simos Gerasimou, Gerson Sunyé
SLE2
2022 OCR post-correction for detecting adversarial text images
Niddal H. Imam, Vassilios G. Vassilakis, Dimitrios S. Kolovos
J. Inf. Secur. Appl.3
2022 Low-code development and model-driven engineering: Two sides of the same coin?
abstract
Abstract The last few years have witnessed a significant growth of so-called low-code development platforms (LCDPs) both in gaining traction on the market and attracting interest from academia. LCDPs are advertised as visual development platforms, typically running on the cloud, reducing the need for manual coding and also targeting non-professional programmers. Since LCDPs share many of the goals and features of model-driven engineering approaches, it is a common point of debate whether low-code is just a new buzzword for model-driven technologies, or whether the two terms refer to genuinely distinct approaches. To contribute to this discussion, in this expert-voice paper, we compare and contrast low-code and model-driven approaches, identifying their differences and commonalities, analysing their strong and weak points, and proposing directions for cross-pollination.
Davide Di Ruscio, Dimitrios S. Kolovos, Juan de Lara, Alfonso Pierantonio, Massimo Tisi, Manuel Wimmer
Softw. Syst. Model.2
2022 Correction to: Low-code development and model-driven engineering: Two sides of the same coin?
abstract
3 states that "Codebots [7] uses UML to specify domain models that are consumed to automatically generate target artefacts, including complete REST APIs, client libraries, Swagger API documentation, and a JSON Schema definition for each domain object."
Davide Di Ruscio, Dimitrios S. Kolovos, Juan de Lara, Alfonso Pierantonio, Massimo Tisi, Manuel Wimmer
Softw. Syst. Model.2
2022 An efficient line-based approach for resolving merge conflicts in XMI-based models
abstract
Abstract Conflicts in software artefacts can appear during collaborative development through version control systems. When these conflicts happen in XMI models, the conflict sections generated by diff programs break the XMI serialisation and compromise the ability to use model editors that assume well-formedness of this serialisation. While these conflict sections already mark the conflicting lines of the model, current tools for conflict resolution in models ignore them and instead load the different versions of a model from the repository, over which they perform a full and costly comparison that re-identifies the conflicts. We present a novel approach that prevents this repetition of work by directly parsing XMI-based models with conflict sections, which allows for a targeted analysis of only the lines of the model that have been detected to be in conflict by the version control system. We have implemented this approach in the Peacemaker tool, which can load XMI models with conflict sections, compute and display conflicts at the model level, and provide appropriate resolution actions. Compared with state-of-the-art model comparison tools with support for conflict resolution, Peacemaker is able to identify the vast majority of conflicts in models while reducing the required time by up to 60%. The small subset of non-identified conflicts does not introduce issues into the models, e.g. there is no loss of model information, and the resulting models after line-merging these conflicts conform to their metamodels.
Alfonso de la Vega, Dimitrios S. Kolovos
Softw. Syst. Model.2
2021 Model-Based Development of Engine Control Systems: Experiences and Lessons Learnt
abstract
Rolls-Royce Control Systems supplies engine control and monitoring systems for aviation applications, and is required to design, certify, and deliver these to the highest level of safety assurance. To allow Rolls-Royce to develop safe and robust systems, which continue to increase in complexity, model-based techniques are now a critical part of the software development process. In this paper, we discuss the experiences, challenges and lessons learnt when developing a bespoke domain-specific modelling workbench based on open-source modelling technologies including the Eclipse Modelling Framework (EMF), Xtext, Sirius and Epsilon. This modelling workbench will be used to architect and integrate the software for all future Rolls-Royce engine control and monitoring systems.
Justin C. Cooper, Alfonso de la Vega, Richard F. Paige, Dimitrios S. Kolovos, Caroline Brown, Beatriz Sanchez Piña, Horacio Hoyos
MoDELS4
2021 Distributed model validation with Epsilon
abstract
Abstract Scalable performance is a major challenge with current model management tools. As the size and complexity of models and model management programs increases and the cost of computing falls, one solution for improving performance of model management programs is to perform computations on multiple computers. In this paper, we demonstrate a low-overhead data-parallel approach for distributed model validation in the context of an OCL-like language. Our approach minimises communication costs by exploiting the deterministic structure of programs and can take advantage of multiple cores on each (heterogeneous) machine with highly configurable computational granularity. Our performance evaluation shows that the implementation is extremely low overhead, achieving a speed up of 24.5 $$\times $$ × with 26 computers over the sequential case, and 122 $$\times $$ × when utilising all six cores on each computer.
Sina Madani, Dimitrios S. Kolovos, Richard F. Paige
Softw. Syst. Model.2
2021 Runtime translation of OCL-like statements on Simulink models: Expanding domains and optimising queries
abstract
Open-source model management frameworks such as OCL and ATL tend to focus on manipulating models built atop the Eclipse Modelling Framework (EMF), a de facto standard for domain specific modelling. MATLAB Simulink is a widely used proprietary modelling framework for dynamic systems that is built atop an entirely different technical stack to EMF. To leverage the facilities of open-source model management frameworks with Simulink models, these can be transformed into an EMF-compatible representation. Downsides of this approach include the synchronisation of the native Simulink model and its EMF representation as they evolve; the completeness of the EMF representation, and the transformation cost which can be crippling for large Simulink models. We propose an alternative approach to bridge Simulink models with open-source model management frameworks that uses an "on-the-fly" translation of model management constructs into MATLAB statements. Our approach does not require an EMF representation and can mitigate the cost of the upfront transformation on large models. To evaluate both approaches we measure the performance of a model validation process with Epsilon (a model management framework) on a sample of large Simulink models available on GitHub. Our previous results suggest that, with our approach, the total validation time can be reduced by up to 80%. In this paper, we expand our approach to support the management of Simulink requirements and dictionaries, and we improve the approach to perform queries on collections of model elements more efficiently. We demonstrate the use of the Simulink requirements and dictionaries with a case study and we evaluate the optimisations on collection queries with an experiment that compares the performance of a set of queries on models with different sizes. Our results suggest an improvement by up to 99% on some queries.
Beatriz Sanchez Piña, Athanasios Zolotas, Horacio Hoyos, Dimitrios S. Kolovos, Richard F. Paige, Justin C. Cooper, Jason Hampson
Softw. Syst. Model.4
2020 Empirical Analysis of 1-edit Degree Patches in Syntax-Based Automatic Program Repair
abstract
In this paper, software patches modifying a single line (aka 1-edit degree patches) of buggy Java open-source projects have been generated automatically using computational search and experimentally evaluated. We carried out the presumably largest to date experiment related to 1-edit degree patches, consisting of almost 27,000 computational jobs upper bounded with 107,000 computational hours. Our experiments show the benefits and drawbacks of such kind of patches. In particular, the search space size has been shown to be reduced by several orders of magnitude. The volume of tests that can be filtered out without any negative impact while generating 1-edit degree patches has been increased by about 97%. Finally, the effectiveness of finding 1-edit plausible patches is compared with multi-line plausible patches found with state-of-the-art syntax-based Automatic Program Repair tools. It is shown that despite patching fewer bugs in total, 1-edit degree patches have potential to patch some extra bugs.
Piotr Dziurzanski, Simos Gerasimou, Dimitrios S. Kolovos, Nicholas Drivalos Matragkas
CEC3
2020 To build, or not to build: ModelFlow, a build solution for MDE projects
abstract
Conservative execution, end-to-end traceability, and context-aware resource handling are desirable features in model management build processes. Yet, none of the existing MDE-dedicated build tools (e.g. MTC-Flow, MWE2) support such features. An initial investigation of general-purpose build tools (e.g. ANT, Gradle) to assess whether we could build a workflow engine with support for these desirable features on top of it revealed limitations that could act as roadblocks for our work. As such, we decided to design and implement a new MDE-focused build tool (ModelFlow) from scratch to avoid being constrained by assumptions and technical constraints of these tools. We evaluated whether this decision was sensible by attempting to replicate its behaviour with Gradle in a typical model-driven engineering scenario. The evaluation highlighted scenarios where Gradle could not be extended to achieve the desirable behaviour which validates the decision to not base ModelFlow on top of it.
Beatriz Sanchez Piña, Dimitrios S. Kolovos, Richard F. Paige
MoDELS2
2020 Efficient generation of graphical model views via lazy model-to-text transformation
abstract
Producing graphical views from software and system models is often desirable for communication and comprehension purposes, even when graphical model editing capabilities are not required - because the preferred editable concrete syntax of the models is text-based, or for models extracted via reverse engineering. To support such scenarios, we present a novel approach for efficient rule-based generation of transient graphical views from models using lazy model-to-text transformation, and an implementation of the proposed approach in the form of an open-source Eclipse plugin named Picro. PiCTO builds on top of mature visualisation software such as Graphviz and PlantUML and supports, among others, composite views, layers, and multi-model visualisation. We illustrate how Picto can be used to produce various forms of graphical views such as node-edge diagrams, tables and sequence-like diagrams, and we demonstrate the efficiency benefits of lazy view generation approach against batch model-to-text transformation for generating views from large models.
Dimitrios S. Kolovos, Alfonso de la Vega, Justin C. Cooper
MoDELS1
2020 Supporting robotic software migration using static analysis and model-driven engineering
abstract
The wide use of robotic systems contributed to developing robotic software highly coupled to the hardware platform running the robotic system. Due to increased maintenance cost or changing business priorities, the robotic hardware is infrequently upgraded, thus increasing the risk for technology stagnation. Reducing this risk entails migrating the system and its software to a new hardware platform. Conventional software engineering practices such as complete re-development and code-based migration, albeit useful in mitigating these obsolescence issues, they are time-consuming and overly expensive. Our RoboSMi model-driven approach supports the migration of the software controlling a robotic system between hardware platforms. First, RoboSMi executes static analysis on the robotic software of the source hardware platform to identify platform-dependent and platform-agnostic software constructs. By analysing a model that expresses the architecture of robotic components on the target platform, RoboSMi establishes the hardware configuration of those components and suggests software libraries for each component whose execution will enable the robotic software to control the components. Finally, RoboSMi through code-generation produces software for the target platform and indicates areas that require manual intervention by robotic engineers to complete the migration. We evaluate the applicability of RoboSMi and analyse the level of automation and performance provided from its use by migrating two robotic systems deployed for an environmental monitoring and a line following mission from a Propeller Activity Board to an Arduino Uno.
Sophie Wood, Nicholas Drivalos Matragkas, Dimitrios S. Kolovos, Richard F. Paige, Simos Gerasimou
MoDELS3
2020 Polyglot and Distributed Software Repository Mining with Crossflow
abstract
Mining software repositories at a large scale typically requires substantial computational and storage resources. This creates an increasing need for repository mining programs to be executed in a distributed manner, such that remote collaborators can contribute local computational and storage resources. In this paper we present Crossflow, a novel framework for building polyglot distributed repository mining programs. We demonstrate how Crossflow offers delegation of mining jobs to remote workers and can cache their results, how such workers are able to implement advanced behavior like load balancing and rejecting jobs they either cannot perform or would execute sub-optimally, and how workers of the same analysis program can be written in different programing languages like Java and Python, executing only relevant parts of the program described in that language.
Konstantinos Barmpis, Patrick Neubauer, Jonathan Co, Dimitrios S. Kolovos, Nicholas Drivalos Matragkas, Richard F. Paige
MSR4
2020 Scalable model views over heterogeneous modeling technologies and resources
Hugo Bruneliere, Florent Marchand de Kerchove, Gwendal Daniel, Sina Madani, Dimitrios S. Kolovos, Jordi Cabot
Softw. Syst. Model.5
2020 Scalable modeling technologies in the wild: an experience report on wind turbines control applications development
Abel Gómez 0001, Xabier Mendialdua, Konstantinos Barmpis, Gábor Bergmann, Jordi Cabot, Xabier De Carlos, Csaba Debreceni, Antonio Garmendia, Dimitrios S. Kolovos, Juan de Lara
Softw. Syst. Model.9
2020 Automatic generation of UML profile graphical editors for Papyrus
abstract
Abstract UML profiles offer an intuitive way for developers to build domain-specific modelling languages by reusing and extending UML concepts. Eclipse Papyrus is a powerful open-source UML modelling tool which supports UML profiling. However, with power comes complexity, implementing non-trivial UML profiles and their supporting editors in Papyrus typically requires the developers to handcraft and maintain a number of interconnected models through a loosely guided, labour-intensive and error-prone process. We demonstrate how metamodel annotations and model transformation techniques can help manage the complexity of Papyrus in the creation of UML profiles and their supporting editors. We presentJorvik, an open-source tool that implements the proposed approach. We illustrate its functionality with examples, and we evaluate our approach by comparing it against manual UML profile specification and editor implementation using a non-trivial enterprise modelling language (Archimate) as a case study. We also perform a user study in which developers are asked to produce identical editors using both Papyrus andJorvikdemonstrating the substantial productivity and maintainability benefits thatJorvikdelivers.
Athanasios Zolotas, Horacio Hoyos, Simos Gerasimou, Dimitrios S. Kolovos, Richard F. Paige
Softw. Syst. Model.5
2020 Bridging proprietary modelling and open-source model management tools: the case of PTC Integrity Modeller and Epsilon
abstract
While the majority of research on Model-Based Software Engineering revolves around open-source modelling frameworks such as the Eclipse Modelling Framework, the use of commercial and closed-source modelling tools such as RSA, Rhapsody, MagicDraw and Enterprise Architect appears to be the norm in industry at present. This technical gap can prohibit industrial users from reaping the benefits of state-of-the-art research-based tools in their practice. In this paper, we discuss an attempt to bridge a proprietary UML modelling tool (PTC Integrity Modeller), which is used for model-based development of safety-critical systems at Rolls-Royce, with an open-source family of languages for automated model management (Epsilon). We present the architecture of our solution, the challenges we encountered in developing it, and a performance comparison against the tool’s built-in scripting interface. In addition, we use the bridge in a real-world industrial case study that involves the coordination with other bridges between proprietary tools and Epsilon.
Athanasios Zolotas, Horacio Hoyos, Stuart Hutchesson, Beatriz Sanchez Piña, Alan Grigg, Mole Li, Dimitrios S. Kolovos, Richard F. Paige
Softw. Syst. Model.7
2019 Domain-specific languages for the design, deployment and manipulation of heterogeneous databases
abstract
The need for levels of availability and scalability beyond those supported by relational databases has led to the emergence of a new generation of purpose-specific databases grouped under the term NoSQL. In general, NoSQL databases are designed with horizontal scalability as a primary concern and deliver increased availability and fault tolerance at a cost of temporary inconsistency and reduced durability of data. To balance the requirements for data consistency and availability, organisations increasingly migrate towards hybrid data persistence architectures comprising both relational and NoSQL databases. The consensus is that this trend will only become stronger in the future; critical data will continue to be stored in ACID (largely relational) databases while non-critical data will be progressively migrated to high-availability NoSQL databases. Designing and deploying a hybrid data persistence architecture that involves a combination of relational and NoSQL databases is a complex, technically challenging and error-prone task. In this paper we outline a model-based methodology developed in the context of the EC-funded H2020 TYPHON project for designing, developing, querying and evolving such scalable architectures for persistence, analytics and monitoring of large volumes of hybrid (relational, graph-based, document-based, natural language, etc.) data, in a systematic and disciplined manner.
Dimitrios S. Kolovos, Fady Medhat, Richard F. Paige, Davide Di Ruscio, Tijs van der Storm, Sebastian Scholze, Athanasios Zolotas
MiSE@ICSE1
2019 On-the-Fly Translation and Execution of OCL-Like Queries on Simulink Models
abstract
MATLAB/Simulink is a tool for dynamic system modelling widely used across industries such as aerospace and automotive. Model management languages such as OCL, ATL and the languages of the Epsilon platform enable the validation, model-to-model, model-to-text transformation of models but tend to focus on the Eclipse Modelling Framework (EMF), a de facto standard for domain specific modelling. As Simulink models are built on an entirely different technical stack, the current solution to manipulate them using such languages requires their transformation into an EMF-compatible representation. This approach is expensive as (a) the cost of the transformation can be crippling for large models, (b) it requires the synchronisation of the native Simulink model and its EMF counterpart, and (c) the EMF-representation may be an incomplete copy of the model potentially hampering model management operations. In this paper we propose an alternative approach that uses the MATLAB API to bridge Simulink models with existing model management languages that relies on the "on-the-fly" translation of model management language constructs into MATLAB/Simulink commands. Our approach not only eliminates the cost of the transformation and of the co-evolution of the EMF-compatible representation but also enables full access to all the aspects of Simulink models. We evaluate the performance of both approaches using a set of model validation constraints executed on a sample of the largest Simulink models available on GitHub. Our evaluation suggests that the on-the-fly translation approach can reduce the model validation time by up to 80%.
Beatriz Sanchez Piña, Athanasios Zolotas, Horacio Hoyos, Dimitrios S. Kolovos, Richard F. Paige
MoDELS4
2019 Crossflow: a framework for distributed mining of software repositories
abstract
Large-scale software repository mining typically requires substantial storage and computational resources, and often involves a large number of calls to (rate-limited) APIs such as those of GitHub and StackOverflow. This creates a growing need for distributed execution of repository mining programs to which remote collaborators can contribute computational and storage resources, as well as API quotas (ideally without sharing API access tokens or credentials). In this paper we introduce Crossflow, a novel framework for building distributed repository mining programs. We demonstrate how Crossflow can delegate mining jobs to remote workers and cache their results, and how workers can implement advanced behaviour such as load balancing and rejecting jobs they cannot perform (e.g. due to lack of space, credentials for a specific API).
Dimitrios S. Kolovos, Patrick Neubauer, Konstantinos Barmpis, Nicholas Drivalos Matragkas, Richard F. Paige
MSR1
2019 ModelFlow: towards reactive model management workflows
abstract
In this paper we propose a domain specific language that enables the description and execution of model management workflows. Our language declares tasks and resources involved in a multi-step model management process and resolves the execution behaviour and order based on dependencies among these components. We describe the abstract and a concrete syntax of the language along with its execution semantics. Then, we demonstrate how the language interpreter can orchestrate and execute a selection model management tasks through a case study of a workflow that generates a graphical editor from a metamodel.
Beatriz Sanchez Piña, Dimitrios S. Kolovos, Richard F. Paige
DSM@SPLASH2
2019 Scaling-up domain-specific modelling languages through modularity services
Antonio Garmendia, Esther Guerra, Juan de Lara, Antonio García-Domínguez, Dimitrios S. Kolovos
Inf. Softw. Technol.5
2019 Stress-testing remote model querying APIs for relational and graph-based stores
abstract
Recent research in scalable model-driven engineering now allows very large models to be stored and queried. Due to their size, rather than transferring such models over the network in their entirety, it is typically more efficient to access them remotely using networked services (e.g. model repositories, model indexes). Little attention has been paid so far to the nature of these services, and whether they remain responsive with an increasing number of concurrent clients. This paper extends a previous empirical study on the impact of certain key decisions on the scalability of concurrent model queries on two domains, using an Eclipse Connected Data Objects model repository, four configurations of the Hawk model index and a Neo4j-based configuration of the NeoEMF model store. The study evaluates the impact of the network protocol, the API design, the caching layer, the query language and the type of database and analyses the reasons for their varying levels of performance. The design of the API was shown to make a bigger difference compared to the network protocol (HTTP/TCP) used. Where available, the query-specific indexed and derived attributes in Hawk outperformed the comprehensive generic caching in CDO. Finally, the results illustrate the still ongoing evolution of graph databases: two tools using different versions of the same backend had very different performance, with one slower than CDO and the other faster than it.
Antonio García-Domínguez, Konstantinos Barmpis, Dimitrios S. Kolovos, Richard F. Paige
Softw. Syst. Model.3
2019 Incremental execution of model-to-text transformations using property access traces
Babajide Ogunyomi, Louis M. Rose, Dimitrios S. Kolovos
Softw. Syst. Model.3
2019 Type inference in flexible model-driven engineering using classification algorithms
abstract
Flexible or bottom-up model-driven engineering (MDE) is an emerging approach to domain and systems modelling. Domain experts, who have detailed domain knowledge, typically lack the technical expertise to transfer this knowledge using traditional MDE tools. Flexible MDE approaches tackle this challenge by promoting the use of simple drawing tools to increase the involvement of domain experts in the language definition process. In such approaches, no metamodel is created upfront, but instead the process starts with the definition of example models that will be used to infer the metamodel. Pre-defined metamodels created by MDE experts may miss important concepts of the domain and thus restrict their expressiveness. However, the lack of a metamodel, that encodes the semantics of conforming models has some drawbacks, among others that of having models with elements that are unintentionally left untyped. In this paper, we propose the use of classification algorithms to help with the inference of such untyped elements. We evaluate the proposed approach in a number of random generated example models from various domains. The correct type prediction varies from 23 to 100% depending on the domain, the proportion of elements that were left untyped and the prediction algorithm used.
Athanasios Zolotas, Nicholas Drivalos Matragkas, Sam Devlin, Dimitrios S. Kolovos, Richard F. Paige
Softw. Syst. Model.4
2018 Towards a Framework for Writing Executable Natural Language Rules
Konstantinos Barmpis, Dimitrios S. Kolovos, Justin Hingorani
ECMFA2
2018 Parallel Model Validation with Epsilon
Sina Madani, Dimitrios S. Kolovos, Richard F. Paige
ECMFA2
2018 Towards Efficient Loading of Change-Based Models
Alfa Yohannis, Horacio Hoyos, Fiona A. C. Polack, Dimitrios S. Kolovos
ECMFA4
2018 Towards Automatic Generation of UML Profile Graphical Editors for Papyrus
Athanasios Zolotas, Simos Gerasimou, Horacio Hoyos, Dimitrios S. Kolovos, Richard F. Paige
ECMFA5
2018 Restmule: enabling resilient clients for remote APIs
abstract
Mining data from remote repositories, such as GitHub and StackExchange, involves the execution of requests that can easily reach the limitations imposed by the respective APIs to shield their services from overload and abuse. Therefore, data mining clients are left alone to deal with such protective service policies which usually involves an extensive amount of manual implementation effort. In this work we present RestMule, a framework for handling various service policies, such as limited number of requests within a period of time and multi-page responses, by generating resilient clients that are able to handle request rate limits, network failures, response caching, and paging in a graceful and transparent manner. As a result, RestMule clients generated from OpenAPI specifications (i.e. standardized REST API descriptors), are suitable for intensive data-fetching scenarios. We evaluate our framework by reproducing an existing repository mining use case and comparing the results produced by employing a popular hand-written client and a RestMule client.
Beatriz Sanchez Piña, Konstantinos Barmpis, Patrick Neubauer, Richard F. Paige, Dimitrios S. Kolovos
MSR5
2017 On the Opportunities of Scalable Modeling Technologies: An Experience Report on Wind Turbines Control Applications Development
Abel Gómez 0001, Xabier Mendialdua, Gábor Bergmann, Jordi Cabot, Csaba Debreceni, Antonio Garmendia, Dimitrios S. Kolovos, Juan de Lara, Salvador Trujillo
ECMFA7
2017 The Epsilon Pattern Language
abstract
We present the Epsilon Pattern Language (EPL), a textual language that supports expressing and detecting patterns on models conforming to arbitrary metamodels and captured using diverse modelling technologies. EPL provides out-of-the-box integration with existing languages that target a wide range of related model management activities (such as model validation, model-to-model and model-to-text transformation), thus enabling code reuse and seamless runtime interoperability across complex Model-Driven Engineering workflows. We discuss the syntax and semantics of EPL, its supporting development tools, and demonstrate how instances of patterns detected using EPL can be consumed and further processed by other model management programs.
Dimitrios S. Kolovos, Richard F. Paige
MiSE@ICSE1
2017 Bridging Proprietary Modelling and Open-Source Model Management Tools: The Case of PTC Integrity Modeller and Epsilon
abstract
While the majority of research on Model-Based Software Engineering revolves around open-source modelling frameworks such as EMF, the use of commercial and closed-source modelling tools such as RSA, Rhapsody, MagicDraw and PTC Integrity Modeller appears to be the norm in industry at present. This technical gap can prohibit industrial users from reaping the benefits of state-of-the-art research-based tools in their practice. In this paper, we discuss an attempt to bridge a proprietary UML modelling tool (PTC Integrity Modeller), which is used for model-based development of safety-critical systems at Rolls-Royce, with an open-source family of languages for automated model management (Epsilon). We present the architecture of our solution, the challenges we encountered in developing it, and a performance comparison against the tool's built-in scripting interface.
Athanasios Zolotas, Horacio Hoyos, Dimitrios S. Kolovos, Richard F. Paige, Stuart Hutchesson
MoDELS3
2017 Constraint programming for type inference in flexible model-driven engineering
abstract
Domain experts typically have detailed knowledge of the concepts that are used in their domain; however they often lack the technical skills needed to translate that knowledge into model-driven engineering (MDE) idioms and technologies. Flexible or bottom-up modelling has been introduced to assist with the involvement of domain experts by promoting the use of simple drawing tools. In traditional MDE the engineering process starts with the definition of a metamodel which is used for the instantiation of models. In bottom-up MDE example models are defined at the beginning, letting the domain experts and language engineers focus on expressing the concepts rather than spending time on technical details of the metamodelling infrastructure. The metamodel is then created manually or inferred automatically. The flexibility that bottom-up MDE offers comes with the cost of having nodes in the example models left untyped. As a result, concepts that might be important for the definition of the domain will be ignored while the example models cannot be adequately re-used in future iterations of the language definition process. In this paper, we propose a novel approach that assists in the inference of the types of untyped model elements using Constraint Programming. We evaluate the proposed approach in a number of example models to identify the performance of the prediction mechanism and the benefits it offers. The reduction in the effort needed to complete the missing types reaches up to 91.45% compared to the scenario where the language engineers had to identify and complete the types without guidance.
Athanasios Zolotas, Robert Clarisó, Nicholas Drivalos Matragkas, Dimitrios S. Kolovos, Richard F. Paige
Comput. Lang. Syst. Struct.4
2017 Model-based tool support for Tactical Data Links: an experience report from the defence domain
Suraj Ajit, Chris Holmes 0002, Julian Johnson, Dimitrios S. Kolovos, Richard F. Paige
Softw. Syst. Model.4
2017 Eugenia: towards disciplined and automated development of GMF-based graphical model editors
Dimitrios S. Kolovos, Antonio García-Domínguez, Louis M. Rose, Richard F. Paige
Softw. Syst. Model.1
2016 Stress-Testing Centralised Model Stores
Antonio García-Domínguez, Konstantinos Barmpis, Dimitrios S. Kolovos, Richard F. Paige
ECMFA3
2016 Integration of a graph-based model indexer in commercial modelling tools
Antonio García-Domínguez, Konstantinos Barmpis, Dimitrios S. Kolovos, Marcos Aurélio Almeida da Silva, Antonin Abherve, Alessandra Bagnato
MoDELS3
2016 Partial loading of XMI models
Dimitrios S. Kolovos, Antonio García-Domínguez, Konstantinos Barmpis, Richard F. Paige
MoDELS2
2015 Towards Incremental Updates in Large-Scale Model Indexes
Konstantinos Barmpis, Seyyed M. Shah, Dimitrios S. Kolovos
ECMFA3
2015 Property Access Traces for Source Incremental Model-to-Text Transformation
Babajide Ogunyomi, Louis M. Rose, Dimitrios S. Kolovos
ECMFA3
2015 Type Inference in Flexible Model-Driven Engineering
Athanasios Zolotas, Nicholas Drivalos Matragkas, Sam Devlin, Dimitrios S. Kolovos, Richard F. Paige
ECMFA4
2015 OSSMETER: a software measurement platform for automatically analysing open source software projects
abstract
Deciding whether an open source software (OSS) project meets the required standards for adoption in terms of quality, maturity, activity of development and user support is not a straightforward process as it involves exploring various sources of information. Such sources include OSS source code repositories, communication channels such as newsgroups, forums, and mailing lists, as well as issue tracking systems. OSSMETER is an extensible and scalable platform that can monitor and incrementally analyse a large number of OSS projects. The results of this analysis can be used to assess various aspects of OSS projects, and to directly compare different OSS projects with each other.
Davide Di Ruscio, Dimitrios S. Kolovos, Ioannis Korkontzelos, Nicholas Drivalos Matragkas, Jurgen J. Vinju
ESEC/SIGSOFT FSE2
2015 Guest editors' introduction to the fifth issue of Experimental Software and Toolkits (EST): A special issue on Academics Modelling with Eclipse (ACME2012)
Mark van den Brand, Davide Di Ruscio, Dimitrios S. Kolovos, Louis M. Rose
Sci. Comput. Program.3
2015 Formal verification and validation of embedded systems: the UML-based MADES approach
Luciano Baresi, Gundula Blohm, Dimitrios S. Kolovos, Nicholas Drivalos Matragkas, Alfredo Motta, Richard F. Paige, Alek Radjenovic, Matteo G. Rossi
Softw. Syst. Model.3
2014 Resource Requirement Analysis for Web Applications Running in a Virtualised Environment
abstract
Analysis of resource usage and precise correlation with the workload that triggered it is essential in order to conduct capacity planning in computing environments. Virtualisation enables resource optimisation and is widely used in grid, cluster and cloud computing. We present an automated approach for resource usage analysis in a virtualised environment that can support capacity planning for web applications. The approach uses Domain Specific Modelling Languages (DSMLs) and model management techniques, which support tool interoperation and provide precise ways for describing resource and request logs and requirements, and automatically generate different outputs that feed into the capacity planning process. The approach is demonstrated using a proof-of-concept example involving a media streaming web application, and the results of the analysis are presented and discussed.
Rafidah Pakir Mohamad, Dimitrios S. Kolovos, Richard F. Paige
CloudCom2
2014 Towards Scalable Querying of Large-Scale Models
Konstantinos Barmpis, Dimitrios S. Kolovos
ECMFA2
2014 Model Driven Grant Proposal Engineering
Dimitrios S. Kolovos, Nicholas Drivalos Matragkas, James R. Williams, Richard F. Paige
MoDELS1
2014 On the Use of Signatures for Source Incremental Model-to-text Transformation
Babajide Ogunyomi, Louis M. Rose, Dimitrios S. Kolovos
MoDELS3
2014 A Framework to Benchmark NoSQL Data Stores for Large-Scale Model Persistence
Seyyed M. Shah, Dimitrios S. Kolovos, Louis M. Rose, Richard F. Paige, Konstantinos Barmpis
MoDELS3
2014 Analysing the 'biodiversity' of open source ecosystems: the GitHub case
abstract
In nature the diversity of species and genes in ecological communities affects the functioning of these communities. Biologists have found out that more diverse communities appear to be more productive than less diverse communities. Moreover such communities appear to be more stable in the face of perturbations. In this paper, we draw the analogy between ecological communities and Open Source Software (OSS) ecosystems, and we investigate the diversity and structure of OSS communities. To address this question we use the MSR 2014 challenge dataset, which includes data from the top-10 software projects for the top programming languages on GitHub. Our findings show that OSS communities on GitHub consist of 3 types of users (core developers, active users, passive users). Moreover, we show that the percentage of core developers and active users does not change as the project grows and that the majority of members of large projects are passive users.
Nicholas Drivalos Matragkas, James R. Williams, Dimitrios S. Kolovos, Richard F. Paige
MSR3
2014 Models of OSS project meta-information: a dataset of three forges
abstract
The process of selecting open-source software (OSS) for adoption is not straightforward as it involves exploring various sources of information to determine the quality, maturity, activity, and user support of each project. In the context of the OSSMETER project, we have developed a forge-agnostic metamodel that captures the meta-information common to all OSS projects. We specialise this metamodel for popular OSS forges in order to capture forge-specific meta-information. In this paper we present a dataset conforming to these metamodels for over 500,000 OSS projects hosted on three popular OSS forges: Eclipse, SourceForge, and GitHub. The dataset enables different kinds of automatic analysis and supports objective comparisons of cross-forge OSS alternatives with respect to a user's needs and quality requirements.
James R. Williams, Davide Di Ruscio, Nicholas Drivalos Matragkas, Juri Di Rocco, Dimitrios S. Kolovos
MSR5
2014 A tutorial on metamodelling for grammar researchers
Richard F. Paige, Dimitrios S. Kolovos, Fiona A. C. Polack
Sci. Comput. Program.2
2014 Epsilon Flock: a model migration language
Louis M. Rose, Dimitrios S. Kolovos, Richard F. Paige, Fiona A. C. Polack, Simon M. Poulding
Softw. Syst. Model.2
2013 Adding Spreadsheets to the MDE Toolkit
Martins Francis, Dimitrios S. Kolovos, Nicholas Drivalos Matragkas, Richard F. Paige
MoDELS2
2013 Engineering model transformations with transML
Esther Guerra, Juan de Lara, Dimitrios S. Kolovos, Richard F. Paige, Osmar Marchi dos Santos
Softw. Syst. Model.3
2013 Genericity for model management operations
Louis M. Rose, Esther Guerra, Juan de Lara, Anne Etien, Dimitrios S. Kolovos, Richard F. Paige
Softw. Syst. Model.5
2012 Solving Acquisition Problems Using Model-Driven Engineering
Frank R. Burton, Richard F. Paige, Louis M. Rose, Dimitrios S. Kolovos, Simon M. Poulding
ECMFA4
2012 A Lightweight Approach for Managing XML Documents with MDE Languages
Dimitrios S. Kolovos, Louis M. Rose, James R. Williams, Nicholas Drivalos Matragkas, Richard F. Paige
ECMFA1
2012 MADES: A Tool Chain for Automated Verification of UML Models of Embedded Systems
Alek Radjenovic, Nicholas Drivalos Matragkas, Richard F. Paige, Matteo G. Rossi, Alfredo Motta, Luciano Baresi, Dimitrios S. Kolovos
ECMFA7
2012 A feature model for model-to-text transformation languages
abstract
Model-to-text (M2T) transformation is an important model management operation, as it is used to implement code and documentation generation; model serialisation (enabling model interchange); and model visualisation and exploration. Despite the creation of the MOF Model-To-Text Transformation Language (MOFM2T) in 2008, many very different M2T languages exist today. Because there is little interoperability between M2T languages and rewriting an existing M2T transformation in a new language is costly, developers face a difficult choice when selecting a M2T language. In this paper, we use domain analysis to identify a preliminary feature model for M2T languages. We demonstrate the appropriateness of the feature model by describing two different M2T languages, and discuss potential applications for a tool-supported and model-driven approach to describing the features of M2T languages.
Louis M. Rose, Nicholas Drivalos Matragkas, Dimitrios S. Kolovos, Richard F. Paige
MiSE3
2012 Metamodelling for Grammarware Researchers
Richard F. Paige, Dimitrios S. Kolovos, Fiona A. C. Polack
SLE2
2011 Integrated Model Management with Epsilon
Dimitrios S. Kolovos, Richard F. Paige, Louis M. Rose, James R. Williams
ECMFA1
2011 EUnit: A Unit Testing Framework for Model Management Tasks
Antonio García-Domínguez, Dimitrios S. Kolovos, Louis M. Rose, Richard F. Paige, Inmaculada Medina-Bulo
MoDELS2
2011 Rigorous identification and encoding of trace-links in model-driven engineering
Richard F. Paige, Nicholas Drivalos Matragkas, Dimitrios S. Kolovos, Kiran Jude Fernandes 0001, Christopher Power, Gøran K. Olsen, Steffen Zschaler
Softw. Syst. Model.3
2010 A Reflective Approach to Model-Driven Web Engineering
Darren Clowes, Dimitrios S. Kolovos, Chris Holmes 0002, Louis M. Rose, Richard F. Paige, Julian Johnson, Ray Dawson, Steve G. Probets
ECMFA2
2010 Concordance: A Framework for Managing Model Integrity
Louis M. Rose, Dimitrios S. Kolovos, Nicholas Drivalos Matragkas, James R. Williams, Richard F. Paige, Fiona A. C. Polack, Kiran Jude Fernandes 0001
ECMFA2
2010 Inter-modelling: From Theory to Practice
Esther Guerra, Juan de Lara, Dimitrios S. Kolovos, Richard F. Paige
MoDELS (1)3
2010 transML: A Family of Languages to Model Model Transformations
Esther Guerra, Juan de Lara, Dimitrios S. Kolovos, Richard F. Paige, Osmar Marchi dos Santos
MoDELS (1)3
2010 Taming EMF and GMF Using Model Transformation
Dimitrios S. Kolovos, Louis M. Rose, Saad bin Abid, Richard F. Paige, Fiona A. C. Polack, Goetz Botterweck
MoDELS (1)1
2010 A Comparison of Model Migration Tools
Louis M. Rose, Markus Herrmannsdoerfer, James R. Williams, Dimitrios S. Kolovos, Kelly Garcés, Richard F. Paige, Fiona A. C. Polack
MoDELS (1)4
2010 A Visual Specification Language for Model-to-Model Transformations
abstract
Model Driven Engineering promotes models as the core assets of projects and hence model transformations become first-class citizens in this approach. Likewise, the development of large scale transformations necessitates a systematic engineering process and supporting modelling notations. However, although many languages have been proposed to implement transformations, few allow their specification at a higher level of abstraction. In this paper we present a visual, formal, declarative specification language to express model-to-model transformations and their correctness properties. The language supports the two main approaches to model-to-model transformation -- trace-based and traceless -- with a unified formal semantics. Moreover, we provide a compilation of specifications into OCL as this has many practical applications, e.g. it allows injecting assertions and correctness properties for automated testing of transformation implementations based on OMG standards.
Esther Guerra, Juan de Lara, Dimitrios S. Kolovos, Richard F. Paige
VL/HCC3
2009 The Design of a Conceptual Framework and Technical Infrastructure for Model Management Language Engineering
abstract
Model management is the discipline of managing artefacts used in Model-Driven Engineering (MDE). A model management framework defines and implements the operations (such as transformation or code generation) required to manipulate MDE artefacts. Modern approaches to model management generally implement these operations via domain-specific languages (DSLs). This paper presents and compares the principles behind three approaches to implementing DSLs for model management and identifies some of the key differences between DSL engineering in general and for model management. It then shows how theory relates to practice by illustrating how DSL design and implementation approaches have been used in practice to build working languages from the Epsilon model management framework. A set of questions for guiding the development of new model management DSLs is summarised, and data on development costs for the different approaches is presented.
Richard F. Paige, Dimitrios S. Kolovos, Louis M. Rose, Nicholas Drivalos Matragkas, Fiona A. C. Polack
ICECCS2
2009 Raising the level of abstraction in the development of GMF-based graphical model editors
abstract
The Eclipse graphical modeling framework (GMF) provides substantial infrastructure and tooling for developing diagram-based editors for modelling languages atop the Eclipse platform. It is widely accepted that implementing a visual editor using the built-in GMF facilities is a particularly complex and error-prone task and requires a steep learning curve. We present an approach that raises the level of abstraction at which a visual editor is specified. The approach uses annotations at the metamodel level. Annotations are used for producing the required low-level intermediate GMF models necessary for generating an editor via model-to-model transformations.
Dimitrios S. Kolovos, Louis M. Rose, Richard F. Paige, Fiona A. C. Polack
MiSE@ICSE1
2009 Enhanced Automation for Managing Model and Metamodel Inconsistency
abstract
Model-driven engineering (MDE) introduces additional challenges for managing evolution. For example, a metamodel change may affect instance models. Existing tool supported approaches for updating models in response to a metamodel change assume extra effort from metamodel developers. When no existing approach is applicable, metamodel users must update their models manually, an error prone and tedious task. In this paper, we describe the technical challenges faced when using the eclipse modeling framework (EMF) and existing approaches for updating models in response to a metamodel change. We then motivate and describe alternative techniques, including: a mechanism for loading, storing and manipulating inconsistent models; a mapping of inconsistent models to a human-usable notation for semi-automated and collaborative co-evolution; and integration with an inter-model reference manager, achieving automatic consistency checking as part of metamodel distribution.
Louis M. Rose, Dimitrios S. Kolovos, Richard F. Paige, Fiona A. C. Polack
ASE2
2009 Abstracting Complex Languages through Transformation and Composition
Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige
MoDELS5
2009 Domain-Specific Metamodelling Languages for Software Language Engineering
Steffen Zschaler, Dimitrios S. Kolovos, Nicholas Drivalos Matragkas, Richard F. Paige, Awais Rashid
SLE2
2008 Novel features in languages of the epsilon model management platform
abstract
We present a set of novel features that we have recently incorporated to model management languages of the Epsilon platform. We provide a detailed discussion on the usefulness of each feature and present motivating scenarios that highlight the benefits they deliver to programmatic model management.
Dimitrios S. Kolovos, Richard F. Paige, Fiona A. C. Polack
MiSE1
2008 Detecting and Repairing Inconsistencies across Heterogeneous Models
abstract
With the advent of domain specific languages for model engineering, detecting inconsistencies between models is becoming increasingly challenging. Nowadays, it is not uncommon for models participating in the same development process to be captured using different modelling languages and even different modelling technologies. We present a classification of the types of relationships that can arise between models participating in a software development process and outline the types of inconsistencies each relationship can suffer from. From this classification we identify a set of requirements for a generic inconsistency detection and reconciliation mechanism and use a case study to demonstrate how those requirements are implemented in the Epsilon validation language (EVL), a task-specific language developed in the context of the Epsilon GMT component.
Dimitrios S. Kolovos, Richard F. Paige, Fiona A. C. Polack
ICST1
2008 Constructing Models with the Human-Usable Textual Notation
Louis M. Rose, Richard F. Paige, Dimitrios S. Kolovos, Fiona A. C. Polack
MoDELS3
2008 Engineering a DSL for Software Traceability
Nicholas Drivalos Matragkas, Dimitrios S. Kolovos, Richard F. Paige, Kiran Jude Fernandes 0001
SLE2
2006 Merging Models with the Epsilon Merging Language (EML)
Dimitrios S. Kolovos, Richard F. Paige, Fiona A. C. Polack
MoDELS1
2005 An Agile and Extensible Code Generation Framework
Dimitrios S. Kolovos, Richard F. Paige, Fiona A. C. Polack
XP1