Enterprise Systems Group

  

We are a group of 36 researchers in the Department of Computer Science at the University of York, developing ground-breaking techniques and tools for the analysis, design, development, deployment, and management of complex industry-relevant 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.

Members

Professor Richard Paige
Model-based software engineering, agile development, service-oriented architectures, formal methods, object-oriented programming, systems engineering.
Professor Dimitris Kolovos
Model-based software engineering, software repository mining and big-data persistence and processing architectures.
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.
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.
Sina Madani
Parallel and distributed model querying, validation and transformation.
Alfa Yohannis
Model-based software engineering, change-based model persistence.
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
Emad Alharbi
Metaheuristics for protein model synthesis from electron-density maps.
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
James Goodwin
Automated program repair
Saud Yonbawi
Self-adaptation in distributed systems, runtime quantitative verification.

Recent Publications

Publication details

JournalSoftware and Systems Modeling
DateAccepted/In press - 1 Jan 2020
DatePublished (current) - 18 May 2020
Original languageEnglish

Publication details

JournalSoftware and Systems Modeling
DateAccepted/In press - 4 Dec 2019
DatePublished (current) - 1 Jan 2020
Issue number1
Volume19
Number of pages9
Pages (from-to)5-13
Original languageEnglish

Abstract

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.

Bibliographical note

© The Author(s) 2020

Empirical Analysis of 1-edit Degree Patches in Syntax-Based Automatic Program Repair

Dziurzanski, P., Gerasimou, S., Kolovos, D. & Matragkas, N., 20 Mar 2020, (Accepted/In press) IEEE Congress on Evolutionary Computation.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationIEEE Congress on Evolutionary Computation
DateAccepted/In press - 20 Mar 2020
Original languageEnglish

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.

Assurance Argument Patterns and Processes for Machine Learning in Safety-Related Systems

Picardi, C., Paterson, C., Hawkins, R. D., Calinescu, R. & Habli, I., 27 Feb 2020, Proceedings of the Workshop on Artificial Intelligence Safety (SafeAI 2020). CEUR Workshop Proceedings, p. 23-30 (CEUR Workshop Proceedings; vol. 2560).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationProceedings of the Workshop on Artificial Intelligence Safety (SafeAI 2020)
DatePublished - 27 Feb 2020
Pages23-30
PublisherCEUR Workshop Proceedings
Original languageEnglish

Publication series

NameCEUR Workshop Proceedings
Volume2560
ISSN (Electronic)1613-0073

Abstract

Machine Learnt (ML) components are now widely accepted for use in a range of applications with results that are reported to exceed, under certain conditions, human performance. The adoption of ML components in safety-related domains is restricted, however, unless sufficient assurance can be demonstrated that the use of these components does not compromise safety. In this paper, we present patterns that can be used to develop assurance arguments for demonstrating the safety of the ML components. The argument patterns provide reusable templates for the types of claims that must be made in a compelling argument. On their own, the patterns neither detail the assurance artefacts that must be generated to support the safety claims for a particular system, nor provide guidance on the activities that are required to generate these artefacts. We have therefore also developed a process for the engineering of ML components in which the assurance evidence can be generated at each stage in the ML lifecycle in order to instantiate the argument patterns and create the assurance case for ML components. The patterns and the process could help provide a practical and clear basis for a justifiable deployment of ML components in safety-related systems.

Bibliographical note

© 2020 for this paper by its authors.

Importance-Driven Deep Learning System Testing

Gerasimou, S., Eniser, H. F. & Sen, A., 2020, 42nd International Conference on Software Engineering.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publication42nd International Conference on Software Engineering
DateAccepted/In press - 9 Dec 2019
DatePublished (current) - 2020
Original languageEnglish

Abstract

Deep Learning (DL) systems are key enablers for engineering intelligent applications due to their ability to solve complex tasks such as image recognition and machine translation. Nevertheless, using DL systems in safety- and security-critical applications requires to provide testing evidence for their dependable operation. Recent research in this direction focuses on adapting testing criteria from traditional software engineering as a means of increasing confidence for their correct behaviour. However, they are inadequate in capturing the intrinsic properties exhibited by these systems. We bridge this gap by introducing DeepImportance, a systematic testing methodology accompanied by an Importance-Driven (IDC) test adequacy criterion for DL systems. Applying IDC enables to establish a layer-wise functional understanding of the importance of DL system components and use this information to guide the generation of semantically-diverse test sets. Our empirical evaluation on several DL systems, across multiple DL datasets and with state-of-the-art adversarial generation techniques demonstrates the usefulness and effectiveness of DeepImportance and its ability to guide the engineering of more robust DL systems.

Publication details

