Hans Vangheluwe | McGill University (original) (raw)

Papers by Hans Vangheluwe

Research paper thumbnail of Co-simulation of Continuous Systems: A Tutorial

ArXiv, 2018

Co-simulation consists of the theory and techniques to enable global simulation of a coupled syst... more Co-simulation consists of the theory and techniques to enable global simulation of a coupled system via the composition of simulators. Despite the large number of applications and growing interest in the challenges, the field remains fragmented into multiple application domains, with limited sharing of knowledge. This tutorial aims at introducing co-simulation of continuous systems, targeted at researchers new to the field.

Research paper thumbnail of FTG+PM: Describing Engineering Processes in Multi-Paradigm Modelling

Model-based System Engineering (MBSE) is a methodology that uses models throughout the engineerin... more Model-based System Engineering (MBSE) is a methodology that uses models throughout the engineering to replace the paper-based approach of communication among stakeholders. Multi-Paradigm Modelling (MPM) is at the core of this engineering approach as for each phase in the engineering process the most appropriate models at the most appropriate levels of abstraction is used. A design process includes a set of activities in which the design decisions or evaluations of the (sub-) system properties are done. Furthermore, the design artifacts are transformed by the design activities. We can define transformations as the manipulation of a model with a specific purpose. MPM approaches do not have a standard way of representing processes. A process model for MPM should focus on the languages, model instances and transformations between these models at different levels of abstraction. In this chapter, we propose the Formalism Transformation Graph and Process Model (FTG+PM) as a standard representation of MPM processes. The described process can be simulated for analysis and orchestration, as a set of (automatic) transformations. Learning Objectives After reading this chapter, we expect you to be able to: • Understand why modelling the design process is of importance. • Represent the MPM processes using the Formalism Transformation Graph and Process Model (FTG+PM). • Reason on the orchestration of a modelled design process to support the designers.

Research paper thumbnail of Multi-Paradigm Modelling for Cyber-Physical Systems: Foundations

Modeling and analysis of Cyber-Physical Systems (CPS) is an inherently multidisciplinary endeavou... more Modeling and analysis of Cyber-Physical Systems (CPS) is an inherently multidisciplinary endeavour. Anyone starting in this field will unavoidably face the need for a literature reference that delivers solid foundations. Although, in specific disciplines, many techniques are used already as a matter of standard practice, their fundamentals and application are typically far from practitioners of another area. Overall, practitioners tend to use the technique that they are most familiar with, disregarding others that would be adequate for the problem at hand. The inherent cross-disciplinary nature of CPS requires distinct modelling techniques to be employed, thus prompting for a common background formalism that enables communication between all specialities. However, to this date, no such single super-formalism exists to support the multiple dimensions of the design of a CPS. Indeed, to effectively design a CPS, engineers (in the role of modellers) either need to be versed in multiple formalisms, or a fundamentally new modelling approach has to emerge. Herein, we motivate Multi-Paradigm Modelling of CPS (MPM4CPS), introducing fundamental definitions and terminology regarding CPS modelling and Multi-Paradigm, and finally, laying the ground for the rest of the book. 1.1 Introduction Cyber-Physical Systems (CPS) refer to systems that consist of cyber (as computerised implementations) and physical components [130]. The general idea is that the cyber and physical components influence each other in such way that the cyber is able to cause the physical component to change state, and that the change, in turn, will feedback , resulting in a change of state on the cyber component. Having emerged from earlier concepts, among other, in the fields of mechatronics, embedded systems, and cybernetics, literature gives the coining of the term 'Cyber-Physical System' (CPS) to Hellen Guille in 2006 [130]. CPS are often regarded as networks of multi-physical (mechanical, electrical, biochemical, etc) and computational (control, signal processing, logical inference, planning, etc) processes, often interacting with a highly uncertain and adverse environment, including human actors and other CPS. Example application domains of CPS include energy conservation, environmental control, avionics, critical infrastructure control (electric power, water resources, and communications systems), high confidence medical devices and systems, traffic control and safety, advanced automotive systems, process control, distributed robotics (telepresence, telemedicine), manufacturing, and smart city engineering. The design of CPS is currently a driver

Research paper thumbnail of DEVS: Discrete-Event Modelling and Simulation for Performance Analysis of Resource-Constrained Systems

