Modeling and Verification of Component-Based Systems with Data Passing Using BIP

Large-scale systems are often modeled and verified in a component-based way. BIP (Behavior, Interaction, Priority) is a flexible component-based framework which supports hierarchical design of heterogeneous systems. BIP components interact via connectors in which data can be passed among multiple components. It also support the modeling of time. Due to its expressiveness and flexibility, many real-time systems can be modeled easily in BIP. Verification, however, is not well supported in the current BIP framework. That is a major disadvantage when it is used in a model-driven design flow. To fill this gap, we propose a translation from slightly restricted BIP models to timed automata. Then model checking can be applied to the latter using Uppaal (which is a sophisticated model checker for timed automata). The correctness of translation is proven formally and the translation is implemented as a tool Bip2Uppaal. Three industrial case studies show that our approach is practical and effective.

[1]  Christopher Gill,et al.  Verification of Component-based Distributed Real-time Systems , 2008 .

[2]  Olivier H. Roux,et al.  Structural translation from Time Petri Nets to Timed Automata , 2005, J. Syst. Softw..

[3]  Hai Wan,et al.  Component-Based Modeling and Code Synthesis for Cyclic Programs , 2013, 2013 IEEE 37th Annual Computer Software and Applications Conference.

[4]  Jacques Pulou,et al.  Using BIP for Modeling and Verification of Networked Systems -- A Case Study on TinyOS-based Networks , 2007, Sixth IEEE International Symposium on Network Computing and Applications (NCA 2007).

[5]  Gu Ming,et al.  Modeling and Validation of a Data Process Unit Control for Space Applications , 2012 .

[6]  Jirí Srba,et al.  An Efficient Translation of Timed-Arc Petri Nets to Networks of Timed Automata , 2009, ICFEM.

[7]  Min Zhou,et al.  Modeling and Validation of PLC-Controlled Systems: A Case Study , 2012, 2012 Sixth International Symposium on Theoretical Aspects of Software Engineering.

[8]  Alexandre David,et al.  From HUPPAAL to UPPAAL - A Translation from Hierarchical Timed Automata to Flat Timed Automata , 2001 .

[9]  Satoshi Yamane,et al.  The symbolic model-checking for real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[10]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[11]  Joseph Sifakis,et al.  D-Finder 2: Towards Efficient Correctness of Incremental Design , 2011, NASA Formal Methods.

[12]  Joseph Sifakis,et al.  Rigorous Component-Based System Design Using the BIP Framework , 2011, IEEE Software.

[13]  Sergio Yovine,et al.  KRONOS: a verification tool for real-time systems , 1997, International Journal on Software Tools for Technology Transfer.

[14]  Holger Giese,et al.  Incremental Design and Formal Verification with UML/RT in the FUJABA Real-Time Tool Suite , 2004 .

[15]  Joseph Sifakis,et al.  Source-to-source architecture transformation for performance optimization in BIP , 2009, 2009 IEEE International Symposium on Industrial Embedded Systems.

[16]  M. Witko,et al.  Sixth International Symposium. Effects of surface heterogeneity in adsorption and catalysis on solids—ISSHAC VI, Zakopane, Poland, 28th August-2nd September 2006 , 2007 .

[17]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[18]  Joseph Sifakis,et al.  Modeling Heterogeneous Real-time Components in BIP , 2006, Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM'06).

[19]  Joseph Sifakis,et al.  D-Finder: A Tool for Compositional Deadlock Detection and Verification , 2009, CAV.

[20]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.