Model-Based Analysis Support for Dependable Complex Systems in CHESS
Total Page:16
File Type:pdf, Size:1020Kb
Model-based Analysis Support for Dependable Complex Systems in CHESS Alberto Debiasi2, Felicien Ihirwe1, Pierluigi Pierini1, Silvia Mazzini1 and Stefano Tonetta2 1Innovation Technology Service Lab, Intecs Solutions Spa, Pisa, Italy 2Embedded Systems Unit, Fondazione Bruno Kessler (FBK), Povo, Italy Keywords: CHESS, Model Driven Engineering, Complex Systems, Dependability Analysis. Abstract: The challenges related to dependable complex systems are heterogeneous and involve different aspects of the system. On one hand, the decision-making processes need to take into account many options. On the other hand, the design of the system logical architecture must consider various dependability concerns such as safety, reliability, and security. Moreover, in case of high-assurance systems, the analysis of such concerns must be performed with rigorous methods. In this paper, we present the new development of CHESS, a cross-domain, model-driven, component-based and open-source tool for the development of high-integrity systems. We focus on the new recently distributed version of CHESS, which supports extended model-based development and analyses for safety and security concerns. 1 INTRODUCTION mon goals. CHESS supports, among other, schedu- lability and dependability analysis across the entire The ever increasing complexity and dependability is- project life cycle. The results of the analysis are back- sues of systems in various domains, such as trans- propagated to the model itself so that the modeler can portation, space, energy, health, and industrial pro- review and fine-tune the model to satisfy real-time duction, requires effective design and development and dependability requirements. methods. The complexity and heterogeneity of com- CHESS tool recently became a full-fledged open- ponents can be addressed with modeling approaches source project, hosted by The Eclipse Foundation that span different technical disciplines and prove ef- (https://www.eclipse.org/chess/). The code has being fective in the end-to-end engineering of the prod- developed by various contributors following an open- ucts. This implies taking into account various require- source approach with public projects for issue track- ments such as quality, performance, cost, safety, se- ing, code repository branches, and continuous inte- curity, and reliability. Model-based design technolo- gration. This paper presents the latest development gies enable the user to perform beforehand different of CHESS to address software’s security and safety assurance-related activities such as physical architec- analysis of the system exploiting the CHESS error ture exploration, system’s behavioral analysis, early model to represent faults and attacks. Analysis is verification, and validation. completed by the integration with back-end tools such The CHESS toolset (Cicchetti et al., 2012) offers a as xSAP (Bittner et al., 2016) and Mobius (Court- cross-domain modeling and analysis of high-integrity ney et al., 2009) for the minimal cut sets analysis and systems providing an integrated framework that helps Monte-Carlo simulation. the modeler (user) to automate different development CHESS was developed, used and extended in phases: from the requirements definition, to the archi- many research projects, by both industrial and aca- tectural modeling of the system’s software and hard- demic partners. To list a few, CHESS was involved ware, up to its deployment to an hardware platform in international projects such as the homonymous (Cicchetti et al., 2012). CHESS follows a component- CHESS project1, CONCERTO2, and SESAMO3, based approach where the user decouples different functional parts of the system as components that can 1http://www.chess-project.org/ be modeled, analyzed, verified, stored, reused indi- 2http://www.concerto-project.org/ vidually, and be integrated to meet the system’s com- 3http://sesamo-project.eu/ 262 Debiasi, A., Ihirwe, F., Pierini, P., Mazzini, S. and Tonetta, S. Model-based Analysis Support for Dependable Complex Systems in CHESS. DOI: 10.5220/0010269702620269 In Proceedings of the 9th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2021), pages 262-269 ISBN: 978-989-758-487-9 Copyright c 2021 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved Model-based Analysis Support for Dependable Complex Systems in CHESS under the ARTEMIS Joint Undertaking initiative, the non-functional dimensions, such as safety, secu- AMASS4, AQUAS5, and MegaM@Rt6, under the rity, reliability, performance, and robustness (Mazzini ECSEL Joint Undertaking initiative. CHESS has been et al., 2015). applied in different domains such as Avionics (Go- In CHESS, components at design level encompass dard and Nelissen, 2016), Automotive (Bressan et al., functional concerns only (i.e., they are devoid of any 2018), Space (Pace et al., 2014), Telecommunica- constructs pertaining to tasking and specific compu- tion (Mazzini, 2015), and Petroleum (Gallina et al., tational model). The specification of non-functional 2014)(Montecchi and Gallina, 2017). attributes is then used for the automated generation The rest of the paper is arranged into five sections. of the container, enforcing the realization of the non- Sections 2 provides an introduction to the CHESS tool functional attributes declared for the component to be building blocks and methodology, Section 3 presents wrapped. the new major features released under CHESS 1.0.0, The CHESS methodology follows the “Correct- Section 4 discusses the related work. In Section 5 ness by Construction” practice which enforces (1) we present the envisioned future extension on CHESS the use of formal and precise tools and notations for and finally Section 6 concludes the paper. the development and the verification of all product items; (2) say things only once to avoid contradic- tions and repetitions; (3) the design of software com- ponents that are easy to verify, by e.g., using safer 2 CHESS IN A NUTSHELL language subsets, and to implement, by using appro- priate coding styles and design patterns (Panunzio and The CHESS modeling tool was released under the Vardanega, 2014). Eclipse PolarSys project7 and recently it was moved from the incubation status to the first major re- 2.2 Multi-view Modeling Approach lease. The CHESSML is an integrated modelling lan- guage profiled from OMG standard languages: UML, The CHESS tool provides a set of design views to up- SysML and MARTE under the Papyrus modeling en- 8 hold the ”separation of concern”, the ”correctness by vironment Not all the features from all the three lan- construction” and the other methodological principles guages were profiled to CHESS but only a specific introduced before. Six main views are defined to sup- subsets that suits CHESS’s perspective. In particular port the CHESS modeling approach. Throughout the sub-profiles supporting contract-based and depend- development process, each view has its own under- ability concerns have been defined, while MARTE lined constraints that enforce its specific privileges on has been adopted (with minor deviations) for what model entities and properties that can be manipulated. concern the timing perspective. There are different Depending on the current stage of the design process, tools, plugins, and languages that were integrated into CHESS sub-views are adopted to enhance certain de- CHESS to support model validation, model checking, sign properties or stages of the process. realtime and dependability analysis. Requirement View is used to define system re- In this section, we are going to briefly describe quirements and track their verification, System view the core aspects of CHESS methodology. We will provides a suitable frame for system-level design ac- also look in brief at different analysis mechanisms tivities such as contract-based design, functional and that are being performed in CHESS and how they link dependability analysis. Component view composed together to enhance system correctness. of two sub-views, Functional and Extra-functional views which supports the design of system compo- 2.1 Component-based Methodology nents logic and their internal compositions. Deploy- ment view wich allows hardware structure modelling The CHESSML language supports a component- and the allocation of the corresponding software com- based development methodology enabling property- ponent instances. Analysis view capture all the analy- preserving component assembly for real-time and de- sis activities, diagrams and results. Finally, Instance pendable embedded systems. Emphasis is given to view which is used to visualize and model the Plat- separation of concerns between the functional and form Specific Model (PSM) as a joint instance of soft- ware to hardware allocated components. 4https://www.amass-ecsel.eu/ 5https://aquas-project.eu/ 6https://megamart2-ecsel.eu/ 7https://projects.eclipse.org/projects/polarsys.chess 8https://www.eclipse.org/papyrus/ 263 MODELSWARD 2021 - 9th International Conference on Model-Driven Engineering and Software Development 2.3 Model-based Analysis and arguing about HARA (Hazards Analysis and Risk As- Verification sessment). Supported by the DEEM tool (Bondavalli et al., 2000), State-Based Quantitative Dependability Analysis (Montecchi et al., 2013) supports safety en- CHESS provides the capability to perform several gineers in the management of Reliability, Availability, kinds of analysis depending on the specific require- Maintainability and Safety (RAMS) properties, and ments (functional,