Haut PDF Model-Based Software Engineering : Methodologies for Model-Code Synchronization in Reactive System Development

Model-Based Software Engineering : Methodologies for Model-Code Synchronization in Reactive System Development

Model-Based Software Engineering : Methodologies for Model-Code Synchronization in Reactive System Development

This principle is also applied to the recently proposed P [ Desai 2013 ] and P# [ Deligiannis 2015 ] programming languages. P and P# embed a small subset of UML-SM elements, in par- ticular the state and transition concepts, into C and C#, respectively, for dealing with complexity. P and P#, however, do not intend to conform to UML as our approach does. In [ Henry 2008 ], UML-SM elements are embedded into C++, namely meta state machine. We compare this latter with our approach by seeing from them from different perspectives. Seeing them from a perspective of supported UML-SM elements, the extended language has a broader scope. As previously presented, we provide a complete set of UML-SM ele- ments represented in C++. Meta state machine, however, does not support pseudo state join, choice, junction, signal-event, time-event, and change-event. Speaking about state machine-based design, we use a UML-SM to define the behavior of a component that can interact with other components through its ports. On the other hand, each state machine in the meta state machine is not associated with any component. Regarding the implemen- tation, state machine elements in the extended code are used for generating dynamic library code, namely delegatee code as previously described, by using a code generation pattern that is customizable (another code generation pattern can be used instead). Here, dynamic means to only generate the delegatee code for the used state machine elements. In con- trast, the meta state machine encodes the supported state machine elements into a static library. In fact, it uses an internally "hard-coded" code generation pattern that is hard to replace. Besides, the syntax of the state machine in the extended code is flexible and can be adapted to developers’ preference. Subsection 5.1.2 on page 73 shows our proof-of-concept for the syntax that is similar to that of some textual modeling languages such as Umple. In contrast, the approach in [ Henry 2008 ] proposes a rather complicated syntax.
En savoir plus

185 En savoir plus

Use of Model-Based Software Product Line Engineering for Certifiable Avionics Software Development

Use of Model-Based Software Product Line Engineering for Certifiable Avionics Software Development

Another project very similar to ours was realized by Wölfl and others in [41], who assessed cost reduction on generating certification artifacts by using model-based and product-line technology for the avionics software of NH90 military helicopter at Airbus. In our paper, we also attempt to reduce the cost of certifiable software development for an FMS, using model-based software product line technologies. The main difference is that we are using off-the-shelf commercial software modeling and SPL management tools. Wölfl and others, at Airbus, used open source and in-house software development tools. The advantage of using open-source tools is that these tools ca be qualified,and there is no need to review the certification artifacts they generate. In our case, we needed to adapt our software development process to the commercial tools we were using. For example, we needed to review the code automatically generated by Rhapsody, in addition to the Rhapsody UML models, while Wölfl and others, at Airbus, reviewed just the source model, not the code generated. In our case, Esterline CMC Electronics made it clear that they did not want to allocate resources for the development, qualification and support of software development tools. Their decision is understandable, considering that the code reviews represent a small portion of all the effort related to certifiable software development. For example, in our case study we found that the average effort for design and code was 28% of total software development costs and that code review represents a small portion of this 28%, in order of 5% to 10% of total costs for certifiable avionics systems.
En savoir plus

93 En savoir plus

SCADE System, a comprehensive toolset for smooth transition from Model-Based System Engineering to certified embedded control and display software

SCADE System, a comprehensive toolset for smooth transition from Model-Based System Engineering to certified embedded control and display software