JournalCEUR Workshop Proceedings
DatePublished - 6 Dec 2019
Volume2513
Number of pages14
Pages (from-to)67-80
Original languageEnglish

Abstract

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.

Bibliographical note

© 2019 The Authors.

On-the-fly Translation and Execution of OCL-like Queries on Simulink Models

Sanchez Pina, B. A., Zolotas, A., Hoyos Rodriguez, H., Kolovos, D. & Paige, R. F., 19 Jun 2019, (Accepted/In press) Proceedings of the ACM/IEEE 22th International Conference on Model Driven Engineering Languages and Systems.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationProceedings of the ACM/IEEE 22th International Conference on Model Driven Engineering Languages and Systems
DateAccepted/In press - 19 Jun 2019
Original languageEnglish

Publication details

JournalSoftware and Systems Modeling
DateAccepted/In press - 12 Apr 2019
DateE-pub ahead of print (current) - 11 May 2019
Number of pages37
Early online date11/05/19
Original languageEnglish

Abstract

While the majority of research on Model-Based Software Engineering revolves around open-source modelling frameworks such as the Eclipse Modelling Framework (EMF), 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 co-ordination with other bridges between proprietary tools and Epsilon.

Bibliographical note

© The Author(s) 2019

Publication details

JournalInformation and Software Technology
DateAccepted/In press - 25 May 2019
DatePublished (current) - 1 Nov 2019
Volume115
Number of pages22
Pages (from-to)97-118
Original languageEnglish

Abstract

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.

Bibliographical note

© 2019 Elsevier B.V. This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy.

Publication details

JournalActa crystallographica. Section D, Structural biology
DateAccepted/In press - 4 Nov 2019
DatePublished (current) - 1 Dec 2019
Issue numberPt 12
Volume75
Number of pages10
Pages (from-to)1119-1128
Original languageEnglish

Abstract

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.

Bibliographical note

© 2019 International Union of Crystallography. Uploaded with permission of the publisher/copyright holder. Further copying may not be permitted; contact the publisher for details

Publication details

DatePublished - 10 May 2019
Original languageUndefined/Unknown

Abstract

Machine learning has evolved into an enabling technology for a wide range of highly successful applications. The potential for this success to continue and accelerate has placed machine learning (ML) at the top of research, economic and political agendas. Such unprecedented interest is fuelled by a vision of ML applicability extending to healthcare, transportation, defence and other domains of great societal importance. Achieving this vision requires the use of ML in safety-critical applications that demand levels of assurance beyond those needed for current ML applications. Our paper provides a comprehensive survey of the state-of-the-art in the assurance of ML, i.e. in the generation of evidence that ML is sufficiently safe for its intended use. The survey covers the methods capable of providing such evidence at different stages of the machine learning lifecycle, i.e. of the complex, iterative process that starts with the collection of the data used to train an ML component for a system, and ends with the deployment of that component within the system. The paper begins with a systematic presentation of the ML lifecycle and its stages. We then define assurance desiderata for each stage, review existing methods that contribute to achieving these desiderata, and identify open challenges that require further research.

Publication details

JournalIEEE Transactions on Software Engineering
DateAccepted/In press - 20 Apr 2019
DateE-pub ahead of print (current) - 25 Apr 2019
Early online date25/04/19
Original languageEnglish

Abstract

We introduce an efficient parametric model checking (ePMC) method for the analysis of reliability, performance and other quality-of-service (QoS) properties of software systems. ePMC speeds up the analysis of parametric Markov chains modelling the behaviour of software by exploiting domain-specific modelling patterns for the software components (e.g., patterns modelling the invocation of functionally-equivalent services used to jointly implement the same operation within service-based systems, or the deployment of the components of multi-tier software systems across multiple servers). To this end, ePMC precomputes closed-form expressions for key QoS properties of such patterns, and uses these expressions in the analysis of whole-system models. To evaluate ePMC, we show that its application to service-based systems and multi-tier software architectures reduces the analysis time by several orders of magnitude compared to current parametric model checking methods.

Bibliographical note

© Copyright 2019 IEEE - All rights reserved. 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.

Perpetual Assurances for Self-Adaptive Systems

Weyns, D., Bencomo, N., Calinescu, R., Cámara, J., Ghezzi, C., Grassi, V., Grunske, L., Inverardi, P., Jézéquel, J-M., Malek, S., Mirandola, R., Mori, M. & Tamburrelli, G., 12 Mar 2019, Software Engineering for Self-Adaptive Systems III. Assurances. SPRINGER, p. 31-63 33 p. (Lecture Notes in Computer Science; vol. 9640).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationSoftware Engineering for Self-Adaptive Systems III. Assurances
DateE-pub ahead of print - 18 Jan 2018
DatePublished (current) - 12 Mar 2019
Pages31-63
Number of pages33
PublisherSPRINGER
Original languageUndefined/Unknown
ISBN (Electronic)978-3-319-74183-3
ISBN (Print)978-3-319-74182-6

