Soft Models for Analysing Real-Time properties (Robyn SMART) (20pt or 12pt)

Ian Peake (and Heinz Schmidt)

Meet Robyn, our Evolution ER1 robot (ER1 Robot Page 2004). In this project you will extend compositional performance models to predict "soft real-time" properties of Robyn, and design experiments to validate these. This will involve extending an existing package written in Java (Schmidt et al. 2003) and becoming more experienced with Markov Chain analysis. Robyn and other real time systems have requirements on their ``extra-functional'' properties, such as resource (CPU and memory) requirements, performance over time, reliability, and quality of service. "Soft real-time" properties take into account probability, for instance "executes program in 12s with 0.6 probability assuming collision probability less than 0.1". As industry moves to component-based software engineering, predicting extra-functional properties compositionally remains a challenging research problem (Schmidt 2003) for realistically sized systems. The Evolution ER1 is a robotics kit with computer vision, hearing, speech, networking, remote control, email, autonomous mobility, gripping, and IR sensing capabilities, implemented under Windows(TM) and Linux, and controllable via simple state machines or even remotely via a character-based TCP/IP API. The ER1 is suitable for use in a wide range of concept demonstration and prototyping scenarios, which have real-time aspects.

References:
ER1 robot page, 2005 (
http://www.evolution.com/er1/)
Heinz W. Schmidt: Reliability prediction for component-based software architectures. In Journal of Systems and Software, 66(3), pp. 241-252, Elsevier Science Inc, 2003
Heinz W. Schmidt, Ian D. Peake, Jue Xie, Ian Thomas, Bernd J. Kramer, Alexander Fay, Peter Bort: Modelling Predictable Component-Based Distributed Control Architectures Proc. Ninth IEEE International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS' 03), IEEE, pp. 339-346, 2003

Recovery-oriented Model checking (RoMoc) (20pt or 12pt)

Heinz Schmidt and Ian Thomas

In this project you will develop a new moderately-sized state machine model of recovery-oriented interactions between independent autonomous software components. Recovery oriented computing (Patterson 2000) branches into exceptional behaviour before a failure occurs, i.e., proactively, for instance triggered by panicking components. Immediate and efficient measures are taken to safeguard the computation and lower the failure probability - overall mean time to recovery shortens and availability increases. Contrast this with reactive fault-tolerance where exceptions are thrown and handled after a failure is detected. Think 'alert' instead of 'failure' or 'exercise' instead 'hospital bed'.
Your model demonstrator will be implemented by extending an existing Java package for probabilistic finite state automata (PFSAs) (Jayaputera 2003). PFSAs serve as abstract models of programs (particularly in real-time and distributed, i.e., networked, systems). These models can be checked against expected properties including failure probabilities. Such properties are expressed in probabilistic temporal logic (PRISM home page) and checked symbolically against your abstract PFSA model or against actual executions of deployed and running software which is claimed to be recovery-oriented as modeled in the PFSA. The symbolic (model checking) executions could also form the basis for automated testing. Automata-based model checking has numerous practical applications in industry in advanced telecommunication, military and technical domains such as automotive software engineering.
While there are many challenging open problems with this novel recovery-oriented approach (Fox & Patterson 2003, Shapiro 2004) the scope of this Honours project is limited to developing the one model, implementing and exploring it as a model-checking case study.

References:
PRISM home page
Jane Jayaputera, Iman H. Poernomo, Heinz W. Schmidt: Timed Probabilistic Reasoning on UML Specialization for Fault Tolerant Component Based Architectures, Proceedings of the SAVCBS Workshop at European Software Engineering Conference, 2003
Patterson, 2002: ROC: A new research agenda for a new century. Proc. 8th Intl Symp. on High-Performance Computer Architecture (HPCA'02), IEEE, 2002
Armando Fox and David Patterson: Self-Repairing Computers, Scientific American, June 2003
Schmidt, 2004: Building systems from unreliable components, Dagstuhl Workshop on Architecting Systems with Trustworthy Components, 12/2004
Shapiro: Self-healing in modern operating systems, ACM QUEUE vol 2 no 9, pp. 66-75, 12/2004