Editorial to theme issue on model-driven engineering of component-based software systems
This theme issue aims at providing a forum for disseminating latest trends in the use and combination of model-driven engineering (MDE) and component-based software engineering (CBSE). One of the main aims of MDE is to increase productivity in the ...
A framework to specify system requirements using natural interpretation of UML/MARTE diagrams
The ever-increasing design complexity of embedded systems is constantly pressing the demand for more abstract design levels and possible methods for automatic verification and synthesis. Transforming a text-based user requirements document into ...
Supporting timing analysis of vehicular embedded systems through the refinement of timing constraints
The collective use of several models and tools at various abstraction levels and phases during the development of vehicular distributed embedded systems poses many challenges. Within this context, this paper targets the challenges that are concerned ...
Synthesis of verifiable concurrent Java components from formal models
Concurrent systems are hard to program, and ensuring quality by means of traditional testing techniques is often very hard as errors may not show up easily and reproducing them is hard. In previous work, we have advocated a model-driven approach to the ...
Multi-objective exploration of architectural designs by composition of model transformations
Designing software architectures and optimizing them based on extra-functional properties (EFPs) require to identify appropriate design decisions and to apply them on valid architectural elements. Software designers have to check whether the resulting ...
Using internal domain-specific languages to inherit tool support and modularity for model transformations
Model-driven engineering (MDE) has proved to be a useful approach to cope with today's ever-growing complexity in the development of software systems; nevertheless, it is not widely applied in industry. As suggested by multiple studies, tool support is ...
Transactional execution of hierarchical reconfigurations in cyber-physical systems
Cyber-physical systems reconfigure the structure of their software architecture, e.g., to avoid hazardous situations and to optimize operational conditions like their energy consumption. These reconfigurations have to be safe so that the systems protect ...
Toward live domain-specific languages
Live programming is a style of development characterized by incremental change and immediate feedback. Instead of long edit-compile cycles, developers modify a running program by changing its source code, receiving immediate feedback as it instantly ...
F-Alloy: a relational model transformation language based on Alloy
Model transformations are one of the core artifacts of a model-driven engineering approach. The relational logic language Alloy has been used in the past to verify properties of model transformations. In this paper we introduce the concept of functional ...
Change propagation and bidirectionality in internal transformation DSLs
Despite good results in several industrial projects, model-driven engineering (MDE) has not been widely adopted in industry. Although MDE has existed for more than a decade now, the lack of tool support is still one of the major problems, according to ...
A systematic approach to constructing families of incremental topology control algorithms using graph transformation
In the communication system domain, constructing and maintaining network topologies via topology control algorithms is an important crosscutting research area. Network topologies are usually modeled using attributed graphs whose nodes and edges ...
Translation of ATL to AGT and application to a code generator for Simulink
Analysing and reasoning on model transformations has become very relevant for various applications such as ensuring the correctness of transformations. ATL is a model transformation language with rich semantics and a focus on usability, making its ...
Type inference in flexible model-driven engineering using classification algorithms
Flexible or bottom-up model-driven engineering (MDE) is an emerging approach to domain and systems modelling. Domain experts, who have detailed domain knowledge, typically lack the technical expertise to transfer this knowledge using traditional MDE ...
Incremental execution of model-to-text transformations using property access traces
Automatic generation of textual artefacts (including code, documentation, configuration files, build scripts, etc.) from models in a software development process through the application of model-to-text (M2T) transformation is a common MDE activity. ...
Advanced and efficient execution trace management for executable domain-specific modeling languages
Executable Domain-Specific Modeling Languages (xDSMLs) enable the application of early dynamic verification and validation (V&V) techniques for behavioral models. At the core of such techniques, execution traces are used to represent the evolution of ...
Experimental evaluation of a novel equivalence class partition testing strategy
In this paper, a complete model-based equivalence class testing strategy recently developed by the authors is experimentally evaluated. This black-box strategy applies to deterministic systems with infinite input domains and finite internal state and ...
Fast test suite-driven model-based fault localisation with application to pinpointing defects in student programs
Fault localisation, i.e. the identification of program locations that cause errors, takes significant effort and cost. We describe a fast model-based fault localisation algorithm that, given a test suite, uses symbolic execution methods to fully ...
A feature-based classification of formal verification techniques for software models
Software models are the core development artifact in model-based engineering (MBE). The MBE paradigm promotes the use of software models to describe structure and behavior of the system under development and proposes the automatic generation of ...
Effective product-line testing using similarity-based product prioritization
A software product line comprises a family of software products that share a common set of features. Testing an entire product-line product-by-product is infeasible due to the potentially exponential number of products in the number of features. ...
A model-driven approach for vulnerability evaluation of modern physical protection systems
Modern physical protection systems integrate a number of security systems (including procedures, equipments, and personnel) into a single interface to ensure an adequate level of protection of people and critical assets against malevolent human actions. ...
A metrics suite for UML model stability
Software metrics have become an essential part of software development because of their importance in estimating cost, effort, and time during the development phase. Many metrics have been proposed to assess different software quality attributes, ...
Lessons learned from developing mbeddr: a case study in language engineering with MPS
Language workbenches are touted as a promising technology to engineer languages for use in a wide range of domains, from programming to science to business. However, not many real-world case studies exist that evaluate the suitability of language ...
Realizing strategic fit within the business architecture: the design of a Process-Goal Alignment modeling and analysis technique
The realization of strategic fit within the business architecture is an important challenge for organizations. Research in the field of enterprise modeling has resulted in the development of a wide range of modeling techniques that provide visual ...
DataMock: An Agile Approach for Building Data Models from User Interface Mockups
In modern software development, much time is devoted and much attention is paid to the activity of data modeling and the translation of data models into databases. This has motivated the proposal of different approaches and tools to support this ...
Reusable specification templates for defining dynamic semantics of DSLs
In the context of model-driven engineering, the dynamic (execution) semantics of domain-specific languages (DSLs) is usually not specified explicitly and stays (hard)coded in model transformations and code generation. This poses challenges such as ...
Interactive web interfaces modeling, simulation and analysis using Colored Petri Nets
Interaction modeling is a relevant activity during software development processes. Created relying on Petri Nets theory and aiming to represent discrete time events, Colored Petri Nets (CPNs) are a graphical formal language developed and widely employed ...
Synthesis and exploration of multi-level, multi-perspective architectures of automotive embedded systems
In industry, evaluating candidate architectures for automotive embedded systems is routinely done during the design process. Today's engineers, however, are limited in the number of candidates that they are able to evaluate in order to find the optimal ...
SQL-PL4OCL: an automatic code generator from OCL to SQL procedural language
In this paper, we introduce a SQL-PL code generator for OCL expressions that, in contrast to other proposals, is able to map OCL iterate and iterator expressions thanks to our use of stored procedures. We explain how the mapping presented here ...