Heinz W. Schmidt:
Architecture-Based Reasoning about Performability in Component-Based Systems

Monash University, Australia

Architecture description languages (ADLs) have been successful in modelling, design and prescription of software functionality. With the UML2 standardisation of architectural models and with ADL and UML2 plugins widely available for integrated development environments, such as the open-source Eclipse platform for example, architecture-based and model-driven approaches offer a higher level and more abstract approach to distributed systems software development than most mainstream programming languages and tools.

However scalable models of extra-functional properties such as reliability, availability and timeliness - as required in the design and verification of safety-critical real-time distributed control systems and increasingly in mission-critical software-intensive embedded and connected systems - are still presenting great challenges to researchers and practitioners.

In our research centre at Monash in collaboration with industrial partners and other universities, we have been developing compositional dynamic models for such extra-functional properties. At the level of individual software components, our models include parameterised and annotated automata and Petri net models (parameterised components) to capture (1) relevant aspects of component interfaces (both services provided and required) and also (2) some abstract dependencies the component behaviour induces between its interfaces. Such dependencies include conditional worst-case resource bounds (such as worst-case time) dependent on the probability of times or failures elsewhere in the systems.

Our models give rise to architectural dependency networks (graphs) over parameterised components (described by dependent automata) and are implemented in a system called RADL (short for rich or reliable ADL). RADL has been used in industrial applications for the analysis of large-scale real-world systems.

This talk focuses on the architectural dependency networks and a combination of timing and reliability analysis as a candidate for performability properties and some real-world examples from industrial component-based systems verification.