Publication series

NameLecture Notes in Computer Science
Volume9640

Abstract

Providing assurances for self-adaptive systems is challenging. A primary underlying problem is uncertainty that may stem from a variety of different sources, ranging from incomplete knowledge to sensor noise and uncertain behavior of humans in the loop. Providing assurances that the self-adaptive system complies with its requirements calls for an enduring process spanning the whole lifetime of the system. In this process, humans and the system jointly derive and integrate new evidence and arguments, which we coined perpetual assurances for self-adaptive systems. In this paper, we provide a background framework and the foundation for perpetual assurances for self-adaptive systems. We elaborate on the concrete challenges of offering perpetual assurances, requirements for solutions, realization techniques and mechanisms to make solutions suitable. We also present benchmark criteria to compare solutions. We then present a concrete exemplar that researchers can use to assess and compare approaches for perpetual assurances for self-adaptation.

Bibliographical note

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.

Socio-Cyber-Physical Systems: Models, Opportunities, Open Challenges

Calinescu, R. C., Camara Moreno, J. & Paterson, C., 2019, (Accepted/In press) 5th International Workshop on Software Engineering for Smart Cyber-Physical Systems.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publication5th International Workshop on Software Engineering for Smart Cyber-Physical Systems
DateAccepted/In press - 2019
Original languageEnglish

Abstract

Almost without exception, cyber-physical systems operate alongside, for the benefit of, and supported by humans. Unsurprisingly, disregarding their social aspects during
development and operation renders these systems ineffective. In this paper, we explore approaches to modelling and reasoning about the human involvement in socio-cyber-physical systems (SCPS). To provide an unbiased perspective, we describe both the opportunities afforded by the presence of human agents, and the challenges associated with ensuring that their modelling is sufficiently accurate to support decision making during SCPS development and, if applicable, at run-time. Using SCPS examples from emergency management and assisted living, we illustrate how recent advances in stochastic modelling, analysis and synthesis can be used to exploit human observations about the impact of natural and man-made disasters, and to support the efficient provision of assistive care.

Using Unstructured Data to Improve the Continuous Planning of Critical Processes Involving Humans

Paterson, C., Calinescu, R. C., Wang, D. & Manandhar, S. K., 2019, (Accepted/In press) 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publication14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
DateAccepted/In press - 2019
Original languageEnglish

Abstract

The success of processes executed in uncertain and changing environments is reliant on the dependable use of relevant information to support continuous planning at runtime. At the core of this planning is a model which, if incorrect, can lead to failures and, in critical processes such as evacuation and disaster relief operations, to harm to humans. Obtaining reliable and timely estimations of model parameters is often difficult, and considerable research effort has been expended to derive methods for updating models at run-time. Typically, these methods use data sources such as system logs, run-time events and sensor readings, which are well structured. However, in many critical processes, the most relevant data are produced by human participants to, and observers of, the process and its environment (e.g., through social media) and is unstructured. For such scenarios we propose COPE, a work-in-progress method for the continuous planning of critical processes involving humans and carried out in uncertain, changing environments. COPE uses a combination of runtime natural-language processing (to update a stochastic model of the target process based on unstructured data) and stochastic model synthesis (to generate Pareto-optimal plans for the process). Preliminary experiments indicate that COPE can support continuous planning effectively for a simulated evacuation operation after a natural disaster.

On Learning in Collective Self-adaptive Systems: State of Practice and a 3D Framework

Gerasimou, S., D’Angelo, M., Ghahremani, S., Grohmann, J., Nunes, I., Pournaras, E. & Tomforde, S., 22 Mar 2019, (Accepted/In press) 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publication14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
DateAccepted/In press - 22 Mar 2019
Original languageEnglish

Abstract

Collective self-adaptive systems (CSAS) are distributed and interconnected systems composed of multiple agents that can perform complex tasks such as environmental data collection, search and rescue operations, and discovery of natural resources. By providing individual agents with learning capabilities, CSAS can cope with challenges related to distributed sensing and decision-making and operate in uncertain environments. This unique characteristic of CSAS enables the collective to exhibit robust behaviour while achieving system-wide and agent-specific goals. Although learning has been explored in many CSAS applications, selecting suitable learning models and techniques remains a significant challenge that is heavily influenced by expert knowledge. We address this gap by performing a multifaceted analysis of existing CSAS with learning capabilities reported in the literature. Based on this analysis, we introduce a 3D framework that illustrates the learning aspects of CSAS considering the dimensions of autonomy, knowledge access, and behaviour, and facilitates the selection of learning techniques and models. Finally, using example applications from this analysis, we derive open challenges and highlight the need for research on collaborative, resilient and privacy-aware mechanisms for CSAS.

