Towards an assume-guarantee theory for adaptable systems

Modern software systems should be more and more designed with adaptation and run-time evolution in mind. But even with good reactions to changes, the triggered adaptation should be performed preserving some properties that we call invariants. This position paper presents a step towards the definition of a theoretical assume-guarantee framework that allows one to efficiently define under which conditions adaptation can be performed by still preserving the desired invariant. The framework aims to cope with different levels of granularity that span from code to software architecture. Two illustrative examples instantiate the framework at two different levels of abstraction.

[1]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[2]  Howard Barringer,et al.  Component Verification with Automatically Generated Assumptions , 2005, Automated Software Engineering.

[3]  Manuel Ojeda-Aciego,et al.  tascpl: TAS Solver for Classical Propositional Logic , 2004, JELIA.

[4]  Cliff B. Jones,et al.  Wanted: a compositional approach to concurrency , 2003 .

[5]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[6]  Heather Goldsby,et al.  AMOEBA-RT: Run-Time Verification of Adaptive Software , 2008, MoDELS.

[7]  Corina S. Pasareanu,et al.  Learning Assumptions for Compositional Verification , 2003, TACAS.

[8]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[9]  Jan Gustafsson,et al.  Loop Bound Analysis based on a Combination of Program Slicing, Abstract Interpretation, and Invariant Analysis , 2007, WCET.

[10]  Rogério de Lemos,et al.  08031 -- Software Engineering for Self-Adaptive Systems: A Research Road Map , 2008, Software Engineering for Self-Adaptive Systems.

[11]  George S. Avrunin,et al.  Breaking up is hard to do: An evaluation of automated assume-guarantee reasoning , 2008, TSEM.

[12]  Sagar Chaki,et al.  Assume-Guarantee Reasoning for Deadlock , 2006, 2006 Formal Methods in Computer Aided Design.

[13]  Jürgen Dingel,et al.  Computer-assisted assume/guarantee reasoning with VeriSoft , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[14]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

[15]  Paola Inverardi,et al.  Compositional verification of middleware-based software architecture descriptions , 2004, Proceedings. 26th International Conference on Software Engineering.

[16]  Krzysztof R. Apt,et al.  Logics and Models of Concurrent Systems , 1989, NATO ASI Series.