skip to main content
10.1145/1244002.1244326acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

Checking software component behavior using behavior protocols and spin

Published: 11 March 2007 Publication History

Abstract

Using software components is a modern approach for building extensible and reliable applications. To ensure high dependability, a component application should undergo verification, e.g. model checking, to prove it has certain properties. The implementation of an application is usually too complex to be verified at a formal level; therefore, a model being an abstraction of the implementation is to be used. Behavior protocols [11] are a platform for modeling of software component behavior. In this paper, we propose a method for translation behavior protocols to Promela [7], which is consequently used as the input for the Spin model checker [7]. Having the Promela code describing the component behavior, one can efficiently check for the behavior compatibility and LTL (Linear Temporal Logic) properties of cooperating software components.

References

[1]
J. Adamek, T. Bures, P. Jezek, J. Kofron, V. Mencl, P. Parizek, and F. Plasil. Component reliability extensions for Fractal component model, http://kraken.cs.cas.cz/ft/public/public_index.phtml, 2006.
[2]
J. Adamek and F. Plasil. Component composition errors and update atomicity: Static analysis. Journal of Software Maintenance and Evolution: Research and Practice, 17(5), 2004.
[3]
T. Barros, L. Henrio, and E. Madelaine. Verification of distributed hierarchical components. In Proceedings of the International Workshop on Formal Aspects of Component Software (FACS 2005), August 2006.
[4]
J. Corbett, M. Dwyer, J. Hatcliff, C. Pasareanu, Robby, S. Laubach, and H. Zheng. Bandera: Extracting Finite-state Models from Java Source Code. In Proceedings of the 22nd International Conference on Software Engineering, June 2000.
[5]
C. Demartini, R. Iosif, and R. Sisto. dSPIN: A dynamic extension of SPIN. In SPIN, pages 261--276, 1999.
[6]
P. Hnetynka and F. Plasil. Dynamic reconfiguration and access to services in hierarchical component models. In Proceedings of CBSE 2006, pages 352--359. Springer-Verlag, 2006.
[7]
G. J. Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley Professional, September 2003.
[8]
J. Kofron. Software Component Verification: On Translating Behavior Protocols to Promela, technical report no. 2006/11, Dep. of SW Engineering, Charles University in Prague, 2006.
[9]
M. Mach, F. Plasil, and J. Kofron. Behavior protocol verification: Fighting state explosion. International Journal of Computer and Information Science, 6(1), 2005.
[10]
P. Parizek and F. Plasil. Specification and generation of environment for model checking of software components. In Presented at Formal Foundations of Embedded Software and Component-Based Software Architectures (FESCA 2006), 2006.
[11]
F. Plasil and S. Visnovsky. Behavior protocols for software components. IEEE Trans. Softw. Eng., 28(11):1056--1076, 2002.
[12]
R. Rouvoy and P. Merle. Towards a model-driven approach to build component-based adaptable middleware. In ARM '04: Proceedings of the 3rd workshop on Adaptive and reflective middleware, pages 195--200, New York, NY, USA, 2004. ACM Press.
[13]
O. Tkachuk, M. Dwyer, and C. Pasareanu. Automated environment generation for software model checking. In Proc. of the Eighteenth IEEE Int. Conf. on Automated Software Engineering, 2003.
[14]
W. Visser, P. Mehlitz, J. Penix, D. Giannakopoulou, C. Pasareanu, and M. Mansouri-Samani. Java Pathfinder, http://javapathfinder.sourceforge.net, 2006.

Cited By

View all

Recommendations

Reviews

Larry Bernstein

An interesting and possibly important status report on checking component behavior is presented in this paper. Do not expect to be able to use the results to check your components just yet. Do expect to find an incomplete perspective, as the work is narrowly referenced. For example, there is no mention of the SMC systems that “can be used for checking safety of concurrent programs under different fairness assumptions. It is based on explicit state enumeration” [1]. The paper’s approach is to show how new language functions can be used to assure compatibility between components. There is no provision for data normalization, or checking for parameter syntax or semantic compatibility. I hope that this is part of the author’s plan for future work. The approach described must be reported in the context of the significant work already published in this area. The need for behavior protocols for modeling component behavior addressed in this paper is an important step in moving to reusable components. We need to encourage this work. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '07: Proceedings of the 2007 ACM symposium on Applied computing
March 2007
1688 pages
ISBN:1595934804
DOI:10.1145/1244002
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 March 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. behavior protocols
  2. behavior specification
  3. promela
  4. verification

Qualifiers

  • Article

Conference

SAC07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media