DeepFault: Fault Localization for Deep Neural Networks

Gerasimou, S., Eniser, H. F. & Sen, A., 15 Feb 2019, 22nd International Conference on Fundamental Approaches to Software Engineering. Springer-Verlag

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publication22nd International Conference on Fundamental Approaches to Software Engineering
DateE-pub ahead of print - 15 Feb 2019
PublisherSpringer-Verlag
Original languageEnglish

Abstract

Deep Neural Networks (DNNs) are increasingly deployed in safety-critical applications including autonomous vehicles and medical diagnostics. To reduce the residual risk for unexpected DNN behaviour and provide evidence for their trustworthy operation, DNNs should be thoroughly tested. The DeepFault white box DNN testing approach presented in our paper addresses this challenge by employing suspiciousness measures inspired by fault localization to establish the hit spectrum of neurons and identify suspicious neurons whose weights have not been calibrated correctly and thus are considered responsible for inadequate DNN performance. DeepFault also uses a suspiciousness-guided algorithm to synthesize new inputs, from correctly classified inputs, that increase the activation values of suspicious neurons. Our empirical evaluation on several DNN instances trained on MNIST and CIFAR-10 datasets shows that DeepFault is effective in identifying suspicious neurons. Also, the inputs synthesized by DeepFault closely resemble the original inputs, exercise the identified suspicious neurons and are highly adversarial.

Publication details

JournalJournal of Cloud Computing: Advances, Systems and Applications (JoCCASA)
DateAccepted/In press - 1 Mar 2018
DateE-pub ahead of print - 15 Mar 2018
DatePublished (current) - 1 Dec 2018
Issue number1
Volume7
Early online date15/03/18
Original languageEnglish

Abstract

A key challenge in porting enterprise software systems to the cloud is the migration of their database. Choosing a cloud provider and service option (e.g., a database-as-a-service or a manually configured set of virtual machines) typically requires the estimation of the cost and migration duration for each considered option. Many organisations also require this information for budgeting and planning purposes. Existing cloud migration research focuses on the software components, and therefore does not address this need. We introduce a two-stage approach which accurately estimates the migration cost, migration duration and cloud running costs of relational databases. The first stage of our approach obtains workload and structure models of the database to be migrated from database logs and the database schema. The second stage performs a discrete-event simulation using these models to obtain the cost and duration estimates. We implemented software tools that automate both stages of our approach. An extensive evaluation compares the estimates from our approach against results from real-world cloud database migrations.

Bibliographical note

© The Author(s). 2018

Publication details

JournalDigital Investigation
DateAccepted/In press - 12 Sep 2018
DateE-pub ahead of print (current) - 20 Sep 2018
Early online date20/09/18
Original languageEnglish

Abstract

During a project to examine the potential usefulness of evidence of tool verification as part of method validation for ISO 17025 accreditation, the authors have examined requirements statements in several digital forensic method descriptions and tools. They have identified that there is an absence of clear requirements statements in the methods and a reluctance or inability to disclose requirements on the part of tool producers. This leads to a break in evidence of correctness for both tools and methods, resulting in incomplete validation. They compare the digital forensics situation with other ISO 17025 accredited organisations, both forensic and non-forensic, and propose a means to close the gap and improve validation. They also review existing projects which may assist with their proposed solution.

Dependent input sampling strategies: using metaheuristics for generating parameterised random sampling regimes

Srivisut, K., Clark, J. A. & Paige, R. F., 2 Jul 2018, GECCO 2018 - Proceedings of the 2018 Genetic and Evolutionary Computation Conference. Association for Computing Machinery, Inc, p. 1451-1458 8 p.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationGECCO 2018 - Proceedings of the 2018 Genetic and Evolutionary Computation Conference
DateAccepted/In press - 25 Mar 2018
DatePublished (current) - 2 Jul 2018
Pages1451-1458
Number of pages8
PublisherAssociation for Computing Machinery, Inc
Original languageEnglish
ISBN (Electronic)9781450356183

Abstract

