Once proper requirements (at system/customer level [Requirement Baseline] and at software/supplier level [Technical Specification]) are available, the design can start. In a waterfall lifecycle, the design will start after approval of the software/supplier requirements, whereas in a spiral one, a prototype design will continuously follow each requirements step.
The design can be performed in two steps, an architectural design and a detailed design. The architectural design is part of the technical specification as a 'top-level architecture'. The detailed design is part of the development.
The use of a design method is required by the software standards. It gives a more abstract view than the code itself and allows a proper hierarchical organisation. The design method selection may depend on a modellisation language used for the requirements.
The traditional space design methods are HOOD4 and HRT-HOOD3, where HOOD4 is used on ground and (HRT-)HOOD3 on board. HOOD4 is also largely used on-board Eurofighter and Airbus. Other design methods are also used:
The design methods generally allow for automatic code generation, from the generation of templates (for example, UML) to the complete code generation (behavioural language) or code configuration (features and aspect weaver). (HRT-)HOOD allows for the generation of templates and, if the pseudo-code has been filled in the design, for full code generation.
- UML and packages, generally after a UML requirement modellisation. In particular HRT-UML is an adaptation of UML aiming at keeping the design engineering qualities of HOOD. The method has been assessed against the AOCS Framework by an ESA trainee. HRT-UML is evolving towards a profile of UML 2.0
- an HRT-UML tool is available
- methods allowing for the expression of the variability of an application domain, and used for generic architectures: design patterns, features, aspects
- the behavioural languages (SDL, Lustre, Esterel)
Last update: 20 March 2007
| ||Introduction to HRT-UML (pdf) (ftp://ftp.estec.esa.nl/pub/wm/anonymous/wme/Web/HRT-UML v1.3.pdf) |
| ||HRT-UML Brochure (ppt) (ftp://ftp.estec.esa.nl/pub/wm/anonymous/wme/Web/brochureHRTUML.ppt) |
| ||UML based notation for HRT (pdf) (ftp://ftp.estec.esa.nl/pub/wm/anonymous/wme/Web/HRTUML2002.pdf) |
| ||A UML2 profile for HRT (pdf) (ftp://ftp.estec.esa.nl/pub/wm/anonymous/wme/Web/HRTUML2005.pdf) |
| ||A case study for HRT-UML (pdf) (ftp://ftp.estec.esa.nl/pub/wm/anonymous/wme/Web/ACaseStudyForHRTUML2003.pdf) |
| ||HRT-UML assessment (pdf) (ftp://ftp.estec.esa.nl/pub/wm/anonymous/wme/Web/TrainingPeriod_report.pdf) |
| ||HRT-UML assessment slides (ppt) (ftp://ftp.estec.esa.nl/pub/wm/anonymous/wme/Web/AOCS_OO_modelling.ppt) |
| ||HOOD (http://www.esa.int/TEC/Software_engineering_and_standardisation/TECKLAUXBQE_0.html) |
| ||Ellidiss HRT-UML tool (http://www.ellidiss.com/hrtuml.shtml) |
| ||SDL Forum (http://www.sdl-forum.org/) |
| ||ESTEREL (http://www-sop.inria.fr/meije/esterel/esterel-eng.html) |
| ||LUSTRE (http://www-verimag.imag.fr/SYNCHRONE/index.php?page=lustre-story/history) |