DEVS is a popular formalism for modelling complex dynamic systems using a discrete-event abstract... more DEVS is a popular formalism for modelling complex dynamic systems using a discrete-event abstraction. At this abstraction level, a timed sequence of pertinent "events" input to a system (or internal, in the case of timeouts) cause instantaneous changes to the state of the system. Between events, the state does not change, resulting in a piecewise constant state trajectory. Main advantages of DEVS are its rigorous formal definition, and its support for modular composition. This chapter introduces the Classic DEVS formalism in a bottom-up fashion, using a simple traffic light example. The syntax and operational semantics of Atomic (i.e., non-hierarchical) models are introduced first. The semantics of Coupled (hierarchical) models is then given by translation into Atomic DEVS models. As this formal "flattening" is not efficient, a modular abstract simulator which operates directly on the coupled model is also presented. This is the common basis for subsequent efficient implementations. We continue to actual applications of DEVS modelling and simulation, as seen in performance analysis for queueing systems. Finally, we present some of the shortcomings in the Classic DEVS formalism, and show solutions to them in the form of variants of the original formalism. Learning Objectives After reading this chapter, we expect you to be able to: • Understand the difference between DEVS and other (similar) formalisms • xplain the semantics of a given DEVS model • Understand the relation and difference between a DEVS model and its simulator • Apply DEVS to simple queueing problems • Understand the major limitations of DEVS and existing extensions

Research paper thumbnail of ECEASST Preface

Abstract: Following the trend of other editions, it was held this year (2011) in

Research paper thumbnail of Towards Domain-Specific Property Languages: The ProMoBox Approach

Domain-specific modeling (DSM) is one major building block of model-driven engineering. By moving... more Domain-specific modeling (DSM) is one major building block of model-driven engineering. By moving from the solution space to the problem space, systems are designed by do-main experts. The benefits of DSM are not unique to the design of systems, the specification and verification of de-sired properties of the designed systems by the help of DSM seems the next logical step. However, this latter aspect is often neglected by DSM approaches or only supported by translating design models to formal representations on which temporal properties are defined and evaluated. Obviously, this transition to the solution space is in contradiction with DSM. To shift the specification and verification tasks to the DSM level, we extend traditional Domain-Specific Modeling Lan-guages (DSMLs) for design with ProMoBox, a language fam-ily of consisting of three DSMLs covering design, property specification, and verification results. By using ProMoBox, temporal properties can be described for finite-state ...

Research paper thumbnail of Causal-Block Diagrams: A Family of Languages for Causal Modelling of Cyber-Physical Systems

Foundations of Multi-Paradigm Modelling for Cyber-Physical Systems

The description of a complex system in terms of constituent components and their interaction is o... more The description of a complex system in terms of constituent components and their interaction is one of the most natural and intuitive ways of decomposition. Causal Block Diagram (CBD) models combine subsystem blocks in a network of relationships between input signals and output signals. Popular modelling and simulation tools such as Matlab/Simulink ® implement different variants from the family of Causal Block Diagram formalisms. This chapter gives an overview of modelling and simulation of systems with software and physical components using Causal Block Diagrams. It describes the syntax and-both declarative and operational-semantics of CBDs incrementally. Starting from simple algebraic models (no notion of time), we introduce, first a discrete notion of time (leading to discrete-time CBDs) and subsequently, a continuous notion of time (leading to continuous-time CBDs). Each new variant builds on the previous ones. Because of the heavy dependency of CBDs on numerical techniques, we give an intuitive introduction to this important field, pointing out main solutions as well as pitfalls. Learning Objectives After reading this chapter, we expect you to be able to: • Judge when to employ each of the variants of the CBD formalism (algebraic, discrete time, or continuous time); • Understand the corresponding syntax and semantics of each of the formalisms • Identify the main issues such as numerical accuracy encountered when simulating physical systems and mitigate them

Research paper thumbnail of Towards a Formal Specification of Multi-paradigm Modelling

2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)

The notion of a programming paradigm is used to classify programming languages and their accompan... more The notion of a programming paradigm is used to classify programming languages and their accompanying workflows based on their salient features. Similarly, the notion of a modelling paradigm can be used to characterise the plethora of modelling approaches used to engineer complex Cyber-Physical Systems (CPS). Modelling paradigms encompass formalisms, abstractions, workflows and supporting tool(chain)s. A precise definition of this modelling paradigm notion is lacking however. Such a definition will increase insight, will allow for formal reasoning about the consistency of modelling frameworks and may serve as the basis for the construction of new modelling, simulation, verification, synthesis,. .. environments to support design of CPS. We present a formal framework aimed at capturing the notion of modelling paradigm, as a first step towards a comprehensive formalisation of multi-paradigm modelling. Our formalisation is illustrated by CookieCAD, a simple Computer-Aided Design paradigm used in the development of cookie stencils.

Research paper thumbnail of Concrete syntax: a multi-paradigm modelling approach

Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering

Domain-Specific Modelling Languages (DSLs) allow domain experts to create models using abstractio... more Domain-Specific Modelling Languages (DSLs) allow domain experts to create models using abstractions they are most familiar with. A DSL's syntax is specified in two parts: the abstract syntax defines the language's concepts and their allowed combinations, and the concrete syntax defines how those concepts are presented to the user (typically using a graphical or textual notation). However important concrete syntax is for the usability of the language, current modelling tools offer limited possibilities for defining the mapping between abstract and concrete syntax. Often, the language designer is restricted to defining a single icon representation of each concept, which is then rendered to the user in a (fixed) graphical interface. This paper presents a framework that explicitly models the bi-directional mapping between the abstract and concrete syntax, thereby making these restrictions easy to overcome. It is more flexible and allows, amongst others, for a model to be represented in multiple front-ends, using multiple representation formats, and multiple mappings. Our approach is evaluated with an implementation in our prototype tool, the Modelverse, and by applying it on an example language.

