During my academic career, I have been involved in the following research projects.
A General Framework
of Quality evaluation of Component-Based System (funded partly by an Early
Career Grant of the
Component-based software engineering is currently an emerging technology used to develop complex embedded systems. These embedded systems need to fulfil requirements regarding quality attributes such as safety, reliability, availability, maintainability, performance, security and temporal correctness. Since quality problems should be identified and tackled early in the development process, there is a rising need to predict and evaluate these properties in the architecture design phase. The aim of this project is to create a generic framework for predicting quality properties based on component-based architectures. Currently based on a comprehensive review of component-based evaluation methods, a quality evaluation framework is favoured that contains the following four elements: encapsulated evaluation models, composition algorithms for these encapsulated evaluation models, operational/usage profiles, and evaluation algorithms.
Relevant Research
Outputs
Grunske L., Early Quality Prediction of Component-Based Systems - A Generic Framework, Journal of Systems and Software, Elsevier, Volume 80, Issue 5, May 2007, pp. 678–686
Grunske L., Towards an Integration of Standard Component-Based Safety Evaluation Techniques with SaveCCM, In proceedings of the conference Quality of Software Architectures (QoSA 2006), volume 4214 of LNCS, Springer, 2006, pp 199-213.
Becker S., Grunske L., Mirandola R. Overhage S., Performance Prediction of Component-Based Systems: A Survey from an Engineering Perspective, In R. Reussner, J. Stafford, and C. Szyperski, editors, Architecting Systems with Trustworthy Components, volume 3938 of LNCS, Springer, 2006 pp 169-192.
Safety Analysis of
Component Based Systems (Funded by the ACCS project: Model-Based Development of
Safety-Critical Systems, Project leader: Peter Lindsay)
Modern safety-critical systems in various application domains, such as automotive, avionic, defence and medical systems, are becoming increasingly complex ensembles of hardware and software components. Design and development of these complex component-based systems including their architectures is challenging, because systems and software engineers need to deal with strict safety requirements. To facilitate a quantitative safety analysis of component-based systems, encapsulated evaluation models, like Component Fault Trees (CFT) or State-Event Fault Trees (SEFT) have been studied and have been developed in this project. Generally, an encapsulated evaluation model specifies all necessary information to reason about quality attributes independently from the deployment context and the environment of an architectural entity. In the case of safety evaluation, these encapsulated evaluation models describe possible failures of component services and enable the estimation of their failure probabilities.
Relevant Research
Outputs
Grunske L., Towards an Integration of Standard Component-Based Safety Evaluation Techniques with SaveCCM, In proceedings of the conference Quality of Software Architectures (QoSA 2006), volume 4214 of LNCS, Springer, 2006, pp 199-213.
Grunske L., Kaiser B., and Reussner R.H., Specification and Evaluation of Safety Properties in a Component-based Software Engineering Process, book chapter, in Embedded System Development with Components, Lecture Notes in Computer Science vol. 3778, ISBN:3-540-30644-7, Springer, 2005, pp. 249 - 274
Grunske
L., Kaiser B., Papadopoulos Y., Model-Driven
Safety Evaluation with State-Event-Based Component Failure Annotations,
Eighth International ACM SIGSOFT Symposium on Component-based Software
Engineering (CBSE 2005), St Luis, Missouri, May 14-15, Lecture Notes in
Computer Science Volume 3489, Springer 2005, pp. 33-48
Grunske
L. and Kaiser B., An
Automated Dependability Analysis Method for COTS-Based Systems, 4th
International Conference on COTS-Based Software Systems, ICCBSS 2005, Lecture
Notes in Computer Science Volume 3412, Springer, Feb 2005, pp 178-190
Grunske
L., Kaiser B., Automatic
Generation of Analyzable Failure Propagation Models
from Component-Level Failure Annotations, Fifth International Conference on
Quality Software, Melbourne, Sep 19 -20, IEEE Computer Society, 2005, pp.
117-123
Papadopoulos
Y., Grante C., Grunske L., Kaiser B., Continuous assessment
of evolving designs and reuse of analyses in a model-based technique for
semi-automatic Fault Tree and FMEA analysis of complex systems, IFAC WC 05,
16 th. World Congress, Int.Federation
of Automatic Control,
Grunske L., Annotation of
Component Specifications with Modular Analysis Models for Safety Properties,
Proceedings of the 1st International Workshop on Component Engineering
Methodology, Erfurt (WCEM 03), September 22, 2003, pp. 31-41
Grunske L., Neumann R.,
Quality Improvement by Integrating Non-Functional Properties in Architecture
Specification, Proceedings of the 2nd Workshop on Evaluating and Architecting
System dependabilitY (EASY 02) at ASPLOS-X, San
Jose/California, October 3-6, 2002, pp. 23-33
Grunske L., Using a Graph Transformation System to Improve the Quality Characteristics of UML-RT Specifications, in H: Yang (ed.), Advances in Software Evolution with UML and XML, IDEA Group Publishing, ISBN 1-59140-621-8, 2005, pp. 19-45
Model Checking Support for FMEA (Funded by the ACCS within the Project: Building Dependability into Complex, Computer-based Systems, Collaborators Kirsten Winter, Nisansala Yatapanage, Peter A Lindsay, 2005-2007)
Failure Modes and Effects Analysis (FMEA) is a widely used system safety analysis technique that systematically identifies failure modes of system components and explores if these failure modes will lead to potential hazards. However, currently FMEA is performed manually as a labour and time-intensive team-based exercise. This research project aims to support FMEA with model checking techniques, in order to allow automating the search for possible consequences of low-level faults. The idea is to inject run-time faults into a system specification and check if the model violates any hazard conditions specified as a set of temporal logical formulae. Based on this method the safety engineer can identify if a failure mode and especially if multiple occurring failure modes will lead to the specified hazard condition. By analysing the counterexample an identification of relevant co-effectors is possible. If you are interested in Behavior Trees and its methodology, please have a look at the following webpage http://www.behaviorengineering.org/.
Relevant Research
Outputs
Grunske L., Lindsay P.A., Yatapanage N., Winter K. An Automated Failure Mode and Effect Analysis based on High-Level Design Specification with Behavior Trees, Fifth International Conference on Integrated Formal Methods, Eindhoven, 29 Nov -2 Dec, Lecture Notes in Computer Science, Volume 3771, 2005, pp. 129-149
Grunske L., Winter K. Colvin: R. Timed Behavior Trees and their Application to Verifying Real-time Systems. In Proc. of 18th Australian Conference on Software Engineering (ASWEC 2007), 2007, pp. 211-222.
Design Space Exploration
and Multi-Objective Optimisation of Software Architectures
To construct a system that fulfils all its quality requirements is often not possible. As a consequence, system engineers have to consider several design alternatives and identify a solution that fulfils most quality objectives. This process is called trade-off analysis. For economical reasons this process should be applied as early as possible. In this project, we use automatic design space exploration techniques based on formally specified quality improving refactorings to optimise architecture specifications. Consequently, the whole process can be formulated as a multi-objective optimization problem, where the objectives represent different quality attributes.
Relevant Research
Outputs
Grunske L., Identifying "Good" Architectural Design Alternatives with Multi-Objective Optimization Strategies, International Conference on Software Engineering (ICSE), Emerging Results, Shanghai, ACM 1-59593-085-X/06/0005, 20-28 May 2006, pp. 849-852
Grunske L., Formalizing Architectural Refactorings as Graph Transformation Systems, Sixth International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD05) May 23 - 25, Towson, Maryland, USA, IEEE Computer Society , 2005, pp. 324-329
Timed and Probabilistic
Behavior Trees (Funded by the ACCS within the Project
Building Dependability into Complex, Computer-based Systems, Collaborators
Kirsten Winter, Robert Colvin, completed 2005-2007)
The Behavior Tree notation has been developed as a method for systematically and traceably capturing user requirements. In this project we extend the notation to describe timed and probabilistic behaviour, so that reliability, performance, and other dependability properties can be expressed. The final outcome of this project is a clear syntax and semantics of timed and probabilistic Behavior Trees, as well as model checking support. If you are interested in Behavior Trees and its methodology, please have a look at the following webpage http://www.behaviorengineering.org/.
Relevant Research
Outputs
Colvin R. Grunske L., Winter K.: Probabilistic Timed Behavior Trees, in Proc. of Sixth International Conference on Integrated Formal Methods, IFM 2007, Oxford, UK, 2- 6 July, 2007. accepted for publication
Grunske L., Winter K. Colvin: R. Timed Behavior Trees and their Application to Verifying Real-time Systems. In Proc. of 18th Australian Conference on Software Engineering (ASWEC 2007), 2007, pp. 211-222.
Graph Transformation Support for MDA and
Model Driven Software Engineering.
The aim of this project is to explore the suitability of graph transformation concepts to transform and translate models. The graph transformation concepts used are pair and triple graph grammars as well as advanced graph transformation concepts like conditional, type- and structure generic graph transformation rules.
Relevant Research
Outputs
Grunske L, Geiger L., Zuendorf A., Van Eetvelde N., Van Gorp P., and Varro D., Using Graph Transformation for Practical Model Driven Software Engineering, book chapter, in Model-driven Software Development - Volume II of Research and Practice in Software Engineering, Beydeda S., Book M., Gruhn, V. (Eds.) ISBN 3-540-25613-X, 2005, pp. 91-119
Grunske L., Geiger L., Lawley M., A Graphical Specification of Model
Transformations with Triple Graph Grammars,
First European Conference Model Driven Architecture - Foundations and
Applications, ECMDA-FA 2005, Nuremberg, Germany, November 7-10, 2005, Lecture
Notes in Computer Science Volume 3748, Springer 2005, pp. 284-298