Now the Partitions, as a sub-part of the system model, can be exported as standalone SCADE System models to be implemented by SW specialists, thus avoiding sharing the IP of the whole system model. Another mean, also supported by SCADE System, is the use of model libraries; if a block is defined as a library model together with all datatype it uses, the library itself can be shared with the SW engineers. To initialize the SW design of a partition, the synchronization with SCADE Suite is used; a SCADE operator is automatically generated with all inputs and outputs, named and typed according to the System information. The SW design proceeds with SCADE Suite modeling constructs. In real project neither the system model nor the SW design is done at the first shot; both engineering teams are working in parallel in an increment way. Re-synchronization between the SW interfaces and the system model Partitions can be made either on SW design side, or on system model side. Thanks to the traceability information set automatically between the corresponding elements, the re-synchronization algorithm does not affect the pieces that were synchronized previously, thus does not “break” the usage of these elements in their respective models. The semantic diff feature can be used to establish with the other team the contract of the update requested.
En savoir plus

9 En savoir plus

Generic Model-based Approaches for Software Reverse Engineering and Comprehension

Generic Model-based Approaches for Software Reverse Engineering and Comprehension

Illustration A practical illustration of the need for reverse engineering capabilities for executable behaviors is the ARTIST initiative. It has resulted in both an overall methodology and the related tooling aimed at providing a global model-based re-engineering approach for migrating existing software more easily to novel cloud offerings [ 17 , 143 ]. Notably, this involves selecting a cloud storage solution given a set of persistence requirements derived from software implemented in a variety of programming languages. This in turn requires at least (i) to obtain a precise data model and (ii) to understand how application data is persisted and retrieved. However, statically producing a representation allowing to reason on structural aspects is not enough. On the contrary, it is highly required to dynamically analyze the behavioral aspects of the system for deriving improvements concerning non- functional aspects. Dealing with such a scenario highlighted the practical need for a dynamic/behavioral reverse engineering support, as well as the effort required to realize it separately for several different programming languages (e.g. Java or C# that were both in the scope of the project). This would imply duplicating the work, e.g. to instrument source code and produce the runtime information in terms of machine-interpretable execution traces.
En savoir plus

173 En savoir plus

Model Based System Engineering Introduction within Industrial Engineering Curriculum

Model Based System Engineering Introduction within Industrial Engineering Curriculum

174, Gif-sur-Yvette, 91191 France 3 Schneider Electric ABSTRACT Systems Engineering (SE) has been initially developed to manage large complex system development in the defence or aerospace industry. As the complexity of product increases, the product development approaches evolved accordingly. Complex architectures have to be developed including multiple disciplines of engineering (software, electronics, mechanics etc..). Automotive industry moved to SE about 15 years ago, medical devices industry had been implementing such models to meet accreditation agencies requirements and general industry is now transforming their processes to address complex solution that add value to their customers. Moreover, some companies started to apply Model Based System Engineering (MBSE) in their processes to validate requirements and architectures. MBSE tools have been progressing for a decade, yet MBSE value proposition is not fully agreed within industry and adoption remains slow. To face these challenges, it seems important to introduce industrial engineering students to a complete view of SE including the benefits, the challenges and the technics of MBSE. In this paper, we discuss the question of competencies in Systems Engineering to address within the Industrial Engineering curriculum of Grenoble school of Industrial Engineering and Management. Since many dimensions are already addressed within the curriculum, modifications of some courses have been implemented to introduce SE and MBSE. A mapping with Graduate Reference Curriculum for Systems Engineering students’ outcomes is presented and pedagogical choices using projects and case studies are discussed. Lessons learnt from experience with students learning outcomes are given.
En savoir plus

7 En savoir plus

Model-driven software development approaches in robotics research

Model-driven software development approaches in robotics research

Round-tripping Problem Round-tripping is a major concern of model-based system, especially if it has multiple abstraction layers and differ- ent horizontal separation of concerns. It is a major prob- lem in analyzed approaches because separation of concerns is applied only at the model level. Restricting SoC only to models and in addition only to single abstraction levels worsens the round tripping effect and reduces the reusabil- ity. Providing SoC to models and code can support better traceability and system evolution. Aspect oriented mod- eling and template based techniques can be used to pro- vide an integrated way of dealing with SoC. It will sim- plify the model development and transformation tasks [26] [16]. Approaches in RobotML and V3CMM provide only loose coupling among different viewpoints, for example in V3CMM approach, the uni-directional relationship between structural, coordinational, and algorithmic views have to manually be corrected if there is change in one of the view- points.
En savoir plus

7 En savoir plus

A Model-Driven Engineering Framework for Constrained Model Search

A Model-Driven Engineering Framework for Constrained Model Search

1.1 Brief introduction to MDE and model transformation Model Driven Engineering is an emerging research area that considers the main software artifacts as typed graphs. This comes from an industrial need to have a regular and homo- geneous organization where dierent facets of a software system may be easily separated or combined. The basic assumption of MDE is that the classical programming code is often not the right representation level for managing all these facets even if, at some point of the process, executable code will usually be generated from some abstract representation level. In MDE, models are considered as the unifying concept. Traditionally, models have often been used as initial design sketches mainly aimed for communicating ideas among developers. On the contrary MDE promotes models to primary and precise artifacts that drive the whole development process. The notion of model goes beyond the narrow view of semi-formal diagram thus requiring much more precise denitions and implementations that will allow partial or full automation. The MDE community has been using the concepts of terminal model, metamodel, and metametamodel for quite some time. A terminal model is a representation of a system. It captures some characteristics of the system and provides knowledge about it. MDE tools act on terminal models expressed in precise modeling languages. The abstract syntax of a modeling language, when expressed as a model, is called a metamodel. A language denition is given by an abstract syntax (a metamodel), one or more concrete syntaxes, and a denition of its semantics. The relation between a model expressed in a language and the metamodel of this language is called conformsTo. This should not be confused with the representationOf relation holding between a terminal model and the system it represents. Metamodels are in turn expressed in a modeling language called metamodeling language. Its conceptual foundation is itself captured in a model called metametamodel. Terminal models, metamodels, and metametamodel form a three-level architecture with levels respectively named M1, M2, and M3. A formal denition of these concepts may be found in [7]. The principles of MDE may be implemented in several standards. For example, OMG proposes a standard metametamodel called Meta Object Facility (MOF).
En savoir plus

23 En savoir plus

Assessment of the SEMCO Model-Based Repository Approach for Software System Engineering

Assessment of the SEMCO Model-Based Repository Approach for Software System Engineering

patterns and property models. Following the specification, design, implementa- tion and deployment of an S&D pattern repository, pattern designers can define property and pattern models and store them in the repository. System designers can then reuse existing patterns from the repository through identification and tailoring mechanisms, leading to simpler and more seamless designs with higher quality and reduced cost. By means of the practical demonstration provided by our case study, we can validate the feasibility and effectiveness of the proposed specification and design frameworks. We also conducted a survey of industry practitioners among TERESA members and other security, dependability and software engineering experts. The preliminary evidence indicates that users are satisfied with the notion of a development approach centered around a model- based repository of patterns and, in a broader context, a model-based repository of modeling artifacts. However, the results also highlight one of the main chal- lenges, namely, the design of an automated search functionality to allow the user to derive the necessary modeling artifacts from an analysis of the requirements for a project.
En savoir plus

17 En savoir plus

A formal approach to AADL model-based software engineering

A formal approach to AADL model-based software engineering

A formal approach to AADL model-based software engineering Hana Mkaouar 1 · Bechir Zalila 1 · Jérôme Hugues 2 · Mohamed Jmaiel 1,3 Abstract Formal methods have become a recommended practice in safety-critical software engineering. To be formally verified, a system should be specified with a specific formalism such as Petri nets, automata and process algebras, which requires a formal expertise and may become complex especially with large systems. In this paper, we report our experience in the formal verification of safety-critical real-time systems. We propose a formal mapping for a real-time task model using the LNT language, and we describe how it is used for the integration of a formal verification phase in an AADL model-based development process. We focus on real-time systems with event-driven tasks, asynchronous communication and preemptive fixed-priority scheduling. We provide a complete tool-chain for the automatic model transformation and formal verification of AADL models. Experimentation illustrates our results with the Flight control system and Line follower robot case studies. Keywords Safety-critical software engineering · Real-time systems · Ravenscar profile · AADL · Formal specification ·
En savoir plus

30 En savoir plus

Model based code generation for distributed embedded systems

Model based code generation for distributed embedded systems

Keywords: AADL, Architecture Driven, Distributed Embedded Software 1. INTRODUCTION Embedded systems in ground vehicles are becoming increasingly complex in the functionality they support. Safety and security are very critical. Innovative approaches are needed to develop such systems efficiently without compromising on quality. A growing trend in development of complex embedded systems is the use of model-based development (MBD) techniques. Essentially MBD involves modeling the behavior of the embedded systems to enable simulation of the embedded system performance for various stimuli under various operating conditions. MBD supported by CAE tools facilitates the design of advanced control functionality by enabling early V&V before the mechanical and electronic hardware become available. The current state of MBD technologies is evolved enough to allow embedded software to be automatically generated from the functional models. Such tools and processes facilitate code generation
En savoir plus

10 En savoir plus

Assessment of the SEMCO Model-Based Repository Approach for Software System Engineering

Assessment of the SEMCO Model-Based Repository Approach for Software System Engineering

patterns and property models. Following the specification, design, implementa- tion and deployment of an S&D pattern repository, pattern designers can define property and pattern models and store them in the repository. System designers can then reuse existing patterns from the repository through identification and tailoring mechanisms, leading to simpler and more seamless designs with higher quality and reduced cost. By means of the practical demonstration provided by our case study, we can validate the feasibility and effectiveness of the proposed specification and design frameworks. We also conducted a survey of industry practitioners among TERESA members and other security, dependability and software engineering experts. The preliminary evidence indicates that users are satisfied with the notion of a development approach centered around a model- based repository of patterns and, in a broader context, a model-based repository of modeling artifacts. However, the results also highlight one of the main chal- lenges, namely, the design of an automated search functionality to allow the user to derive the necessary modeling artifacts from an analysis of the requirements for a project.
En savoir plus

16 En savoir plus

Model-driven engineering of mediation information system for enterprise interoperability

Model-driven engineering of mediation information system for enterprise interoperability

This paper presents an approach to designing the global MIS of an emerging collaborative situation. This approach is cover- ing the whole path from the early stages of design time (partners’ characterisation and description of the collaborative objectives) to the late stages of runtime (actual implementa- tion and constant updating thanks to agility management). This global IS is based on existing ISs (from involved organisa- tions) and on a MIS providing interoperability to the ISs. The whole approach is model driven and uses several model transformations from business layer to technical layer. Each of these transformations uses mapping rules between source and target MMs to build a target model from a source model and some additional knowledge. Finally, using the PSM, deployment is possible on the target ESB platform. It is also interesting to notice that the granularity question can be managed by the MISE approach. Actually, there might be several levels of collaboration, especially in manufacturing context where there are strong connections between very different behavioural layers such as business and decision layers, production and assembly layers, supply chain and logis- tics layers, human resources layers etc. Therefore, there may be an MIS, managing a collaboration involving several MISs. This ‘fractal’ feature is not due to the contributions presented in this paper but to the conjunction of using a BPM approach on an SOA architecture.
En savoir plus

23 En savoir plus

A few elements in software development engineering education

A few elements in software development engineering education

Abstract Brest University offers the software engineering by immersion paradigm as an alternative to other education systems. The idea is that students follow through a project from A to Z, relying on an ISO9001 quality management system alongside methods and tools associated with present n-tier architecture - but under apprenticeship conditions. Software engineering activities are structured around three main processes: Development Engineering, Project Management, and Development Support. Focussing on Development Engineering, we report on certain challenges and difficulties, illustrated on a real-scale project.
En savoir plus

5 En savoir plus

Addressing deep uncertainty in space system development through model-based adaptive design

Addressing deep uncertainty in space system development through model-based adaptive design

The ADCS design specified in the JPL Exo-S final report is a simple, thruster based design. The sunshade has relatively loose pointing requirements (< 1 ∘ ) and requires a capable thruster system for formation flying and so no reaction wheels are needed. Attitude control is provided entirely by thrusters. The thruster design is discussed in the propulsion subsystem section. Therefore, the only ACS hardware that is needed are a primary and redundant inertial measurement unit (IMU), primary and redun- dant star trackers, and sun sensors. Four sun sensors are baselined for the Starshade bus to provide coarse attitude control and to trigger fault responses if the Sun moves out of its designated zone. The Honeywell MIMU is assumed for the two IMUs [51]. Each MIMU has a mass of 4.44 kg and draws 22 W of power on average. The Ball CT-2020 is baselined for the two star trackers [4]. Each CT-2020 has a mass of 3 kg and draws 8 W of power. The Adcole Digital Sun Sensor is baselined as the sun sensor [1]. The Digital Sun Sensor comes as an electronics package with a number of sensor heads. The total mass of one electronics unit with four heads is 2.2 kg and the unit draws about 1 W of power. The total mass of the baseline ADCS subsystem is 17.1 kg and the average power draw, assuming that only one IMU and one star tracker operate at any one time, is 31 W. The design of the ADCS subsystem is not affected by any design variables and the only constraints within the ADCS subsystem are the mass and power summations described above.
En savoir plus

202 En savoir plus

Model-based development of modular complex systems for accomplishing system integration for industry 4.0

Model-based development of modular complex systems for accomplishing system integration for industry 4.0

 Simulated UML Activity models for moving EV3 robot using Papyrus fUML engine − Verified the models for correctness  Executed the same models to control the robot in physical world (by connecting model execution engine to Robot API's )

2 En savoir plus

Collaborative Networked Organizations as System of Systems: A Model-Based Engineering Approach

Collaborative Networked Organizations as System of Systems: A Model-Based Engineering Approach

220 M. Bilal, N. Daclin and V. Chapurlat SoSE needs and work’s contributions - Considering the similarities between CNO and SoS, it seems hazardous to build a CNO without engineering approach such as proposed for SoS and named SoSE. The subject of SoSE versus SE is debated in the literature. Some authors agreed that SE principles, processes and standards are enough to perform SoSE activities [11] and no additional processes are needed. However, SoS characteristics, assembling, interfacing and interactions between its entities, induce an additional effort over the SE [3]. SoSE is classically considered as a model- based approach. A model helps to address new requirements, presents a better understanding of the SoS’ entities and their relationships, it helps to understand the SoS functionality and monitors and assesses changes all over SoS evolution. Therefore, as in any other scientific or engineering discipline, the first need is to propose relevant modeling languages to better understand the SoS area and to supervise and manage the operations of the SoS during its life cycle. Furthermore, a model should help to predict and simulate behaviors and offer a means for better decision-making. The existing modeling methods do no cover all the needs of CNOs and there is no single formal modeling approach to model all CNOs problems [12]. Therefore, this research addresses the first SoS need by proposing a 1) meta-model that groups all concepts and relations required to model various kinds of SoS (CNO). Moreover, decision-making in all SoS’ lifecycle should be based on well verified models. Therefore, 2) verifying the SoS model is the second SoS’ need.
En savoir plus