Research paper thumbnail of Hybrid System Modelling and Simulation with Dirac Deltas

TMS/DEVS Symposium on Theory of Modeling & Simulation (TMS/DEVS 2017)

For a wide variety of problems, creating detailed continuous models of (continuous) physical syst... more For a wide variety of problems, creating detailed continuous models of (continuous) physical systems is, at the very least, impractical. Hybrid models can abstract away short transient behaviour (thus introducing discontinuities) in order to simplify the study of such systems. For example, when modelling a bouncing ball, the bounce can be abstracted as a discontinuous change of the velocity, instead of resorting to the physics of the ball (de-)compression to keep the velocity signal continuous. Impulsive differential equations can be used to model and simulate hybrid systems such as the bouncing ball. In this approach, the force acted on the ball by the floor is abstracted as an infinitely large function in an infinitely small interval of time, that is, an impulse. Current simulators cannot handle such approximations well due to the limitations of machine precision. In this paper, we explore the simulation of impulsive differential equations, where impulses are first class citizens. We present two approaches for the simulation of impulses: symbolic and numerical. Our contribution is a theoretically founded description of the implementation of both approaches in a Causal Block Diagram modelling and simulation tool. Furthermore, we investigate the conditions for which one approach is better than the other.

Research paper thumbnail of Hybrid Simulation for Cyber Physical Systems - A Panel on where are we going regarding complexity, intelligence and adaptability of CPS using simulation

M&S and Complexity in Intelligent, Adaptive and Autonomous Systems Symposium (MSCIAAS 2018)

During the Spring Simulation Multi-Conference 2017, a group of invited experts discussed challeng... more During the Spring Simulation Multi-Conference 2017, a group of invited experts discussed challenges in M&S of cyber physical systems. This 2018 panel is a follow-on activity, asking how the combination of various simulation paradigms, methodsso-called hybrid simulationcan be utilized regarding complexity, intelligence, and adaptability of cyber physical systems. This paper is a collection of position papers of the participating experts, supporting their viewpoints represented in the discussion.

Research paper thumbnail of An overview of PythonPDEVS

We present an overview of PythonPDEVS, a family of DEVS simulation kernels. While a plethora of D... more We present an overview of PythonPDEVS, a family of DEVS simulation kernels. While a plethora of DEVS simulation kernels exist nowadays, we believe that there is a gap between low-level, compiled simulation kernels, and high-level, interpreted simulation kernels. PythonPDEVS fills this gap, by providing users with a highlevel, interpreted simulation tool that offers features similar to those found in other high-level tools, while offering comparable performance to the low-level tools. In this paper, we focus on the three main motivations for the use of PythonPDEVS: (1) the use of Python as a highlevel, interpreted language, which is also used by modellers to create their models, (2) a rich feature set, comparable to other high-level tools, and (3) decent simulation performance, comparable to other low-level tools. PythonPDEVS therefore aims at users new to DEVS modelling and simulation, or programming, while still offering competitive performance.

