Modelling Software Architectures Using CRADLE

David Hemer, Yulin Ding · 2009

Abstract Architecture description languages (ADLs) and architecture analysis and design languages (AADLs) are important modelling and analysing languages for the software design phase. Around a decade ago, a significant number of ADLs, such as Unicon (9), Rapide (5), Wright (1) and C3 (7), were developed to describe a variety of system features. For example, Rapide describes event triggered dynamic architectures; while Wright describes architectures at a predefined conceptual level. However, these ADLs do not provide strong support for analysis. More recently, the MetaH AADL (2) has been developed, with improved support for analysis and the expression of real-time behaviour. Developed from MetaH AADL, SAE AADL (4) provides further advances on previous ADLs and AADLs, with support for describing dynamic features in real-time systems, and stronger support for analysis than earlier languages. However, this AADL still lacks certain flexibility to express generic and conceptual features of software architectures. Furthermore, it does not provide strong support for error correction and non-functional behaviour 1 is not expressed formally. We propose a new ADL, named CRADLE, with our main aims to provide strong support for: architecture analysis (detecting inconsistencies or violations of functional and/or non-functional constraints); architecture adaptation (correcting these inconsistencies and constraint violations); and architecture expressiveness (being able to describe a variety of architectural features including function properties and non-functional timing constraints using a formal notation). A key feature of CRADLE is the support for defining generic architectures that can be adapted by instantiating parameters.

Read the paper · More papers on PaperTik