220 likes | 239 Views
STOOD is a powerful software modeling tool that supports AADL for critical system and software development, bridging the gap between system and software architectures. It offers a hierarchical component-based approach for better flexibility and reuse.
E N D
STOOD – AADL 1 and UML 2Tony EllistonSIGADA Atlanta Nov 2005
TNI SoftwareEllidiss TechnologiesEllidiss Softwarewww.ellidiss.com
‘State of the Art’ software modeling tool • Already deployed & supported on many • critical projects (DO-178B, ECSS-E40, MIL-STD-498) • UML 2.0 front end & AADL 1.0 plug-in STOOD
DataManager.FileStorage 20 acquire: file: store: AADLArchitecture Analysis and Design Language • A textual notation • A graphical notation • Ideal fit for critical system and software: DO-178B ECSS-E40 MIL-STD- 498 ...
AADL • Architecture Analysis & Design Language • new SAE standard • manages System and SW components • supports Real-Time and SW to HW binding • may carry non functional properties • Can be used as: • output for the System Design process • input for the Software design process Add such an output to System process to formalise System specification for SW
Using the AADLfor critical SW development • AADL for Real Time System Modeling • combined HW & SW descriptions • explicit Real-Time constructs • use language extensions for specific domains • AADLspecification as a blueprint for Software architecture • reduce the gap between System & Software • while preserving the benefits of current practices • and enforcing reuse of Components at high level • AADL as a communication language throughout the development process
Software Development software requirements SW design documentation system specification (AADL) source code reusable software SW design verification Use the System design model as a blueprint for SW architectural design
Recommendations for software methods and tools • Model based for better flexibility • as opposed to code based • more semantics: real-time abstractions, multi-language, ... • formal transformations (code generation, ...) • Component based to manage complexity • interfaces to control interactions • composition hierarchy to control the architecture • avoids "spaghetti-ware" • Strong methodological support • naming rules, visibility rules, ... • to encourage effort at the early stages of the life cycle Need for hierarchical component based method and tool
STOOD 5 • AADL compliant commercial tool • well defined step-by-step modeling process: • capture of functional and non-functional requirements • graphical design of the architecture (UML 2.0-HOOD-AADL) • multi-language detailed design and coding (Ada, C, C++, ...) • static design verifications • code and documentation generators • reverse engineering (i.e. Ada -> AADL) • ready for industrial projects: • multi-users, configuration management, requirements traceability • Unix-Windows interoperability • Complies with process standards: DO-178B, ECSS-E40, MIL-STD-498 Already in use in many large scale critical projects (including A380)
Req. Traceability • Verification reports • ------------------- • Source files: • Ada 95 • Ada Ravenscar • - C/C++ • ------------------- • Documentation: • - PostScript • - PDF • - Word • - FrameMaker • - HTML SW Requirements ------------------ Ada legacy code C legacy code input GUI DataBase output interchange model transformation plugins AADL XML/SIF Conf. Management kernel STOOD 5 overview
AADL Model Transformations www.tni-world.com
Generation Predicates transformation engine transformation engine AADL Generation Rules Stood analyser Reverse Rules Stood Compo- nents repository SIF file Reverse Predicates Modeltransformations AADL components repository Stood Plugins
Stood AADL Use Case 1AADL Modeler
Use case 1AADL Modeler • UML 2.0 structure diagrams front end • HOOD design rules: • visibility rules • information hiding (i.e. for ports) • immediate C, Ada, ... and doc generation • AADL 1.0 generator • AADL 1.0 semantics checker • AADL 1.0 code generation rules
Stood AADL Code Use case 2"bridging the gap"
Use case 2"bridging the gap" • using AADL as a System to Software bridger • importing AADL 1.0 specifications • to be developed with other AADL compliant tools • preserving the System architecture • standard Software development process • SW architectural design refinement • SW detailed design and documentation • SW coding and round-trip engineering • using the AADL output again for V&V • checking System to Software compliancy • connecting to external Verification tools (i.e. Cheddar) • implementing the COTRE annex
Stood Code AADL Use case 3reusing legacy systems
Use case 3Reusing legacy systems • a three steps process: • Ada or C legacy code reverse engineering • architecture adjustments at SW design level • AADL generator • benefits: • let existing source code components be made visible for new systems at high level • building non proprietary format component libraries • facilitating reuse of specialized building blocks
STOOD 5State of the Art approach • promotes Model Driven Engineering: « designing before coding » • advanced modeling solution • model transformations • promotes Component Based Architectures to ease: • - team development • reuse • testing • maintenance • promotes FlexibleSoftware Design practices: • incremental documentation • incremental coding and round-trip engineering • incremental requirements traceability • extensive tool customization capabilities
R & D • Software method projects • STOOD is used on many projects • Involved with Universities and colleges • Special offers for Academia
QSEE-Superlite • Integrated Meta-modeling environment • Supports many modeling techniques • UML, DFDs,ERDs,XML Schema models • Syntactic and Semantic rule enforcement • Code generation • Ideal for academia – low cost deal
Conclusion • AADL 1.0 & UML 2.0 compliant version of Stood 5.0 is NOW available for industrial use • Download it: www.tni-world.com