9 En savoir plus

Leveraging model-based product lines for systems engineering

Leveraging model-based product lines for systems engineering

78 Experimenting CVL variation points with Java program constructs derivation/realization operators, or variation points) can synthesize variants of Java programs that are incorrect, correct and perhaps even conforming to test suites? We adopt an approach with no assumptions about the targeted language that relies on full extensive automations for exploring a variation space. We implement source code trans- formations, based on the Common Variability Language, that add, remove, substitute any kind of element of a Java program. We automatically synthesize 376,185 program variants based on source code elements in a set of 8 real large Java projects (up to 85000 lines of code). We obtain a comprehensive panorama of the sanity of the transformations based on statistical data collected and qualitative reviews of synthesized Java variants. This chapter is organized as follows. Section 5.1, introduces our model-based ap- proach for combining variability modelling and automatic program transformation to understanding what can be vary in a Java program with CVL derivation operators. Section 5.2 presents the experiment, its methodology and the hypotheses to be tested. Section 5.3 and Section 5.4 analyse the results, discuss them and present the threats to validity of this experiment. Section 5.5 concludes the paper and presents future work.
En savoir plus

134 En savoir plus

A Systems Engineering-based semantic model to support “Product-Service System” life cycle

A Systems Engineering-based semantic model to support “Product-Service System” life cycle

