We are a group of 36 researchers in the Department of Computer Science at the University of York, developing ground-breaking methods and tools for automated analysis, design, development, deployment, and management of complex software-intensive systems. We collaborate closely with companies such as Rolls-Royce, IBM, Altran, and Volkswagen on projects co-funded by the European Commission, RCUK, InnovateUK and DSTL.
![]() |
Professor Dimitris Kolovos |
Model-based software engineering, software repository mining and big-data persistence and processing architectures. |
![]() |
Professor Richard Paige |
Model-based software engineering, agile development, service-oriented architectures, formal methods, object-oriented programming, systems engineering. |
![]() |
Dr Radu Calinescu |
Formal methods for adaptive, autonomic, secure and dependable IT systems, automated, model- and metadata-driven software engineering, formal specification, modelling and verification. Leading the Trustworthy Adaptive and Autonomous Systems & Processes team. |
![]() |
Dr Javier Camara Moreno |
Software engineering, self-adaptive systems, software architectures, applied formal methods, cyber-physical systems. |
![]() |
Dr Nicholas Matragkas |
Model-based software engineering, software repository mining and software testing. |
![]() |
Dr Simos Gerasimou |
Self-adaptive and autonomous systems with a focus on methods that enable dependable system adaptation, runtime quantitative verification, search-based software engineering, model-driven engineering, robotics and artificial intelligence. |
![]() |
Dr Thanos Zolotas |
Model-based software engineering, big data architectures |
![]() |
Dr Kostas Barmpis |
Model-based software engineering, mining software repositories. |
![]() |
Dr Colin Paterson |
Tool-supported formal approaches for engineering of adaptive and autonomous systems and processes, probabilistic model checking. |
![]() |
Patrick Neubauer |
Model-based software engineering, mining software repositories. |
![]() |
Dr Alfa Yohannis |
Model-based software engineering, change-based model persistence. |
![]() |
Justin Cooper |
Domain-specific languages, embedded at Rolls-Royce. |
![]() |
Jon Co |
Model-based spreadsheet analysis, embedded at IBM. |
![]() |
Betty Sanchez |
Model-based software engineering, Simulink, reactive modelling workflows. |
![]() |
Sultan Almutairi |
Model-based software engineering, model-to-text transformation. |
![]() |
Nikos Fountoulakis |
Software repository mining, code repository indexing. |
![]() |
Qurat Ul Ain Ali |
Low-code software engineering |
![]() |
Sorour Jahanbin |
Low-code software engineering |
![]() |
Panagiotis Kourouklidis |
Low-code software engineering for machine learning |
![]() |
Emad Alharbi |
Metaheuristics for protein model synthesis from electron-density maps. |
![]() |
Ana Markovic |
Multi-language distributed stream processing |
![]() |
Premathas Somasekaram |
Autonomous systems, cloud computing, high availability cluster and grid computing, machine learning, statistical analysis, Bayesian networks. |
![]() |
Ioannis Stefanakos |
Formal methods, model-driven software engineering |
![]() |
Saud Yonbawi |
Self-adaptation in distributed systems, runtime quantitative verification. |
Title of host publication | 13th International Conference on Agents and Artificial Intelligence |
---|---|
Date | Accepted/In press (current) - 12 Nov 2020 |
Date | Published - Feb 2021 |
Original language | English |
Title of host publication | Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings |
---|---|
Date | Accepted/In press - 22 Aug 2020 |
Date | Published (current) - 27 Oct 2020 |
Publisher | Association for Computing Machinery (ACM) |
Place of Publication | New York, NY, USA |
Original language | English |
ISBN (Print) | 9781450381352 |
Name | MODELS '20 |
---|---|
Publisher | Association for Computing Machinery |
Title of host publication | ACM / IEEE 23rd International Conference on Model Driven Engineering Languages and Systems (MODELS) |
---|---|
Date | Accepted/In press - 2020 |
Date | Published (current) - 18 Oct 2020 |
Number of pages | 8 |
Original language | English |
© 2020 Association for Computing Machinery. This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for details.
Title of host publication | Proceedings - 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2020 |
---|---|
Date | Published - 16 Oct 2020 |
Pages | 1-11 |
Number of pages | 11 |
Publisher | Association for Computing Machinery, Inc |
Original language | English |
ISBN (Electronic) | 9781450370196 |
Name | Proceedings - 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2020 |
---|
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.
Title of host publication | MSR '20: Proceedings of the 17th International Conference on Mining Software Repositories |
---|---|
Date | Published - Oct 2020 |
Pages | 374-384 |
Number of pages | 11 |
Original language | English |
Journal | Software and Systems Modeling |
---|---|
Date | Accepted/In press - 10 Jun 2020 |
Date | Published (current) - 11 Aug 2020 |
Number of pages | 24 |
Original language | English |
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 present Jorvik, 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 and Jorvik demonstrating the substantial productivity and maintainability benefits that Jorvik delivers.
© The Author(s) 2020
Title of host publication | ACM/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems (MODELS ’20) |
---|---|
Date | Accepted/In press - 13 Jul 2020 |
Original language | English |
This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for details.
Title of host publication | ACM/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems (MODELS ’20) |
---|---|
Date | Accepted/In press - 13 Jul 2020 |
Original language | English |
Title of host publication | IEEE Congress on Evolutionary Computation |
---|---|
Date | Accepted/In press - 20 Mar 2020 |
Original language | English |
Journal | Software and Systems Modeling |
---|---|
Date | Accepted/In press - 1 Jan 2020 |
Date | Published (current) - 18 May 2020 |
Original language | English |
Journal | Software and Systems Modeling |
---|---|
Date | Accepted/In press - 4 Dec 2019 |
Date | Published (current) - 1 Jan 2020 |
Issue number | 1 |
Volume | 19 |
Number of pages | 9 |
Pages (from-to) | 5-13 |
Original language | English |
In 2017 and 2018, two events were held—in Marburg, Germany, and San Vigilio di Marebbe, Italy, respectively—focusing on an analysis of the state of research, state of practice, and state of the art in model-driven engineering (MDE). The events brought together experts from industry, academia, and the open-source community to assess what has changed in research in MDE over the last 10 years, what challenges remain, and what new challenges have arisen. This article reports on the results of those meetings, and presents a set of grand challenges that emerged from discussions and synthesis. These challenges could lead to research initiatives for the community going forward.
© The Author(s) 2020
Title of host publication | Proceedings of the 25th International Conference on Engineering of Complex Computer Systems (ICECCS) |
---|---|
Date | Published - 28 Oct 2020 |
Original language | English |
Journal | Acta Crystallographica Section D: Structural Biology |
---|---|
Date | Accepted/In press - 31 Jul 2020 |
Date | E-pub ahead of print - 19 Aug 2020 |
Date | Published (current) - 1 Sep 2020 |
Issue number | 9 |
Volume | 76 |
Number of pages | 10 |
Pages (from-to) | 814-823 |
Early online date | 19/08/20 |
Original language | English |
For the last two decades, researchers have worked independently to automate protein model building, and four widely used software pipelines have been developed for this purpose: ARP/wARP, Buccaneer, Phenix AutoBuild and SHELXE. Here, the usefulness of combining these pipelines to improve the built protein structures by running them in pairwise combinations is examined. The results show that integrating these pipelines can lead to significant improvements in structure completeness and Rfree. In particular, running Phenix AutoBuild after Buccaneer improved structure completeness for 29% and 75% of the data sets that were examined at the original resolution and at a simulated lower resolution, respectively, compared with running Phenix AutoBuild on its own. In contrast, Phenix AutoBuild alone produced better structure completeness than the two pipelines combined for only 7% and 3% of these data sets.
Title of host publication | Proceeding of the 25th International Conference on Engineering of Complex Computer Systems (ICECCS 2020) |
---|---|
Date | Accepted/In press - 2 Aug 2020 |
Number of pages | 6 |
Original language | English |
Title of host publication | 1st IEEE International Conference on Autonomic Computing and Self-Organizing Systems |
---|---|
Date | Accepted/In press - 21 Jun 2020 |
Date | Published (current) - 17 Jul 2020 |
Original language | English |
This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for details.
Journal | IEEE Transactions on Software Engineering |
---|---|
Date | Accepted/In press - 26 Jul 2018 |
Date | E-pub ahead of print - 7 Aug 2018 |
Date | Published (current) - 1 May 2020 |
Issue number | 5 |
Volume | 46 |
Pages (from-to) | 526-548 |
Early online date | 7/08/18 |
Original language | English |
© IEEE, 2018. This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for details
Title of host publication | 23rd International Conference on Fundamental Approaches to Software Engineering |
---|---|
Date | Accepted/In press - 20 Dec 2019 |
Date | E-pub ahead of print (current) - 17 Mar 2020 |
Pages | 357-377 |
Number of pages | 21 |
Original language | English |
© The Author(s) 2020.
Title of host publication | Proceedings of the Workshop on Artificial Intelligence Safety (SafeAI 2020) |
---|---|
Date | Published - 27 Feb 2020 |
Pages | 23-30 |
Publisher | CEUR Workshop Proceedings |
Original language | English |
Name | CEUR Workshop Proceedings |
---|---|
Volume | 2560 |
ISSN (Electronic) | 1613-0073 |
© 2020 for this paper by its authors.
Title of host publication | 35th IEEE/ACM International Conference on Automated Software Engineering |
---|---|
Date | Accepted/In press - 30 Jul 2020 |
Date | Published (current) - 2020 |
Original language | English |
Title of host publication | 42nd International Conference on Software Engineering |
---|---|
Date | Accepted/In press - 9 Dec 2019 |
Date | Published (current) - 2020 |
Original language | English |
Journal | CEUR Workshop Proceedings |
---|---|
Date | Published - 6 Dec 2019 |
Volume | 2513 |
Number of pages | 14 |
Pages (from-to) | 67-80 |
Original language | English |
Domain-specific languages enable concise and precise formalization of domain concepts and promote direct employment by domain experts. Therefore, syntactic constructs are introduced to empower users to associate concepts and relationships with visual textual symbols. Model-based language engineering facilitates the description of concepts and relationships in an abstract manner. However, concrete representations are commonly attached to abstract domain representations, such as annotations in metamodels, or directly encoded into language grammar and thus introduce redundancy between metamodel elements and grammar elements. In this work we propose an approach that enables autonomous development and maintenance of domain concepts and textual language notations in a distinctive and metamodel-agnostic manner by employing style models containing grammar rule templates and injection-based property selection. We provide an implementation and showcase the proposed notationspecification language in a comparison with state of the art practices during the creation of notations for an executable domain-specific modeling language based on the Eclipse Modeling Framework and Xtext.
© 2019 The Authors.
Journal | Information and Software Technology |
---|---|
Date | Accepted/In press - 25 May 2019 |
Date | Published (current) - 1 Nov 2019 |
Volume | 115 |
Number of pages | 22 |
Pages (from-to) | 97-118 |
Original language | English |
Context: Model-driven engineering (MDE) promotes the active use of models in all phases of software development. Even though models are at a high level of abstraction, large or complex systems still require building monolithic models that prove to be too big for their processing by existing tools, and too difficult to comprehend by users. While modularization techniques are well-known in programming languages, they are not the norm in MDE. Objective: Our goal is to ease the modularization of models to allow their efficient processing by tools and facilitate their management by users. Method: We propose five patterns that can be used to extend a modelling language with services related to modularization and scalability. Specifically, the patterns allow defining model fragmentation strategies, scoping and visibility rules, model indexing services, and scoped constraints. Once the patterns have been applied to the meta-model of a modelling language, we synthesize a customized modelling environment enriched with the defined services, which become applicable to both existing monolithic legacy models and new models. Results: Our proposal is supported by a tool called EMF-Splitter, combined with the Hawk model indexer. Our experiments show that this tool improves the validation performance of large models. Moreover, the analysis of 224 meta-models from OMG standards, and a public repository with more than 300 meta-models, demonstrates the applicability of our patterns in practice. Conclusions: Modularity mechanisms typically employed in programming IDEs can be successfully transferred to MDE, leading to more scalable and structured domain-specific modelling languages and environments.
© 2019 Elsevier B.V. This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy.
Title of host publication | Proceedings of the ACM/IEEE 22th International Conference on Model Driven Engineering Languages and Systems |
---|---|
Date | Accepted/In press - 19 Jun 2019 |
Original language | English |
Journal | Software and Systems Modeling |
---|---|
Date | Accepted/In press - 12 Apr 2019 |
Date | E-pub ahead of print (current) - 11 May 2019 |
Number of pages | 37 |
Early online date | 11/05/19 |
Original language | English |
© The Author(s) 2019
Title of host publication | Proceedings - 2019 IEEE/ACM 16th International Conference on Mining Software Repositories, MSR 2019 |
---|---|
Date | Published - 1 May 2019 |
Pages | 155-159 |
Number of pages | 5 |
Publisher | IEEE Computer Society Press |
Original language | English |
ISBN (Electronic) | 9781728134123 |
Name | IEEE International Working Conference on Mining Software Repositories |
---|---|
Volume | 2019-May |
ISSN (Print) | 2160-1852 |
ISSN (Electronic) | 2160-1860 |
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).
Journal | International Journal on Software & Systems Modelling |
---|---|
Date | Accepted/In press - 11 Jan 2018 |
Date | E-pub ahead of print - 23 Jan 2018 |
Date | Published (current) - 8 Feb 2019 |
Issue number | 1 |
Volume | 18 |
Number of pages | 23 |
Pages (from-to) | 345-366 |
Early online date | 23/01/18 |
Original language | English |
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.
Journal | Acta crystallographica. Section D, Structural biology |
---|---|
Date | Accepted/In press - 4 Nov 2019 |
Date | Published (current) - 1 Dec 2019 |
Issue number | Pt 12 |
Volume | 75 |
Number of pages | 10 |
Pages (from-to) | 1119-1128 |
Original language | English |
A comparison of four protein model-building pipelines (ARP/wARP, Buccaneer, PHENIX AutoBuild and SHELXE) was performed using data sets from 202 experimentally phased cases, both with the data as observed and truncated to simulate lower resolutions. All pipelines were run using default parameters. Additionally, an ARP/wARP run was completed using models from Buccaneer. All pipelines achieved nearly complete protein structures and low Rwork/Rfree at resolutions between 1.2 and 1.9 Å, with PHENIX AutoBuild and ARP/wARP producing slightly lower R factors. At lower resolutions, Buccaneer leads to significantly more complete models.
© 2019 International Union of Crystallography. Uploaded with permission of the publisher/copyright holder. Further copying may not be permitted; contact the publisher for details
Title of host publication | 5th International Workshop on Software Engineering for Smart Cyber-Physical Systems |
---|---|
Date | Accepted/In press - 2019 |
Original language | English |
Title of host publication | 2019 IEEE/ACM 2nd International Workshop on Robotics Software Engineering (RoSE) |
---|---|
Date | Published - 27 May 2019 |
Pages | 25-28 |
Number of pages | 4 |
Publisher | IEEE |
Original language | English |
ISBN (Electronic) | 9781728122496 |
Title of host publication | 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems |
---|---|
Date | Accepted/In press - 22 Mar 2019 |
Original language | English |
Title of host publication | 22nd International Conference on Fundamental Approaches to Software Engineering |
---|---|
Date | E-pub ahead of print - 15 Feb 2019 |
Publisher | Springer-Verlag |
Original language | English |
Kahrobaei, D., Kolovos, D. & Matragkas, N.
1/01/20 → 31/12/22
Project: Research project (funded) › Research
Status | Active |
---|---|
Effective start/end date | 1/01/20 → 31/12/22 |
1/01/19 → 31/12/22
Project: Research project (funded) › Research
Status | Active |
---|---|
Effective start/end date | 1/01/19 → 31/12/22 |
1/10/18 → 30/09/21
Project: Research project (funded) › Research
Status | Active |
---|---|
Effective start/end date | 1/10/18 → 30/09/21 |
Kolovos, D., Manandhar, S. & Paige, R. F.
1/04/18 → 31/03/21
Project: Research project (funded) › Research
Status | Active |
---|---|
Effective start/end date | 1/04/18 → 31/03/21 |
Calinescu, R., Arvind, T., Cavalcanti, A. L. C., Habli, I., Thomas, A. P. & Wilson, J. C.
1/11/20 → 30/04/24
Project: Research project (funded) › Research
Status | Active |
---|---|
Effective start/end date | 1/11/20 → 30/04/24 |
19/11/19 → 28/02/21
Project: Research project (funded) › Research
Status | Active |
---|---|
Effective start/end date | 19/11/19 → 28/02/21 |
1/01/18 → 31/12/20
Project: Research project (funded) › Research
Status | Finished |
---|---|
Effective start/end date | 1/01/18 → 31/12/20 |
1/01/17 → 31/12/19
Project: Research project (funded) › Research
Status | Finished |
---|---|
Effective start/end date | 1/01/17 → 31/12/19 |
Kolovos, D., Paige, R. F. & Rose, L. M.
1/11/13 → 30/04/16
Project: Research project (funded) › Research
Acronym | Scalable Modelling and Model Management on the Cloud |
---|---|
Status | Finished |
Effective start/end date | 1/11/13 → 30/04/16 |
Status | Finished |
---|---|
Effective start/end date | 1/10/12 → 30/03/15 |
1/03/18 → 29/02/20
Project: Research project (funded) › Research
Status | Finished |
---|---|
Effective start/end date | 1/03/18 → 29/02/20 |
McDermid, J. A. & Paige, R. F.
1/07/13 → 28/02/15
Project: Research project (funded) › Research
Status | Finished |
---|---|
Effective start/end date | 1/07/13 → 28/02/15 |
1/10/12 → 30/09/16
Project: Research project (funded) › Research
Status | Finished |
---|---|
Effective start/end date | 1/10/12 → 30/09/16 |
1/04/11 → 30/11/13
Project: Research project (funded) › Research
Status | Finished |
---|---|
Effective start/end date | 1/04/11 → 30/11/13 |
1/02/10 → 31/07/12
Project: Research project (funded) › Research
Status | Finished |
---|---|
Effective start/end date | 1/02/10 → 31/07/12 |
1/11/07 → 31/10/08
Project: Research project (funded) › Research
Status | Finished |
---|---|
Effective start/end date | 1/11/07 → 31/10/08 |
1/10/13 → 30/09/17
Project: Research project (funded) › Research
Status | Finished |
---|---|
Effective start/end date | 1/10/13 → 30/09/17 |
Status | Finished |
---|---|
Effective start/end date | 1/05/12 → 31/03/14 |
Project: Research project (funded) › Research
Status | Not started |
---|
Project: Research project (funded) › Research
Status | Not started |
---|
Project: Research project (funded) › Research
Short title | SESAME |
---|---|
Status | Not started |