Understanding extreme execution times is of great importance in gaining assurance in real-time embedded systems. The standard benchmark for dynamic testing'uniform randomised testing'is inadequate for reaching extreme execution times in these systems. Metaheuristics have been shown to be an effective means of directly searching for inputs with such behaviours but the increasing complexity of modern systems is now posing challenges to the effectiveness of this approach. The research reported in this paper investigates the use of metaheuristic search to discover biased random sampling regimes. Rather than search for test inputs, we search for distributions of test inputs that are then sampled. The search proceeds to discover and exploit relationships between test input variables, leading to sampling regimes where the distribution of a sampled parameter depends on the values of previously sampled input parameters. Our results show that test vectors indirectly generated from our dependent approach produce significantly more extreme (longer) execution times than those generated by direct metaheuristic searches.

Bibliographical note

©2018 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

Parallel model validation with epsilon

Madani, S., Kolovos, D. S. & Paige, R. F., 25 Jun 2018, Modelling Foundations and Applications - 14th European Conference, ECMFA 2018, Held as Part of STAF 2018, Proceedings. Springer-Verlag, Vol. 10890 LNCS. p. 115-131 17 p. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); vol. 10890 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationModelling Foundations and Applications - 14th European Conference, ECMFA 2018, Held as Part of STAF 2018, Proceedings
DateAccepted/In press - 9 Apr 2018
DatePublished (current) - 25 Jun 2018
Pages115-131
Number of pages17
PublisherSpringer-Verlag
Volume10890 LNCS
Original languageEnglish
ISBN (Print)9783319929965

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10890 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Abstract

Traditional model management programs, such as transformations, often perform poorly when dealing with very large models. Although many such programs are inherently parallelisable, the execution engines of popular model management languages were not designed for concurrency. We propose a scalable data and rule-parallel solution for an established and feature-rich model validation language (EVL). We highlight the challenges encountered with retro-fitting concurrency support and our solutions to these challenges. We evaluate the correctness of our implementation through rigorous automated tests. Our results show up to linear performance improvements with more threads and larger models, with significantly faster execution compared to interpreted OCL.

Towards automatic generation of UML profile graphical editors for papyrus

Zolotas, A., Wei, R., Gerasimou, S., Hoyos Rodriguez, H., Kolovos, D. S. & Paige, R. F., 25 Jun 2018, Modelling Foundations and Applications - 14th European Conference, ECMFA 2018, Held as Part of STAF 2018, Proceedings. Springer-Verlag, Vol. 10890 LNCS. p. 12-27 16 p. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); vol. 10890 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationModelling Foundations and Applications - 14th European Conference, ECMFA 2018, Held as Part of STAF 2018, Proceedings
DateAccepted/In press - 9 Apr 2018
DatePublished (current) - 25 Jun 2018
Pages12-27
Number of pages16
PublisherSpringer-Verlag
Volume10890 LNCS
Original languageEnglish
ISBN (Print)9783319929965

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10890 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Abstract

We present an approach for defining the abstract and concrete syntax of UML profiles and their equivalent Papyrus graphical editors using annotated Ecore metamodels, driven by automated model-to-model and model-to-text transformations. We compare our approach against manual UML profile specification and implementation using Archimate, a non-trivial enterprise modelling language, and we demonstrate the substantial productivity and maintainability benefits it delivers.

On software modernisation due to library obsolescence

Gerasimou, S., Kechagia, M., Kolovos, D., Paige, R. & Gousios, G., 2 Jun 2018, Proceedings - 2018 ACM/IEEE 2nd International Workshop on API Usage and Evolution, WAPI 2018. IEEE Computer Society Press, Vol. Part F138314. p. 6-9 4 p.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationProceedings - 2018 ACM/IEEE 2nd International Workshop on API Usage and Evolution, WAPI 2018
DateAccepted/In press - 5 Mar 2018
DatePublished (current) - 2 Jun 2018
Pages6-9
Number of pages4
PublisherIEEE Computer Society Press
VolumePart F138314
Original languageEnglish
ISBN (Print)9781450357548

Abstract

Software libraries, typically accessible through Application Programming Interfaces (APIs), enhance modularity and reduce development time. Nevertheless, their use reinforces system dependency on third-party software. When libraries become obsolete or their APIs change, performing the necessary modifications to dependent systems, can be time-consuming, labour intensive and error-prone. In this paper, we propose a methodology that reduces the effort developers must spend to mitigate library obsolescence. We describe the steps comprising the methodology, i.e., source code analysis, visualisation of hot areas, code-based transformation, and verification of the modified system. Also, we present some preliminary results and describe our plan for developing a fully automated software modernisation approach.

Bibliographical note

© 2018 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.

Towards a framework for writing executable natural language rules

