Modeling and Verification of Context-Aware Systems

Verifying adaptive behavior is a critical challenge in the development of context-aware systems due to their complexity and uncertainty. This paper presents our novel model-based approach that provides a modeling framework to (1) specify the structural and behavioral aspects of a context-aware system, (2) define invariants of the system that need to be satisfied regardless of the adaptations, and (3) support formal verification of the system model against the invariants. Underlying this framework is our ROAD4Context model that supports the separation of adaptation concerns in context-aware systems. We show how the behavioral model of ROAD4Context can be translated into Petri nets, and how it can be verified against the system invariants. We demonstrate our approach through the modeling and verification of an adaptive cruise control system.

[1]  Jeff Magee,et al.  Analysing dynamic change in software architectures: a case study , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[2]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[3]  Jun Han,et al.  Roles, players and adaptable organizations , 2007, Appl. Ontology.

[4]  Axel Jantsch,et al.  Modelling Adaptive Systems in ForSyDe , 2008, VerAS@TPHOLs.

[5]  Javier Campos,et al.  From UML activity diagrams to Stochastic Petri nets: application to software performance engineering , 2004, WOSP '04.

[6]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[7]  Sandeep S. Kulkarni,et al.  Correctness of Component-Based Adaptation , 2004, CBSE.

[8]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[9]  Jun Han,et al.  Using role-based coordination to achieve software adaptability , 2007, Sci. Comput. Program..

[10]  Bowen Alpern,et al.  Recognizing safety and liveness , 2005, Distributed Computing.

[11]  Ronald K. Jurgen,et al.  Adaptive Cruise Control , 2006 .

[12]  López-GraoJuan Pablo,et al.  From UML activity diagrams to Stochastic Petri nets , 2004 .

[13]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods , 1992 .

[14]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[15]  Jun Han,et al.  Social context: Supporting interaction awareness in ubiquitous environments , 2009, 2009 6th Annual International Mobile and Ubiquitous Systems: Networking & Services, MobiQuitous.

[16]  Alan W. Colman,et al.  Dynamic Protocol Aggregation and Adaptation for Service-Oriented Computing , 2007, 2007 Australian Software Engineering Conference (ASWEC'07).

[17]  Alan Colman,et al.  Role Oriented Adaptive Design , 2006 .

[18]  Holger Giese,et al.  Symbolic invariant verification for systems with dynamic structural adaptation , 2006, ICSE.

[19]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[20]  Nalini Venkatasubramanian Safe 'composability' of middleware services , 2002, CACM.

[21]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[22]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[23]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[24]  James L. Peterson,et al.  Petri Nets , 1977, CSUR.