scholarly journals Mixed-semantics composition of statecharts for the component-based design of reactive systems

2020 ◽  
Vol 19 (6) ◽  
pp. 1483-1517
Author(s):  
Bence Graics ◽  
Vince Molnár ◽  
András Vörös ◽  
István Majzik ◽  
Dániel Varró

Abstract The increasing complexity of reactive systems can be mitigated with the use of components and composition languages in model-driven engineering. Designing composition languages is a challenge itself as both practical applicability (support for different composition approaches in various application domains), and precise formal semantics (support for verification and code generation) have to be taken into account. In our Gamma Statechart Composition Framework, we designed and implemented a composition language for the synchronous, cascade synchronous and asynchronous composition of statechart-based reactive components. We formalized the semantics of this composition language that provides the basis for generating composition-related Java source code as well as mapping the composite system to a back-end model checker for formal verification and model-based test case generation. In this paper, we present the composition language with its formal semantics, putting special emphasis on design decisions related to the language and their effects on verifiability and applicability. Furthermore, we demonstrate the design and verification functionality of the composition framework by presenting case studies from the cyber-physical system domain.

2008 ◽  
Vol 3 (1) ◽  
pp. 13-22
Author(s):  
Marcio F. da S. Oliveira ◽  
Eduardo W. Brião ◽  
Francisco A. Nascimento ◽  
Flávio R. Wagner

This paper presents a Model Driven Engineering approach for MPSoC Design Space Exploration (DSE) to deal with the ever-growing challenge of designing complex embedded systems. This approach allows the designer to automatically select the most adequate modeling solution for application, platform, and mapping between application and platform, in an integrated and simultaneous way and at a very early design stage, before system synthesis and code generation have been performed. The exploration is based on high-level estimates of physical characteristics of each candidate solution. In an experimental setting, the DSE tool automatically performs four design activities: it selects the number of processors, maps tasks to processors, allocates processors to bus segments, and sets the voltage of each processor. Experimental results, extracted from a DSE scenario for a real application, show that the proposed estimation and exploration approach may find a suitable solution regarding the design requirements and constraints in a very short time, with an acceptable accuracy, without relying on costly synthesis-and-simulation cycles.


Author(s):  
Francisco Valverde ◽  
Oscar Pastor ◽  
Pedro Valderas ◽  
Vicente Pelechano

Web 2.0 applications emphasize the end-user involvement to provide the content. In this new scenario, an easy to use and a highly interactive user interface (UI) is a key requirement in order to appeal the end-user. The main objective of this chapter is to introduce a model-driven engineering process to create rich Internet applications (RIA) that address the requirements that a Web 2.0 application must fulfill. To achieve this goal, an interaction model made up of two complementary models is proposed: On the one hand, an abstract interaction model, which clearly defines the interactions between the user and the system and on the other hand, a concrete RIA interaction model that specifies the semantics needed to accurately define RIA for the Web 2.0 domain. Both models are introduced inside a model-driven code generation process with the aim of producing a fully functional Web 2.0 application. To illustrate the contribution of this chapter, the approach is applied in a case study related to the Web 2.0 domain.


Author(s):  
Juan D. Lara ◽  
Esther Guerra ◽  
Hans Vangheluwe

Since the beginning of computer science more than 50 years ago, software engineers have sought techniques resulting in higher levels of quality and productivity. Some of these efforts have concentrated in increasing the level of abstraction in programming languages (from assembler to structured languages to object-oriented languages). In the last few years, we have witnessed an increasing focus on development based on high-level, graphical models. They are used not only as a means to documentthe analysis and design activities, but also as the actual “implementation” of the application, as well as for automatic analysis, code, and test case generation. The notations used to describe the models can be standard and general purpose (for example, UML) or tightly customized for the application domain. Code generation for the full application is only accomplished for specific, well-understood application domains. A key initiative in this direction is OMG’s Model-Driven Architecture (MDA), where models are progressively transformed until executable code is obtained. In this chapter, we give an overview of these technologies and propose ideas following this line (concerning metamodeling and the use of visual languages for the specification of model transformation, model simulation, analysis and code generation), and examine the impact of model-based techniques in the development process.


Author(s):  
Chris Thompson ◽  
Jules White ◽  
Douglas C. Schmidt

Smartphones are mobile devices that travel with their owners and provide increasingly powerful services. The software implementing these services must conserve battery power since smartphones may operate for days without being recharged. It is hard, however, to design smartphone software that minimizes power consumption. For example, multiple layers of abstractions and middleware sit between an application and the hardware, which make it hard to predict the power consumption of a potential application design accurately. Application developers must therefore wait until after implementation (when changes are more expensive) to determine the power consumption characteristics of a design. This chapter provides three contributions to the study of applying model-driven engineering to analyze power consumption early in the lifecycle of smartphone applications. First, it presents a model-driven methodology for accurately emulating the power consumption of smartphone application architectures. Second, it describes the System Power Optimization Tool (SPOT), which is a model-driven tool that automates power consumption emulation code generation and simplifies analysis. Third, it empirically demonstrates how SPOT can estimate power consumption to within ~3-4% of actual power consumption for representative smartphone applications.


Author(s):  
Bill Karakostas ◽  
Yannis Zorgios

Composite applications integrate web services with other business applications and components to implement business processes. Model-driven approaches tackle the complexity of composite applications caused by domain and technology heterogeneity and integration requirements. The method and framework described in this paper generate all artefacts (workflow, data, user interfaces, etc.), required for a composite application from high level service oriented descriptions of the composite application, using model transformation and code generation techniques.


Author(s):  
Rafael Corveira da Cruz Gonçalves ◽  
Isabel Azevedo

A RESTful web service implementation requires following the constrains inherent to REST architectural style, which, being a non-trivial task, often leads to solutions that do not fulfill those requirements properly. Model-driven techniques have been proposed to improve the development of complex applications. In model-driven software development, software is not implemented manually based on informal descriptions but partially or completely generated from formal models derived from metamodels. A model-driven approach, materialized in a domain specific language that integrates the OpenAPI specification, an emerging standard for describing REST services, allows developers to use a design first approach in the web service development process, focusing in the definition of resources and their relationships, leaving the repetitive code production process to the automation provided by model-driven engineering techniques. The code generation process covers the entire web-service flow from the description and exposure of the endpoints to the definition of database tables.


Author(s):  
Diego Alonso ◽  
Cristina Vicente-Chicote ◽  
Pedro Sánchez ◽  
Bárbara Álvarez ◽  
Fernando Losilla

Sign in / Sign up

Export Citation Format

Share Document