SCADE Description - openETCS/model-evaluation GitHub Wiki
Presentation
Tool name
SCADE Suite
Website (if available)
http://www.esterel-technologies.com/
Contact email
Main usage:
SCADE is a formal modelling language and tool suite targeted for safety-critical embedded control applications in the avionics, rail, automotive and industrial automation domain.
It provides:
- Formal and deterministic graphical and textual modelling language
- Graphical schematic entry
- Certified C and ADA code generation
- Simulation and debugging on model level
- Test case execution
- Code verification on model language level
- Model test coverage measurement
- Formal model proof
- Requirements management gateway
- SYS/ML interface via SCADE SYSTEM
- Automatic report generation for models, model and requirements coverage
- Integration with 2rd party tools (timing, ...)
- Eclipse integration
Summary
SCADE comes with an integrated development environment (SCADE Suite IDE) including code generator, graphical simulator, model checker/prover, model test coverage analyzer, report generators, version and requirements management gateway with interfaces to various other tools like static code and timing analyzers, System/SysML modelling tools etc.. The IDE provides automatization interfaces to be controlled from external tools, and all SCADE tools itself can also be used in batch mode. In addition, plugins for Eclipse integration are available. The SCADE paradigm of synchronously clocked data flow and state machines works perfect for embedded control or industry automation software. It is less suitable for tasks like text processing or computer graphic applications. SCADE models do not only describe the structure of software; instead, they are the software implementation itself too. System architectures typically require a higher abstraction means of description at top level like SysML. While SysML modelling can be achieved with any SysML tools, SCADE System provides an automatic transformation from SysML to SCADE.
Publications
- http://esterel-technologies.com/
- http://www.interested-ip.eu/
- http://http://www.interested-ip.eu/final-report.html/
Support and Survivability
Professional support provided via http://esterel-technologies.com/. SCADE is used in the Avionics domain since many years. This in conjunction with the growing number of installations in other safety related domains let expect long term support for SCADE.
Applicability
Key capabilities
SCADE is a formal modelling language targeted for safety-critical embedded control applications in the avionics, rail, automotive and industrial automation domain. SCADE source code can be written as text (for anyone who likes writing plain text) or (more usual) as schematic diagrams. SCADE models are synchronously clocked data flow and state machines, that can be nested and intermixed with each other without limitations. SCADE provides DO-178B- and EN50128- certified code generators producing C or ADA code as output. SCADE models are therefore concrete, deterministic, executable and verifiable; it allows the production of rapid prototype as well as of safety related target system software.
Input (which languages are targeted?)
Textual or graphical SCADE language
Output (Proof, code, other)
- Native model code in XML format
- Model design documentation
- Model test (coverage) and requirements coverage reports
- Generated executable C- or ADA code
- Model simulation
Main restrictions
The SCADE language is not domain specific. Based on synchroneous data flow and state machines it suits to all typical embedded control applications. The SCADE language is not appropriate for text processing purposes.
Manual or automated use of the tool
The SCADE Suite tools offer manual use as well as automatisation interfaces. Mainly they can be controlled by command line additonally.
Expertise level
The SCADE language requires underständing of the basic data flow and state machine paradigm. For the tool suite a 5 day training course is recommendable.
Integration in the tool chain and development process
Currently distributed: Yes
Underlying technologies
The SCADE Suite comes with it's own IDE and provides integration interfaces to Eclipse and SCCS systems. It runs on Windows PCs without special requirements.
Traceability
The SCADE Suite comes with a requirements managements gateway that interfaces to specialized requirements mananagement systems like DOORS as well as to requirements in text, pdf, source code, MS-Word, test scripts and links these requirements directly to implementation locations in the model.
Team work:
SCADE provides a standardized interface to SCC systems. To allow teams to work on a model at the same time, the model should be divided into different packages.
Certification issues:
SCADE is especially targeted for safety related software. Therefore it's code generator is validated and certified for these purposes, and all tools available that are required in those development processes.
Participants
- SCADE Suite was developed by Esterel Technologies ( http://www.esterel-technologies.com )
- openETCS participants with SCADE experience: see Siemens ( https://github.com/openETCS/model-evaluation/tree/master/model/SCADE_Siemens )
Stable or recommended version of the tool
SCADE Suite 6.4
Tool available for openETCS participants?
If yes, Under which licence?
If no, or not under an Open Source licence, are there plan to do it?
SCADE requires commercial licenses. Availability of academic licenses for openETCS members will be clarified soon.
Licenses of underlying technologies
Eclipse interface
Available.
Other integration possibilities
- Integration via command line.
- Integration via batch files
- Integration via Java API
- Integration via DLL API
- Import of model information from ERTMSFormalSpecs (precondition: availability of a transformator ERTMSFormalSpecs -> SCADE)
Existing industrial usage
Typical applications: Safety critical systems ( qualified for CENELEC 50128 SIL 4 or other DO-178 B) like
- Rail interlocking systems
- Rail track vacancy detection systems
- Rail train control systems
- Rail Level-crossing protection systems
- Avionic flight controller
Planned development
- See Siemens https://github.com/openETCS/model-evaluation/tree/master/model/SCADE_Siemens
- Further more contributions to openETCS work package 3.