Barmpis, K., Kolovos, D. & Hingorani, J., 29 May 2018, Modelling Foundations and Applications - 14th European Conference, ECMFA 2018, Held as Part of STAF 2018, Proceedings. Springer-Verlag, Vol. 10890 LNCS. p. 251-263 13 p. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); vol. 10890 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationModelling Foundations and Applications - 14th European Conference, ECMFA 2018, Held as Part of STAF 2018, Proceedings
DateAccepted/In press - 9 Apr 2018
DateE-pub ahead of print (current) - 29 May 2018
Pages251-263
Number of pages13
PublisherSpringer-Verlag
Volume10890 LNCS
Original languageEnglish
ISBN (Electronic)9783319929972
ISBN (Print)9783319929965

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10890 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Abstract

The creation of domain-specific data validation rules is commonly performed by the relevant domain experts. Such experts are often not acquainted with the low-level technologies used to actually execute these rules and will hence document them in some informal form, such as in natural language. In order to execute these rules, they need to be transformed by technical experts into a relevant executable language, such as SQL. The technical experts in turn are often not familiar with the business logic these rules are depicting and will thusly have to collaborate with the business experts to gain insight into the semantics of the rules. This paper presents an approach for writing financial data validation rules in constrained natural language, that can then be automatically transformed and executed against the data they are referring to. In order to achieve this, we use the Xtext framework for creating the editor where business experts can create their rules that can then be transformed into executable constraints. We evaluate this approach in terms of its extensibility, coverage and verboseness with respect to the business rules sent to specific UK banks submitting data under one of the Bank of England’s annual reviews.

Bibliographical note

© Springer International Publishing AG, part of Springer Nature 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

Towards efficient loading of change-based models

Yohannis, A., Rodriguez, H. H., Polack, F. & Kolovos, D., 29 May 2018, Modelling Foundations and Applications - 14th European Conference, ECMFA 2018, Held as Part of STAF 2018, Proceedings. Springer-Verlag, Vol. 10890 LNCS. p. 235-250 16 p. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); vol. 10890 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationModelling Foundations and Applications - 14th European Conference, ECMFA 2018, Held as Part of STAF 2018, Proceedings
DateAccepted/In press - 9 Apr 2018
DateE-pub ahead of print (current) - 29 May 2018
Pages235-250
Number of pages16
PublisherSpringer-Verlag
Volume10890 LNCS
Original languageEnglish
ISBN (Electronic)978-3-319-92997-2
ISBN (Print)9783319929965

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10890 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Abstract

This paper proposes and evaluates an efficient approach for loading models stored in a change-based format. The work builds on language-independent change-based persistence (CBP) of models conforming to object-oriented metamodelling architectures such as MOF and EMF, an approach which persists a model’s editing history rather than its current state. We evaluate the performance of the proposed loading approach and assess its impact on saving change-based models. Our results show that the proposed approach significantly improves loading times compared to the baseline CBP loading approach, and has a negligible impact on saving.

Bibliographical note

© Springer International Publishing AG, part of Springer Nature 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

Publication details

JournalIEEE Transactions on Software Engineering
DateAccepted/In press - 19 Jul 2017
DateE-pub ahead of print - 11 Aug 2017
DatePublished (current) - 1 Nov 2018
Issue number11
Volume44
Number of pages31
Pages (from-to)1039-1069
Early online date11/08/17
Original languageEnglish

Abstract

Building on concepts drawn from control theory, self-adaptive software handles environmental and internal uncertainties by dynamically adjusting its architecture and parameters in response to events such as workload changes and component failures. Self-adaptive software is increasingly expected to meet strict functional and non-functional requirements in applications from areas as diverse as manufacturing, healthcare and finance. To address this need, we introduce a methodology for the systematic ENgineering of TRUstworthy Self-adaptive sofTware (ENTRUST). ENTRUST uses a combination of (1) design-time and runtime modelling and verification, and (2) industry-adopted assurance processes to develop trustworthy self-adaptive software and assurance cases arguing the suitability of the software for its intended application. To evaluate the effectiveness of our methodology, we present a tool-supported instance of ENTRUST and its use to develop proof-of-concept self-adaptive software for embedded and service-based systems from the oceanic monitoring and e-finance domains, respectively. The experimental results show that ENTRUST can be used to engineer self-adaptive software systems in different application domains and to generate dynamic assurance cases for these systems.

Bibliographical note

(c) 2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other users, including reprinting/ republishing this material for advertising or promotional purposes, creating new collective works for resale or redistribution to servers or lists, or reuse of any copyrighted components of this work in other works

Publication details

JournalJournal of Systems and Software
DateAccepted/In press - 9 May 2018
DateE-pub ahead of print - 16 May 2018
DatePublished (current) - Sep 2018
Volume143
Number of pages19
Pages (from-to)140-158
Early online date16/05/18
Original languageEnglish

Abstract

