SCADE: A Comprehensive Framework for Critical System and Software Engineering
The International Council on Systems Engineering (INCOSE) defines system engineering as an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, and then proceeding with design synthesis and system validation.
The main challenges of System Engineering are related to providing non-ambiguous and coherent specification, making all relevant information readily available to all stakeholders, establishing traceability between all activities, and providing the appropriate level of verification and validation. Model Based technology can play a central role in System Engineering. Among the benefits, MBSE shall avoid duplication of information, parallel evolution of data between system teams and software teams, hence reducing the nightmare of information resynchronization.
I will introduce the SCADE System product line for embedded systems modeling and generation based on the SysML standard and the Eclipse Papyrus open source technology. SCADE System has been developed in the framework of Listerel, a joint laboratory of Esterel Technologies, provider of the SCADE tools, and CEA LIST, project leader of MDT Papyrus.
From an architecture point of view, the Esterel SCADE tools are built on top of the SCADE platform which includes both SCADE Suite, a model-based development environment dedicated to critical embedded software, and SCADE System for system engineering. SCADE System includes MDT Papyrus, an open source component (under EPL license) based on Eclipse. This allows system and software teams to share the same environment. Furthermore, and thanks to Eclipse, other model-based tools can be added to the environment.
The SCADE System modeler focuses on ease of use, hiding the intricacies of UML profiling to the system engineers. Hence, domain views that have been consistently requested by the system engineering users, such as a tabular view to describe blocks and interfaces, are added to the tool. The core functionality of the Papyrus SysML modeler has also been augmented with requirements traceability and automatic production of system design documents.
Once the system description is complete and checked, the individual software blocks in the system can be refined in the form of models in SCADE Suite and SCADE Display, or for some of them in the form of manually developed source code. SCADE System avoids duplication of efforts and inconsistencies between system structural descriptions made of SysML block diagrams, IBD and BDD, and the full software behavioral description designed through both SCADE Suite and SCADE Display models. Automatic and DO-178B Level A qualified code generation can be applied to the SCADE Suite and SCADE Display models. Moreover, the SCADE System description can be used as the basis to develop scripts that will automatically integrate the complete application software.