Steffen ZschalerKing's College London | KCL · Department of Informatics
Steffen Zschaler
Dr. rer. nat.
About
172
Publications
23,949
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,159
Citations
Introduction
Reader in Software Engineering at King's College London with interests in model-driven development and domain-specific languages, modularity, and software quality properties.
Publications
Publications (172)
As model-driven software development covers additional parts of the development process, the complexity of software models increases as well. At the same time, however, many modelling languages do not provide adequate support for modularising models. For this reason, there has been an increasing interest in the topic of model modularisation, often...
Simulation is a key tool for researching complex system behaviour. Agent-based simulation has been applied across domains, such as biology, health, economics and urban sciences. However, engineering robust, efficient, maintainable, and reliable agent-based simulations is challenging. We present a vision for engineering agent simulations comprising...
When configuring a software product line, finding a good trade-off between multiple orthogonal quality concerns is a challenging multi-objective optimisation problem. State-of-the-art solutions based on search-based techniques create invalid configurations in intermediate steps, requiring additional repair actions that reduce the efficiency of the...
This book presents joint works of members of the software engineering and formal methods communities with representatives from industry, with the goal of establishing the foundations for a common understanding of the needs for more flexibility in model-driven engineering. It is based on the Dagstuhl Seminar 19481 "Composing Model-based Analysis Too...
Search-Based Software Engineering (SBSE) is about solving software development problems by formulating them as optimization problems. In the last years, combining SBSE and Model-Driven Engineering (MDE), where models and model transformations are treated as key artifacts in the development of complex systems, has become increasingly popular. While...
Modern software-based systems operate under rapidly changing conditions and face ever-increasing uncertainty. In response, systems are increasingly adaptive and reliant on artificial-intelligence methods. In addition to the ubiquity of software with respect to users and application areas (e.g., transportation, smart grids, medicine, etc.), these hi...
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...
Many applications of graph transformation require rules that change a graph without introducing new consistency violations. When designing such rules, it is natural to think about the desired outcome state, i.e., the desired effect, rather than the specific steps required to achieve it; these steps may vary depending on the specific rule-applicatio...
Many applications of graph transformation require rules that change a graph without introducing new consistency violations. When designing such rules, it is natural to think about the desired outcome state, i.e., the desired effect, rather than the specific steps required to achieve it; these steps may vary depending on the specific rule-applicatio...
Recent results in language engineering simplify the development of tool-supported executable domain-specific modeling languages (xDSMLs), including editing (e.g., completion and error checking) and execution analysis tools (e.g., debugging, monitoring and live modeling). However, such frameworks are currently limited to sequential execution traces...
Participatory agent-based modelling (ABM) can help bring the benefits of simulation to domain users by actively involving stakeholders in the development process. Collaboration in enterprise modelling can improve the model developer’s understanding of the domain and therefore improve the effectiveness of domain analysis. Where many agent-oriented m...
When configuring a software product line, finding a good trade-off between multiple orthogonal quality concerns is a challenging multi-objective optimisation problem. State-of-the-art solutions based on search-based techniques create invalid configurations in intermediate steps, requiring additional repair actions that reduce the efficiency of the...
This theme section brings together the latest research at the intersection of artificial intelligence (AI) and model-driven engineering (MDE). Over the past years, we have witnessed a substantial rise of AI successfully applied to different domains, including software development and MDE. Dedicated events at the intersection of AI and MDE have been...
Recently, there has been increased interest in combining model-driven engineering and search-based software engineering. Such approaches use meta-heuristic search guided by search operators (model mutators and sometimes breeders) implemented as model transformations. The design of these operators can substantially impact the effectiveness and effic...
Where graphs are used for modelling and specifying systems, consistency is an important concern. To be a valid model of a system, the graph structure must satisfy a number of constraints. To date, consistency has primarily been viewed as a binary property: a graph either is or is not consistent with respect to a set of graph constraints. This has e...
This chapter gives an introduction to the key concepts and terminology relevant for model-based analysis tools and their composition. In the first half of the chapter, we introduce concepts relevant for modelling and composition of models and modelling languages. The second half of the chapter then focuses on concepts relevant to analysis and analy...
This chapter introduces the key challenges in composing model-based analysis tools, giving references to book chapters discussing each challenge in more detail.
We are seeing an increase in the number of different languages and design tools used for designing and implementing such systems, fuelled by research in domain-specific modelling languages leading to increasingly more reliable and production-ready environments for language-oriented programming (LOP). While LOP has undeniable benefits for the effici...
Any analysis produces results to be used by analysis users to understand and improve the system being analysed. But what are the ways in which analysis results can be exploited? And how is exploitation of analysis results related to analysis composition? In this chapter, we provide a conceptual model of analysis-result exploitation and a model of t...
The final chapter of this book summarises the key challenges in the research area and highlights perspectives for research and practice, including a roadmap of upcoming research challenges.
The subgraph isomorphism problem is to find a small “pattern” graph inside a larger “target” graph. There are excellent dedicated solvers for this problem, but they require substantial programming effort to handle the complex side constraints that often occur in practical applications of the problem; however, general purpose constraint solvers stru...
Where graphs are used for modelling and specifying systems, consistency is an important concern. To be a valid model of a system, the graph structure must satisfy a number of constraints. To date, consistency has primarily been viewed as a binary property: a graph either is or is not consistent with respect to a set of graph constraints. This has e...
Patient flow in emergency departments (EDs) is notoriously difficult to manage efficiently. While much of the attention has focused on the procedures, protocols and pathways in which patients receive their first hours of care, less attention has been paid to the relational factors that make it happen. Our study is the first, to our knowledge, to co...
Where graphs are used for modelling and specifying systems, consistency is an important concern. To be a valid model of a system, the graph structure must satisfy a number of constraints. To date, consistency has primarily been viewed as a binary property: a graph either is or is not consistent with respect to a set of graph constraints. This has e...
In May 2019, a workshop on principled development of future agent-based simulations was held at Keele University. Participants spanned companies and academia, and a range of domains of interest, as well as participant career stages. This report summarizes the discussions and main outcomes from this workshop.
A reliable, accurate, and yet simple dynamic model is important to analyze, design and control hybrid rigid-continuum
robots. Such models should be fast, as simple as possible and user-friendly to be widely accepted by the ever-growing
robotics research community. In this study, we introduce two new modeling methods for continuum manipulators: a
ge...
Hybrid rigid-continuum robot design addresses a range of challenges associated with using soft robots in application areas such as robotic surgery. Design of such robots poses challenges beyond standard rigid-body robots. A fast, reliable, accurate yet simple dynamic model is important to support the design, analysis, and control of hybrid rigid-co...
Search-Based Software Engineering (SBSE) is about solving software development problems by formulating them as optimisation problems. In the last years, combining SBSE and Model-Driven Engineering (MDE), where models and model transformations are treated as key artifacts in the development of complex systems, has become increasingly popular. While...
Recently there has been increased interest in combining the fields of Model-Driven Engineering (MDE) and Search-Based Software Engineering (SBSE). Such approaches use meta-heuristic search guided by search operators (model mutators and sometimes breeders) implemented as model transformations. The design of these operators can substantially impact t...
Programming skills are an increasingly desirable asset across disciplines; however, learning to program continues to be difficult for many students. To improve pedagogy, we need to better understand the concepts that students find difficult and which have the biggest impact on their learning. Threshold-concept theory provides a potential lens on st...
Model Driven Engineering (MDE) is a methodology that aims to simplify the process of designing complex systems, by using models as an abstract representation of the underlying system.
This methodology allows domain experts to more easily focus on system design, where their knowledge is more useful, without having to work with the system implementat...
Having a reliable accurate and at the same time simple dynamic model is important in analysis, design, path planning and control of robotic systems. Such models should be fast, convenient and simple to use to be accepted by the ever growing robotics research community. Among all the challenges, controlling complex systems with compound rigid and co...
Executable DSMLs (xDSMLs) are becoming more popular as a means of efficiently building domain-specific high-level models that are testable through simulations. To develop an xDSML, one needs to provide the abstract and concrete syntax, but also the operational semantics of the language. GEMOC Studio provides a language workbench for developing xDSM...
We consider a one-to-many persuasion setting, where a persuader presents arguments to a multi-party audience, aiming to convince them of some particular goal argument. The individual audience members each have differing personal knowledge, which they use, together with the arguments presented by the persuader, to determine whether they are convince...
Morphisms between graph-transformation systems (GTSs) have been successfully used for the refinement, reuse, and composition of GTSs. All these uses share a fundamental problem: to be able to define a morphism, source and target GTSs need to be quite similar in their structure (in terms of both the type graphs and the set of rules and their respect...
Model Transformations (MT) are central building blocks of Model Driven Engineering (MDE). The size and complexity of model transformations grows as they see more wide-spread use in industry. As a result, systematic approaches to the development of high-quality and highly reliable model transformations become increasingly important. However, because...
As model transformations become more complex and more central to software development, reuse mechanisms become more important to enable effective and efficient development of high-quality transformations. A number of transformation-reuse mechanisms have been proposed, but so far there have been no effective attempts at evaluating the quality of reu...
Search-based software engineering (SBSE) treats software-design problems as search and optimisation problems addressing them by applying automated search and optimisation algorithms. A key concern is the adequate capture and representation of the structure of design problems. Model-driven engineering (MDE) has a strong focus on domain-specific lang...
Aspect-oriented programming languages extend existing languages with new features for supporting modularization of crosscutting concerns. These features however make existing source code analysis tools unable to reason over this code. Consequently, all code analysis efforts of aspect-oriented code that we are aware of have either built limited anal...
The quality of a software system can be measured by the extent to which it possesses a desired combination of quality attributes (QAs). While some QAs are achieved implicitly through the interaction of various functional components of the system, others (e.g., security) can be encapsulated in dedicated software components. These QAs are known as fu...
The Patterns in Model Engineering (PAME) workshop5 was held on 21 July 2015 as part of the Software Technologies: Applications and Foundations (STAF) conference, in L'Aquila, Italy. The workshop focused on identification, analysis and presentation of patterns across all aspects of modelling and Model-Driven Engineering (MDE), including patterns for...
Domain-specific languages (DSLs) become more useful the more specific they are to a particular domain. The resulting need for developing a substantial number of DSLs can only be satisfied if DSL development can be made as efficient as possible. One way in which to address this challenge is by enabling the reuse of (partial) DSLs in the construction...
Provenance awareness adds a new dimension to SOC systems' design allowing them to answer different kinds of questions about the system's history processing by recording information during system execution. Incorporating provenance in SOC systems requires to carefully model and analyse provenance infrastructure requirements at system's design time i...
Elasticity refers to the auto-scaling ability of clouds towards optimally matching their resources to actual demand conditions. An important problem facing the infrastructure and service providers is how to optimise their resource configurations online, to elastically serve time-varying demands. Most scaling methodologies provide resource reconfigu...
Provenance awareness adds a new dimension to the engineering of service-based systems, enabling them to increase their accountability through answering questions about the provenance of any data produced. Provenance awareness can be achieved by recording provenance data during system execution. In our previous work we have proposed an overall resea...
An increasing number of organisations want to migrate their existing applications to cloud environments to benefit from the increased scalability, flexibility, and cost reduction. Additionally, systems migrated to cloud environments have to fulfil their functional requirements , satisfy their users' requirements, and meet the or-ganisation's criter...
Infrastructure-less Mobile Ad hoc NETworks (MANETs) and Service-Oriented Architecture (SOA) enable the development of pervasive applications. Based on SOA, we can abstract devices’ resources as software services which can be combined into value-added composite services providing complex functionalities while exhibiting specified QoS properties. Con...
We address some of the limitations for extending and validat-ing MDE-based implementations of NFP analysis tools by presenting a modular, model-based partial reimplementation of one well-known anal-ysis framework, namely the Palladio Architecture Simulator. We specify the key DSLs from Palladio in the e-Motions system, describing the ba-sic simulat...
With the increasing popularity of model-driven engineering, reusability and compositionality of model-management operations, including model transformations, becomes more important. One way of addressing this problem is through generic typing mechanisms for the parameters and outputs of such operations---essentially, introducing operation-specific...
Infrastructure-less mobile ad-hoc networks enable the development of collaborative pervasive applications. Within such dynamic networks, collaboration between devices can be realised through service-orientation by abstracting device resources as services. Recently, a framework for QoS-aware service composition has been introduced which takes into a...
Provenance awareness adds a new dimension to the engineering of service-oriented systems, requiring them to be able to answer questions about the provenance of any data produced. This need is even more evident where atomic services are aggregated into added-value composite services to be delivered with certain non-functional characteristics. Prior...
Software design is an important creative step in the engineering of software systems, yet we know surprisingly little about how humans actually do it. While it has been argued before that there is a need for formal frameworks to help capture design dialogues in a format amenable to analysis, there is almost no work that actually attempts to do so....
This paper provides a solution to the TTC 2014 FIXML study case. The case requires the implementation of a straightforward mapping from XML messages in the FIXML format to a set of source files implementing the schema of such a message and, optionally, an instantiation with the data from the message. There is a requirement for producing code in a r...
Search-based software engineering views software develop-ment as a process of searching through the design space for an opti-mal solution according to some quality criteria. It seems natural to try and build automated implementations of this idea based on concepts from model-driven engineering|using meta-models as characterisations of design spaces...
The requirement for elasticity involves the ability of cloud data centers to add or remove resources at a fine grain and with a lead time of seconds, closely matching resources to the actual demand conditions. Elasticity techniques can assist cloud stakeholders in regards to: (i) alleviating data center capital and operating costs, (ii) keeping clo...
Service-oriented pervasive systems, composed of a large number of devices with heterogeneous capabilities where devices' resources are abstracted as software services, challenge the creation of high-quality composite applications. Resource heterogeneity, dynamic network connectivity, and a large number of highly distributed service providers compli...
In this paper, we address the problem of performance analysis in computer networks. We present a new meta-model designed for the performance modeling of network infrastructures in modern data centers. Instances of our metamodel can be automatically transformed into stochastic simulation models for performance prediction. We evaluate the approach in...
Dynamic and heterogeneous service-oriented systems present challenges when developing composite applications that exhibit specified quality properties. Resource heterogeneity, mobility, and a large number of spatially distributed service providers complicate the process of composing complex applications with specified QoS requirements. This PhD pro...
In the model-based development context, meta-model-based languages are dened and implemented, either in the general domain or for specic domains. Creating a new meta-model requires integration and the ability to maintain consistency throughout the various aspects of the models. QML/CS does not have a well-dened specication in terms of modelling non...
Specifying and analysing non-functional properties (NFPs) is essential for driving architectural decisions and validating composite service designs. Only where NFPs have been specified can we choose between services with similar functionality that would better satisfy our non-functional requirements. Meanwhile, incorporating provenance functionalit...
In this work-in-progress paper, we present a new meta-model designed for the performance modeling of dynamic data center network infrastructures. Our approach models characteristic aspects of Cloud data centers which were not crucial in classical data centers. We present our meta-model and demonstrate its use for performance modeling and analysis t...
The RELATE Initial Training Network (ITN), funded by the EU in the Marie Curie Actions programme, is a multidisciplinary training network of European academic and industrial partners working together to train academic researchers and next generation experts in the area of engineering and provisioning of service-based Cloud applications. In this pap...
As the complexity of online services increases, there is a corresponding need for service-oriented systems to provide support for answering questions about how they have processed and produced data. This need is particularly evident in compositions of services, where audits of each individual service's use do not provide a connected picture of the...
ContextDomain-Specific Visual Languages (DSVLs) play a crucial role in Model-Driven Engineering (MDE). Most DSVLs already allow the specification of the structure and behavior of systems. However, there is also an increasing need to model, simulate and reason about their non-functional properties. In particular, QoS usage and management constraints...
Model-driven engineering (MDE) and, in particular, the notion of domain-specific modelling languages (DSMLs) is an increasingly popular approach to systems development. DSMLs are particularly interesting because they allow encoding domain-knowledge into a modelling language and enable full code generation and analysis based on high-level models. Ho...