II.1. Introduction A model is an abstract and simplified representation of the real world. It allows the observer to analyze and understand the different properties of a given system according to a specific perspective, which is connected to his problem of interest (Belkadi et al. 2004). The first objective of modeling activity is then to reduce the complexity of the studied system inadequacy with the limited perceptive and cognitive capacities of the observer. The complexity of the system is also obtained by decomposing the problem of interest to several elementary problems. In this case, the model is used to represent in a consistent way the integration of all sub-dimensions in the global one. Similarly, a model can guarantee the integration of various business points of view. This will allow communication between heterogeneous stakeholders who are interested in the same system but with different intentions. Likewise, the model is used as a support to describe a standard to be shared between the larger community of business and academic actors such as for example the graphical language (EL KHALKHALI 2002), the model is currently used to support the specifications to be considered for the design of a technical system (mechanical product, software, company, etc.).
En savoir plus

183 En savoir plus

Toward Model Synchronization Between Safety Analysis and System Architecture Design in Industrial Contexts

Toward Model Synchronization Between Safety Analysis and System Architecture Design in Industrial Contexts

relations from system architecture design to safety analysis. Most of the works are strongly tool oriented, and not enough cooperative. Finally, some propose cooperative techniques (also called federative approaches) [9], that attempt to establish relationships between elements of models with dif- ferent concerns. They conceptualize way to ensure consistency between heteroge- neous viewpoints. They permit to build cross-concerns views, while maintaining traceability relations in order to ensure global consistency. In [21] a framework to implement synchronization links between model elements is proposed. They don’t consider the needs of semantic synchronization between activities, but in the future their results could be used to support synchronization. Concerning semantic mappings we found that model weaving, as seen by [6], is an inter- esting approach to define dependencies between models. Many works related to ontology [2] could be profitable to support mappings and traceability as well as conflicts resolution. However, few contributions were found on both engineering fields.
En savoir plus

16 En savoir plus

Research Questions for Validation and Verification in the Context of Model-Based Engineering

Research Questions for Validation and Verification in the Context of Model-Based Engineering

employed for modeling wrt functionality, coverage, scalability, expressive- ness, executing system (i.e., for models at runtime)? Which criteria are ap- propriate for comparison? Can the broad and diverse spectrum of V&V machines (like B, Coq, HOL/Isabelle, SAT, SMT, CSP solvers, Relational logic and enumerative techniques) be globally compared in a fair way at all? Domain-Specific Languages: How can DSLs be defined so that they are close to the domain concepts on the one hand, but still allow the generation of meaningful input files for verification tools? How do we express the properties to be verified at the domain level in a user-friendly way? Can the property specifications be integrated with the same DSL and/or model used for de- scribing the to-be- verified system without creating self-fulfilling prophecies? How can we lift the result of a verification (e.g. an example program execu- tion that demonstrates the failure) back to the domain level and express it in terms of the DSL-level input? Can incremental language extensions help with making programs expressed in general-purpose languages more check- able? For example, the semantics of a specific extension construct may enable the generation of very rich inputs to the verification tool, which otherwise may have to be specified manually (program annotations or properties)?
En savoir plus

11 En savoir plus

Show all 10000 documents...