We describe a tool-supported method for the efficient synthesis of parametric continuous-time Markov chains (pCTMC) that correspond to robust designs of a system under development. The pCTMCs generated by our RObust DEsign Synthesis (RODES) method are resilient to changes in the system’s operational profile, satisfy strict reliability, performance and other quality constraints, and are Pareto-optimal or nearly Pareto-optimal with respect to a set of quality optimisation criteria. By integrating sensitivity analysis at designer-specified tolerance levels and Pareto optimality, RODES produces designs that are potentially slightly suboptimal in return for less sensitivity—an acceptable trade-off in engineering practice. We demonstrate the effectiveness of our method and the efficiency of its GPU-accelerated tool support across multiple application domains by using RODES to design a producer-consumer system, a replicated file system and a workstation cluster system.

Bibliographical note

© 2018 The Authors.

Event-Driven Bandwidth Allocation with Formal Guarantees for Camera Networks

Seetanadi, G. N., Camara Moreno, J., Almeida, L., Arzen, K. E. & Maggio, M., 31 Jan 2018, Proceedings - 2017 IEEE Real-Time Systems Symposium, RTSS 2017. Institute of Electrical and Electronics Engineers Inc., Vol. 2018-January. p. 243-254 12 p.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationProceedings - 2017 IEEE Real-Time Systems Symposium, RTSS 2017
DateAccepted/In press - 31 Jul 2017
DatePublished (current) - 31 Jan 2018
Pages243-254
Number of pages12
PublisherInstitute of Electrical and Electronics Engineers Inc.
Volume2018-January
Original languageEnglish
ISBN (Electronic)9781538614143

Abstract

Modern computing systems are often formed by multiple components that interact with each other through the use of shared resources (e.g., CPU, network bandwidth, storage). In this paper, we consider a representative scenario of one such system in the context of an Internet of Things application. The system consists of a network of self-adaptive cameras that share a communication channel, transmitting streams of frames to a central node. The cameras can modify a quality parameter to adapt the amount of information encoded and to affect their bandwidth requirements and usage. A critical design choice for such a system is scheduling channel access, i.e., how to determine the amount of channel capacity that should be used by each of the cameras at any point in time. Two main issues have to be considered for the choice of a bandwidth allocation scheme: (i) camera adaptation and network access scheduling may interfere with one another, (ii) bandwidth distribution should be triggered only when necessary, to limit additional overhead. This paper proposes the first formally verified event-triggered adaptation scheme for bandwidth allocation, designed to minimize additional overhead in the network. Desired properties of the system are verified using model checking. The paper also describes experimental results obtained with an implementation of the scheme.

Publication details

JournalAutomated Software Engineering
DateAccepted/In press - 30 Apr 2018
DateE-pub ahead of print (current) - 17 May 2018
Number of pages47
Early online date17/05/18
Original languageEnglish

Abstract

An increasingly used method for the engineering of software systems with strict quality-of-service (QoS) requirements involves the synthesis and verification of probabilistic models for many alternative architectures and instantiations of system parameters. Using manual trial-and-error or simple heuristics for this task often produces suboptimal models, while the exhaustive synthesis of all possible models is typically intractable. The EvoChecker search-based software engineering approach presented in our paper addresses these limitations by employing evolutionary algorithms to automate the model synthesis process and to significantly improve its outcome. EvoChecker can be used to synthesise the Pareto-optimal set of probabilistic models associated with the QoS requirements of a system under design, and to support the selection of a suitable system architecture and configuration. EvoChecker can also be used at runtime, to drive the efficient reconfiguration of a self-adaptive software system. We evaluate EvoChecker on several variants of three systems from different application domains, and show its effectiveness and applicability.

Bibliographical note

© The Author(s) 2018

Technical Obsolescence Management Strategies for Safety-Related Software for Airborne Systems

Gerasimou, S., Kolovos, D., Paige, R. & Standish, M., 2018, Software Technologies: Applications and Foundations - STAF 2017 Collocated Workshops, Revised Selected Papers. Springer-Verlag, Vol. 10748 LNCS. p. 385-393 9 p. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); vol. 10748 LNCS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Publication details

Title of host publicationSoftware Technologies: Applications and Foundations - STAF 2017 Collocated Workshops, Revised Selected Papers
DatePublished - 2018
Pages385-393
Number of pages9
PublisherSpringer-Verlag
Volume10748 LNCS
Original languageEnglish
ISBN (Print)9783319747293

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10748 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Abstract

Complex software systems deployed in safety-critical and business-critical application domains (e.g., avionics, defence, healthcare) are meant to provide service for decades. Although many of these systems withstand technological evolution and infrequently undergo substantial changes, they will likely face software obsolescence problems during their lifetime. Resolving these obsolescence problems is an expensive, time-consuming and labour intensive process. This project investigates technical obsolescence problems in safety-related software for airborne systems, examines the applicability of obsolescence management strategies and explores methods to automate the resolution of software obsolescence.