Research paper thumbnail of Report on the 1st International Workshop on Debugging in Model-Driven Engineering (MDEbug'17)

System developers spend a significant part of their time debugging systems (i.e., locating and fi... more System developers spend a significant part of their time debugging systems (i.e., locating and fixing the cause of failures observed through verification and validation (VV adapting debugging techniques initially proposed for programming languages; tailoring debugging approaches for the domain expert using the abstractions of the considered language. The aim of the first edition of the MDEbug workshop was to bring together researchers wanting to contribute to the emerging field of debugging in model-driven engineering by discussing new ideas and compiling a research agenda. This paper summarizes the workshop's discussion session and distils a list of challenges that should be addressed in future research.

Research paper thumbnail of Debugging of Model Transformations and Contracts in SyVOLT

The SyVOLT tool verifies DSLTrans transformations by generating a state-space for the transformat... more The SyVOLT tool verifies DSLTrans transformations by generating a state-space for the transformation’s execution, and then proving structural contracts on that state-space. As with any verification activity, it is non-trivial to ensure that these contracts are error-free and correspond to the user’s intention. SyVOLT detects and localizes errors in the input artefacts for the verification activity to provide the user with assistance in debugging the transformation and/or the contracts. This experience report details the techniques built into the analysis,monitoring, and reporting stages of the tool. These techniques include detection of invalid rules and contracts, a form of reachability analysis during state-space generation, and assisting the user in understanding why a contract fails to be satisfied.

Research paper thumbnail of SyVOLT: Full Model Transformation Verification Using Contracts

We introduce SyVOLT, a plugin for the Eclipse development environment for the verification of str... more We introduce SyVOLT, a plugin for the Eclipse development environment for the verification of structural pre/post-condition contracts on model transformations. The plugin allows the user to build transformations in our transformation language DSLTrans using a visual editor. The pre-/post-condition contracts to be proved on the transformation can also be built in a similar interface. Our contract proving process is exhaustive, meaning that if a contract is said to hold, then the contract will hold for all input models of a transformation. If the contract does not hold, then the counter-examples (i.e., input models) where the contract fails will be presented. Demo: https://www.youtube.com/watch?v=8PrR5RhPptY

Research paper thumbnail of Multi-Paradigm Language Engineering and Equation-Based Object-Oriented Languages

Models are invariably used in Engineering (for design) and Science (for analysis) to precisely de... more Models are invariably used in Engineering (for design) and Science (for analysis) to precisely describe structure as well as behaviour of systems. Models may have components described in different formalisms, and may span different levels of abstraction. In addition, models are frequently transformed into domains/formalisms where certain questions can be easily answered. We introduce the term “multiparadigm modelling” to denote the interplay between multi-abstraction modelling, multi-formalism modelling and the modelling of model transformations. The foundations of multi-paradigm modelling will be presented. It will be shown how all aspects of multiparadigm modelling can be explicitly (meta-)modeled enabling the efficient synthesis of (possibly domain-specific) multi-paradigm (visual) modelling environments. We have implemented our ideas in the tool AToM 3 (A Tool for Multi-formalism and Meta Modelling) [3]. Over the last decade, Equation-based Object-Oriented Languages (EOOLs) have...

Research paper thumbnail of Evolution of modelling languages

In model-driven engineering, evolution is inevitable over the course of the complete life cycle o... more In model-driven engineering, evolution is inevitable over the course of the complete life cycle of complex softwareintensive systems and more importantly of entire product families. Not only instance models, but also entire modelling languages are subject to change. This is in particular true for domain-specific languages. Up to this day, modelling languages are evolved manually, with tedious and error-prone migration of for example instance models as a result. This position paper discusses the different evolution scenarios for various kinds of modelling artifacts, such as instance models, meta-models and transformation models. Subsequently, evolution is de-composed into four primitive scenarios such that all possible evolutions can be covered. We suggest that our structured approach will enable the design of (semi-)automatic model evolution solutions. Finally, the pre-requisites to allow an easy implementation of this solution in an MDE tool are discussed.1

Research paper thumbnail of Towards a Unifying Model Transformation Bus

Even after the advance of model driven engineering, reusable tool integration remains one of the ... more Even after the advance of model driven engineering, reusable tool integration remains one of the greatest software engineering challenges. As we venture toward generic heterogeneous modeling tool interoperability, we focus on the most commonly used application programming interface (API)-level tool integration. In this paper, we propose a unifying model transformation bus. It is a model-driven framework utilizing multi-paradigm modeling (MPM) techniques which aims towards automated interoperability realized from a specification. We demonstrate an MPM specification for integrating model transformations engines using their APIs while orchestrating method calls and data conversions. Finally, we discuss the implications of such system, its benefits, limitations and future use.

Research paper thumbnail of DEVS: Discrete-Event Modelling and Simulation for Performance Analysis of Resource-Constrained Systems

DEVS is a popular formalism for modelling complex dynamic systems using a discrete-event abstract... more DEVS is a popular formalism for modelling complex dynamic systems using a discrete-event abstraction. At this abstraction level, a timed sequence of pertinent “events” input to a system (or internal, in the case of timeouts) cause instantaneous changes to the state of the system. Between events, the state does not change, resulting in a piecewise constant state trajectory. Main advantages of DEVS are its rigorous formal definition, and its support for modular composition. This chapter introduces the Classic DEVS formalism in a bottom-up fashion, using a simple traffic light example. The syntax and operational semantics of Atomic (i.e., non-hierarchical) models are introduced first. The semantics of Coupled (hierarchical) models is then given by translation into Atomic DEVS models. As this formal “flattening” is not efficient, a modular abstract simulator which operates directly on the coupled model is also presented. This is the common basis for subsequent efficient implementations....

Research paper thumbnail of A Generalized Stepping Semantics for Model Debugging

Stepping is arguably one of themost important operations formodel execution, and model debugging ... more Stepping is arguably one of themost important operations formodel execution, and model debugging specifically. Each formalism, however, has a different set of supported stepping operations (e.g., big step, combo step, and small step). Furthermore, many tools provide a different terminology for these different steps (e.g., small step, micro step, and epsilon step). As such, the exact semantics of stepping is unknown to the modellers, and might even differ between different tools. Additionally, tool developers have no framework to check whether they have implemented all useful stepping operations for their formalism. In this paper, we define a hierarchical terminology of stepping operations to provide a generalized vocabulary for both users and developers of debuggers. We distinguish four “levels” of stepping operations, related to the available knowledge in the execution trace. From a high to low level of abstraction, we term them simulation stepping, black-box stepping, white-box st...

Research paper thumbnail of Co-simulation of Continuous Systems: A Tutorial

ArXiv, 2018

Co-simulation consists of the theory and techniques to enable global simulation of a coupled syst... more Co-simulation consists of the theory and techniques to enable global simulation of a coupled system via the composition of simulators. Despite the large number of applications and growing interest in the challenges, the field remains fragmented into multiple application domains, with limited sharing of knowledge. This tutorial aims at introducing co-simulation of continuous systems, targeted at researchers new to the field.

Research paper thumbnail of FTG+PM: Describing Engineering Processes in Multi-Paradigm Modelling

Model-based System Engineering (MBSE) is a methodology that uses models throughout the engineerin... more Model-based System Engineering (MBSE) is a methodology that uses models throughout the engineering to replace the paper-based approach of communication among stakeholders. Multi-Paradigm Modelling (MPM) is at the core of this engineering approach as for each phase in the engineering process the most appropriate models at the most appropriate levels of abstraction is used. A design process includes a set of activities in which the design decisions or evaluations of the (sub-) system properties are done. Furthermore, the design artifacts are transformed by the design activities. We can define transformations as the manipulation of a model with a specific purpose. MPM approaches do not have a standard way of representing processes. A process model for MPM should focus on the languages, model instances and transformations between these models at different levels of abstraction. In this chapter, we propose the Formalism Transformation Graph and Process Model (FTG+PM) as a standard representation of MPM processes. The described process can be simulated for analysis and orchestration, as a set of (automatic) transformations. Learning Objectives After reading this chapter, we expect you to be able to: • Understand why modelling the design process is of importance. • Represent the MPM processes using the Formalism Transformation Graph and Process Model (FTG+PM). • Reason on the orchestration of a modelled design process to support the designers.

Research paper thumbnail of Multi-Paradigm Modelling for Cyber-Physical Systems: Foundations

Modeling and analysis of Cyber-Physical Systems (CPS) is an inherently multidisciplinary endeavou... more Modeling and analysis of Cyber-Physical Systems (CPS) is an inherently multidisciplinary endeavour. Anyone starting in this field will unavoidably face the need for a literature reference that delivers solid foundations. Although, in specific disciplines, many techniques are used already as a matter of standard practice, their fundamentals and application are typically far from practitioners of another area. Overall, practitioners tend to use the technique that they are most familiar with, disregarding others that would be adequate for the problem at hand. The inherent cross-disciplinary nature of CPS requires distinct modelling techniques to be employed, thus prompting for a common background formalism that enables communication between all specialities. However, to this date, no such single super-formalism exists to support the multiple dimensions of the design of a CPS. Indeed, to effectively design a CPS, engineers (in the role of modellers) either need to be versed in multiple formalisms, or a fundamentally new modelling approach has to emerge. Herein, we motivate Multi-Paradigm Modelling of CPS (MPM4CPS), introducing fundamental definitions and terminology regarding CPS modelling and Multi-Paradigm, and finally, laying the ground for the rest of the book. 1.1 Introduction Cyber-Physical Systems (CPS) refer to systems that consist of cyber (as computerised implementations) and physical components [130]. The general idea is that the cyber and physical components influence each other in such way that the cyber is able to cause the physical component to change state, and that the change, in turn, will feedback , resulting in a change of state on the cyber component. Having emerged from earlier concepts, among other, in the fields of mechatronics, embedded systems, and cybernetics, literature gives the coining of the term 'Cyber-Physical System' (CPS) to Hellen Guille in 2006 [130]. CPS are often regarded as networks of multi-physical (mechanical, electrical, biochemical, etc) and computational (control, signal processing, logical inference, planning, etc) processes, often interacting with a highly uncertain and adverse environment, including human actors and other CPS. Example application domains of CPS include energy conservation, environmental control, avionics, critical infrastructure control (electric power, water resources, and communications systems), high confidence medical devices and systems, traffic control and safety, advanced automotive systems, process control, distributed robotics (telepresence, telemedicine), manufacturing, and smart city engineering. The design of CPS is currently a driver

Research paper thumbnail of DEVS: Discrete-Event Modelling and Simulation for Performance Analysis of Resource-Constrained Systems

DEVS is a popular formalism for modelling complex dynamic systems using a discrete-event abstract... more DEVS is a popular formalism for modelling complex dynamic systems using a discrete-event abstraction. At this abstraction level, a timed sequence of pertinent "events" input to a system (or internal, in the case of timeouts) cause instantaneous changes to the state of the system. Between events, the state does not change, resulting in a piecewise constant state trajectory. Main advantages of DEVS are its rigorous formal definition, and its support for modular composition. This chapter introduces the Classic DEVS formalism in a bottom-up fashion, using a simple traffic light example. The syntax and operational semantics of Atomic (i.e., non-hierarchical) models are introduced first. The semantics of Coupled (hierarchical) models is then given by translation into Atomic DEVS models. As this formal "flattening" is not efficient, a modular abstract simulator which operates directly on the coupled model is also presented. This is the common basis for subsequent efficient implementations. We continue to actual applications of DEVS modelling and simulation, as seen in performance analysis for queueing systems. Finally, we present some of the shortcomings in the Classic DEVS formalism, and show solutions to them in the form of variants of the original formalism. Learning Objectives After reading this chapter, we expect you to be able to: • Understand the difference between DEVS and other (similar) formalisms • xplain the semantics of a given DEVS model • Understand the relation and difference between a DEVS model and its simulator • Apply DEVS to simple queueing problems • Understand the major limitations of DEVS and existing extensions

Research paper thumbnail of ECEASST Preface

Abstract: Following the trend of other editions, it was held this year (2011) in

Research paper thumbnail of Towards Domain-Specific Property Languages: The ProMoBox Approach

Domain-specific modeling (DSM) is one major building block of model-driven engineering. By moving... more Domain-specific modeling (DSM) is one major building block of model-driven engineering. By moving from the solution space to the problem space, systems are designed by do-main experts. The benefits of DSM are not unique to the design of systems, the specification and verification of de-sired properties of the designed systems by the help of DSM seems the next logical step. However, this latter aspect is often neglected by DSM approaches or only supported by translating design models to formal representations on which temporal properties are defined and evaluated. Obviously, this transition to the solution space is in contradiction with DSM. To shift the specification and verification tasks to the DSM level, we extend traditional Domain-Specific Modeling Lan-guages (DSMLs) for design with ProMoBox, a language fam-ily of consisting of three DSMLs covering design, property specification, and verification results. By using ProMoBox, temporal properties can be described for finite-state ...

Research paper thumbnail of Causal-Block Diagrams: A Family of Languages for Causal Modelling of Cyber-Physical Systems

Foundations of Multi-Paradigm Modelling for Cyber-Physical Systems

The description of a complex system in terms of constituent components and their interaction is o... more The description of a complex system in terms of constituent components and their interaction is one of the most natural and intuitive ways of decomposition. Causal Block Diagram (CBD) models combine subsystem blocks in a network of relationships between input signals and output signals. Popular modelling and simulation tools such as Matlab/Simulink ® implement different variants from the family of Causal Block Diagram formalisms. This chapter gives an overview of modelling and simulation of systems with software and physical components using Causal Block Diagrams. It describes the syntax and-both declarative and operational-semantics of CBDs incrementally. Starting from simple algebraic models (no notion of time), we introduce, first a discrete notion of time (leading to discrete-time CBDs) and subsequently, a continuous notion of time (leading to continuous-time CBDs). Each new variant builds on the previous ones. Because of the heavy dependency of CBDs on numerical techniques, we give an intuitive introduction to this important field, pointing out main solutions as well as pitfalls. Learning Objectives After reading this chapter, we expect you to be able to: • Judge when to employ each of the variants of the CBD formalism (algebraic, discrete time, or continuous time); • Understand the corresponding syntax and semantics of each of the formalisms • Identify the main issues such as numerical accuracy encountered when simulating physical systems and mitigate them

Research paper thumbnail of Towards a Formal Specification of Multi-paradigm Modelling

2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)

The notion of a programming paradigm is used to classify programming languages and their accompan... more The notion of a programming paradigm is used to classify programming languages and their accompanying workflows based on their salient features. Similarly, the notion of a modelling paradigm can be used to characterise the plethora of modelling approaches used to engineer complex Cyber-Physical Systems (CPS). Modelling paradigms encompass formalisms, abstractions, workflows and supporting tool(chain)s. A precise definition of this modelling paradigm notion is lacking however. Such a definition will increase insight, will allow for formal reasoning about the consistency of modelling frameworks and may serve as the basis for the construction of new modelling, simulation, verification, synthesis,. .. environments to support design of CPS. We present a formal framework aimed at capturing the notion of modelling paradigm, as a first step towards a comprehensive formalisation of multi-paradigm modelling. Our formalisation is illustrated by CookieCAD, a simple Computer-Aided Design paradigm used in the development of cookie stencils.

Research paper thumbnail of Concrete syntax: a multi-paradigm modelling approach

Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering

Domain-Specific Modelling Languages (DSLs) allow domain experts to create models using abstractio... more Domain-Specific Modelling Languages (DSLs) allow domain experts to create models using abstractions they are most familiar with. A DSL's syntax is specified in two parts: the abstract syntax defines the language's concepts and their allowed combinations, and the concrete syntax defines how those concepts are presented to the user (typically using a graphical or textual notation). However important concrete syntax is for the usability of the language, current modelling tools offer limited possibilities for defining the mapping between abstract and concrete syntax. Often, the language designer is restricted to defining a single icon representation of each concept, which is then rendered to the user in a (fixed) graphical interface. This paper presents a framework that explicitly models the bi-directional mapping between the abstract and concrete syntax, thereby making these restrictions easy to overcome. It is more flexible and allows, amongst others, for a model to be represented in multiple front-ends, using multiple representation formats, and multiple mappings. Our approach is evaluated with an implementation in our prototype tool, the Modelverse, and by applying it on an example language.

Research paper thumbnail of Hybrid System Modelling and Simulation with Dirac Deltas

TMS/DEVS Symposium on Theory of Modeling & Simulation (TMS/DEVS 2017)

For a wide variety of problems, creating detailed continuous models of (continuous) physical syst... more For a wide variety of problems, creating detailed continuous models of (continuous) physical systems is, at the very least, impractical. Hybrid models can abstract away short transient behaviour (thus introducing discontinuities) in order to simplify the study of such systems. For example, when modelling a bouncing ball, the bounce can be abstracted as a discontinuous change of the velocity, instead of resorting to the physics of the ball (de-)compression to keep the velocity signal continuous. Impulsive differential equations can be used to model and simulate hybrid systems such as the bouncing ball. In this approach, the force acted on the ball by the floor is abstracted as an infinitely large function in an infinitely small interval of time, that is, an impulse. Current simulators cannot handle such approximations well due to the limitations of machine precision. In this paper, we explore the simulation of impulsive differential equations, where impulses are first class citizens. We present two approaches for the simulation of impulses: symbolic and numerical. Our contribution is a theoretically founded description of the implementation of both approaches in a Causal Block Diagram modelling and simulation tool. Furthermore, we investigate the conditions for which one approach is better than the other.

Research paper thumbnail of Hybrid Simulation for Cyber Physical Systems - A Panel on where are we going regarding complexity, intelligence and adaptability of CPS using simulation

M&S and Complexity in Intelligent, Adaptive and Autonomous Systems Symposium (MSCIAAS 2018)

During the Spring Simulation Multi-Conference 2017, a group of invited experts discussed challeng... more During the Spring Simulation Multi-Conference 2017, a group of invited experts discussed challenges in M&S of cyber physical systems. This 2018 panel is a follow-on activity, asking how the combination of various simulation paradigms, methodsso-called hybrid simulationcan be utilized regarding complexity, intelligence, and adaptability of cyber physical systems. This paper is a collection of position papers of the participating experts, supporting their viewpoints represented in the discussion.

Research paper thumbnail of An overview of PythonPDEVS

We present an overview of PythonPDEVS, a family of DEVS simulation kernels. While a plethora of D... more We present an overview of PythonPDEVS, a family of DEVS simulation kernels. While a plethora of DEVS simulation kernels exist nowadays, we believe that there is a gap between low-level, compiled simulation kernels, and high-level, interpreted simulation kernels. PythonPDEVS fills this gap, by providing users with a highlevel, interpreted simulation tool that offers features similar to those found in other high-level tools, while offering comparable performance to the low-level tools. In this paper, we focus on the three main motivations for the use of PythonPDEVS: (1) the use of Python as a highlevel, interpreted language, which is also used by modellers to create their models, (2) a rich feature set, comparable to other high-level tools, and (3) decent simulation performance, comparable to other low-level tools. PythonPDEVS therefore aims at users new to DEVS modelling and simulation, or programming, while still offering competitive performance.

Research paper thumbnail of Report on the 1st International Workshop on Debugging in Model-Driven Engineering (MDEbug'17)

System developers spend a significant part of their time debugging systems (i.e., locating and fi... more System developers spend a significant part of their time debugging systems (i.e., locating and fixing the cause of failures observed through verification and validation (VV adapting debugging techniques initially proposed for programming languages; tailoring debugging approaches for the domain expert using the abstractions of the considered language. The aim of the first edition of the MDEbug workshop was to bring together researchers wanting to contribute to the emerging field of debugging in model-driven engineering by discussing new ideas and compiling a research agenda. This paper summarizes the workshop's discussion session and distils a list of challenges that should be addressed in future research.

Research paper thumbnail of Debugging of Model Transformations and Contracts in SyVOLT

The SyVOLT tool verifies DSLTrans transformations by generating a state-space for the transformat... more The SyVOLT tool verifies DSLTrans transformations by generating a state-space for the transformation’s execution, and then proving structural contracts on that state-space. As with any verification activity, it is non-trivial to ensure that these contracts are error-free and correspond to the user’s intention. SyVOLT detects and localizes errors in the input artefacts for the verification activity to provide the user with assistance in debugging the transformation and/or the contracts. This experience report details the techniques built into the analysis,monitoring, and reporting stages of the tool. These techniques include detection of invalid rules and contracts, a form of reachability analysis during state-space generation, and assisting the user in understanding why a contract fails to be satisfied.

Research paper thumbnail of SyVOLT: Full Model Transformation Verification Using Contracts

We introduce SyVOLT, a plugin for the Eclipse development environment for the verification of str... more We introduce SyVOLT, a plugin for the Eclipse development environment for the verification of structural pre/post-condition contracts on model transformations. The plugin allows the user to build transformations in our transformation language DSLTrans using a visual editor. The pre-/post-condition contracts to be proved on the transformation can also be built in a similar interface. Our contract proving process is exhaustive, meaning that if a contract is said to hold, then the contract will hold for all input models of a transformation. If the contract does not hold, then the counter-examples (i.e., input models) where the contract fails will be presented. Demo: https://www.youtube.com/watch?v=8PrR5RhPptY

Research paper thumbnail of Multi-Paradigm Language Engineering and Equation-Based Object-Oriented Languages

Models are invariably used in Engineering (for design) and Science (for analysis) to precisely de... more Models are invariably used in Engineering (for design) and Science (for analysis) to precisely describe structure as well as behaviour of systems. Models may have components described in different formalisms, and may span different levels of abstraction. In addition, models are frequently transformed into domains/formalisms where certain questions can be easily answered. We introduce the term “multiparadigm modelling” to denote the interplay between multi-abstraction modelling, multi-formalism modelling and the modelling of model transformations. The foundations of multi-paradigm modelling will be presented. It will be shown how all aspects of multiparadigm modelling can be explicitly (meta-)modeled enabling the efficient synthesis of (possibly domain-specific) multi-paradigm (visual) modelling environments. We have implemented our ideas in the tool AToM 3 (A Tool for Multi-formalism and Meta Modelling) [3]. Over the last decade, Equation-based Object-Oriented Languages (EOOLs) have...

Research paper thumbnail of Evolution of modelling languages

In model-driven engineering, evolution is inevitable over the course of the complete life cycle o... more In model-driven engineering, evolution is inevitable over the course of the complete life cycle of complex softwareintensive systems and more importantly of entire product families. Not only instance models, but also entire modelling languages are subject to change. This is in particular true for domain-specific languages. Up to this day, modelling languages are evolved manually, with tedious and error-prone migration of for example instance models as a result. This position paper discusses the different evolution scenarios for various kinds of modelling artifacts, such as instance models, meta-models and transformation models. Subsequently, evolution is de-composed into four primitive scenarios such that all possible evolutions can be covered. We suggest that our structured approach will enable the design of (semi-)automatic model evolution solutions. Finally, the pre-requisites to allow an easy implementation of this solution in an MDE tool are discussed.1

Research paper thumbnail of Towards a Unifying Model Transformation Bus

Even after the advance of model driven engineering, reusable tool integration remains one of the ... more Even after the advance of model driven engineering, reusable tool integration remains one of the greatest software engineering challenges. As we venture toward generic heterogeneous modeling tool interoperability, we focus on the most commonly used application programming interface (API)-level tool integration. In this paper, we propose a unifying model transformation bus. It is a model-driven framework utilizing multi-paradigm modeling (MPM) techniques which aims towards automated interoperability realized from a specification. We demonstrate an MPM specification for integrating model transformations engines using their APIs while orchestrating method calls and data conversions. Finally, we discuss the implications of such system, its benefits, limitations and future use.

Research paper thumbnail of DEVS: Discrete-Event Modelling and Simulation for Performance Analysis of Resource-Constrained Systems

DEVS is a popular formalism for modelling complex dynamic systems using a discrete-event abstract... more DEVS is a popular formalism for modelling complex dynamic systems using a discrete-event abstraction. At this abstraction level, a timed sequence of pertinent “events” input to a system (or internal, in the case of timeouts) cause instantaneous changes to the state of the system. Between events, the state does not change, resulting in a piecewise constant state trajectory. Main advantages of DEVS are its rigorous formal definition, and its support for modular composition. This chapter introduces the Classic DEVS formalism in a bottom-up fashion, using a simple traffic light example. The syntax and operational semantics of Atomic (i.e., non-hierarchical) models are introduced first. The semantics of Coupled (hierarchical) models is then given by translation into Atomic DEVS models. As this formal “flattening” is not efficient, a modular abstract simulator which operates directly on the coupled model is also presented. This is the common basis for subsequent efficient implementations....

Research paper thumbnail of A Generalized Stepping Semantics for Model Debugging

Stepping is arguably one of themost important operations formodel execution, and model debugging ... more Stepping is arguably one of themost important operations formodel execution, and model debugging specifically. Each formalism, however, has a different set of supported stepping operations (e.g., big step, combo step, and small step). Furthermore, many tools provide a different terminology for these different steps (e.g., small step, micro step, and epsilon step). As such, the exact semantics of stepping is unknown to the modellers, and might even differ between different tools. Additionally, tool developers have no framework to check whether they have implemented all useful stepping operations for their formalism. In this paper, we define a hierarchical terminology of stepping operations to provide a generalized vocabulary for both users and developers of debuggers. We distinguish four “levels” of stepping operations, related to the available knowledge in the execution trace. From a high to low level of abstraction, we term them simulation stepping, black-box stepping, white-box st...