Funded Projects

KTP With IBM (Innovate)

Paige, R. F., Kolovos, D. & Manandhar, S.

1/04/1831/03/21

Project: Research project (funded)Research

Description

Knowledge Transfer Partnership with IBM UK on automated knowledge extraction and re-engineering of financial planning spreadsheets, co-funded by InnovateUK
StatusActive
Effective start/end date1/04/1831/03/21

Responsible Data Science by Design, EUR 956,754.00

Kahrobaei, D., Kolovos, D. & Matragkas, N.

1/01/2031/12/22

Project: Research project (funded)Research

Description

York Maastricht Partnership Investment Fund
StatusActive
Effective start/end date1/01/2031/12/22

Description

Marie Skłodowska-Curie training network of 15 Early Stage Researchers across Europe investigating aspects of scalability in low-code software engineering platforms. Network members include British Telecom, Intecs, B2T Concept, CLMS, IncQuery Labs and the Universities of Nantes (IMT), Madrid (Autonoma), L'Aquila and (TU) Wien.
StatusActive
Effective start/end date1/01/1931/12/22

KTP with Rolls Royce 2 - Industry Funding

Kolovos, D.

1/10/1830/09/21

Project: Research project (funded)Research

Description

Knowledge Transfer Partnership with Rolls-Royce on Model-Based Development of Aerospace Systems, co-funded by InnovateUK
StatusActive
Effective start/end date1/10/1830/09/21

TYPHON - Polyglot Persistence and Processing of Big Data

Kolovos, D.

EUROPEAN COMMISSION

1/01/1831/12/20

Project: Research project (funded)Research

Description

Horizon 2020 project on polyglot (relational/document/graph) data persistence and processing architectures with Volkswagen, GMV, Alpha Bank, OTE, the Open Group, and the Universities of L'Aquila, Edge Hill, Namur and Amsterdam (CWI)
StatusActive
Effective start/end date1/01/1831/12/20

Engineering Assured Autonomous Systems

Calinescu, R. & Gerasimou, S.

EPSRC

19/11/1928/02/21

Project: Research project (funded)Research

StatusActive
Effective start/end date19/11/1928/02/21

Bridging the Gap Between Programming and Modelling

Paige, R. F.

THE ROYAL SOCIETY

1/03/1829/02/20

Project: Research project (funded)Research

StatusFinished
Effective start/end date1/03/1829/02/20

Description

Horizon 2020 project on knowledge mining from open-source software repositories with the Eclipse Foundation, the Open Group, OW2, Bitergia, FrontEndArt, Softeam, Unparallel Innovation, Castalia and the Universities of L'Aquila, Athens (AUEB), Amsterdam (CWI), and Edge Hill
StatusFinished
Effective start/end date1/01/1731/12/19

AcronymScalable Modelling and Model Management on the Cloud
StatusFinished
Effective start/end date1/11/1330/04/16

CyPhERS

McDermid, J. A. & Paige, R. F.

EUROPEAN COMMISSION

1/07/1328/02/15

Project: Research project (funded)Research

StatusFinished
Effective start/end date1/07/1328/02/15

DSTL PhD Studentship - Radu Calinescu

Calinescu, R. & Paige, R. F.

1/10/1230/09/16

Project: Research project (funded)Research

StatusFinished
Effective start/end date1/10/1230/09/16

OSSMETER (EU ICT Bid)

Paige, R. F. & Kolovos, D.

EUROPEAN COMMISSION

1/10/1230/03/15

Project: Research project (funded)Research

StatusFinished
Effective start/end date1/10/1230/03/15

COMPASS: Automated Safety Warnings (SESAR)

Paige, R. F.

SESAR JOINT UNDERTAKING

1/04/1130/11/13

Project: Research project (funded)Research

StatusFinished
Effective start/end date1/04/1130/11/13

StatusFinished
Effective start/end date1/02/1031/07/12

Development of Collaborations with the Weizmann Institute of Science and IBM Haifa

Paige, R. F.

EPSRC

1/11/0731/10/08

Project: Research project (funded)Research

StatusFinished
Effective start/end date1/11/0731/10/08

DSTL TDS Studentship: Assured Reinforcement Learning

Calinescu, R. & Kudenko, D.

1/10/1330/09/17

Project: Research project (funded)Research

StatusFinished
Effective start/end date1/10/1330/09/17

Cloud Computing for LSCITS

Calinescu, R.

EPSRC

1/05/1231/03/14

Project: Research project (funded)Research

StatusFinished
Effective start/end date1/05/1231/03/14