skip to main content
research-article
Open Access

Threaded behavior protocols

Authors Info & Claims
Published:01 July 2013Publication History
Skip Abstract Section

Abstract

Abstract

Component-based development is a well-established methodology of software development. Nevertheless, some of the benefits that the component based development offers are often neglected. One of them is modeling and subsequent analysis of component behavior, which can help establish correctness guarantees, such as absence of composition errors and safety of component updates. We believe that application of component behavior modeling in practice is limited due to huge differences between the behavior modeling languages (e.g., process algebras) and the common implementation languages (e.g., Java). As a result, many concepts of the implementation languages are either very different or completely missing in the behavior modeling languages. As an example, even though behavior modeling languages are practical for modeling and analysis of various message-based protocols, they are not well suited for modeling current component applications, where thread-based parallelism, lock-based synchronization, and nested method calls are the essential building blocks. With this in mind, we propose a new behavior modeling language for software components, Threaded Behavior Protocols (TBP). At the model level, TBP provides developers with the concepts known from the implementation languages and essential to most component applications. In addition, the theoretical framework of TBP provides a notion of correctness based on absence of communication errors and a refinement relation to verify correctness of hierarchical components. The main asset of TBP formalism is that it links together the notion of threads as used in imperative object oriented languages and the notion of refinement. For instance, this allows reasoning about hierarchical components composed of primitive components implemented in Java without the need of bridging abstractions and simplifications enforced by the modeling languages.

References

  1. ABC10 Aldini ABernardo MCorradini FA process algebraic approach to software architecture design2010BerlinSpringer1255.6800410.1007/978-1-84800-223-4Google ScholarGoogle Scholar
  2. ABJ+06 Adamek J, Bures T, Jezek P, Kofron J, Mencl V, Parizek P, Plasil F (2006) Component reliability extensions for fractal component model. http://kraken.cs.cas.cz/ft/public/public_index.phtmlGoogle ScholarGoogle Scholar
  3. AH01a de Alfaro LHenzinger TAInterface automataSIGSOFT Softw Eng Notes200126510912010.1145/503271.503226Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. AH01b de Alfaro L, Henzinger TA (2001) Interface theories for component-based design. In: EMSOFT ’01: Proceedings of the first international workshop on embedded software. London UK, Springer, Berlin, pp 148–165Google ScholarGoogle Scholar
  5. All97 Allen RJ (1997) A formal approach to software architecture. PhD thesis, CMUGoogle ScholarGoogle Scholar
  6. AP03 Adamek J, Plasil F (2003) Behavior protocols capturing errors and updates. In: Proceedings of the 2nd international workshop on unanticipated software evolutionGoogle ScholarGoogle Scholar
  7. AP04 Adamek JPlasil FComponent composition errors and update atomicity: Static analysisJ Softw Maint Evol Res Pract2004175102Google ScholarGoogle Scholar
  8. BBS06 Basu A, Bozga M, Sifakis J (2006) Modeling heterogeneous real-time components in bip. In: Proceedings of the fourth IEEE international conference on software engineering and formal methods, Washington, DC, USA. IEEE Computer Society, pp 3–12Google ScholarGoogle Scholar
  9. BDH+08 Bureš T, Děcký M, Hnětynka P, Kofroň J, Parízek P, Plášil F, Poch T, Šerý O, Tůma P (2008) CoCoME in SOFA. In: The common component modeling example: comparing software component models. Springer, Berlin, pp 388–417Google ScholarGoogle Scholar
  10. BGR Badger—Verification of component behavior specification. http://d3s.mff.cuni.cz/~sery/badgerGoogle ScholarGoogle Scholar
  11. BRJ05 Booch G, Rumbaugh J, Jacobson I (2005) Unified modeling language user guide, 2nd edn. Addison-Wesley Object Technology Series. Addison-Wesley ProfessionalGoogle ScholarGoogle Scholar
  12. CoC Modelling Contest: Common Component Modelling Example. http://agrausch.informatik.uni-kl.de/CoCoMEGoogle ScholarGoogle Scholar
  13. CSS05 Clarke EMSharygina NSinha Nde Boer FSBonsangue MMGraf Sde Roever WPProgram compatibility approachesLecture notes in computer science, vol 41112005BerlinSpringer243258Google ScholarGoogle Scholar
  14. Cˇ VZ07 Černá I, Vařeková P, Zimmerova B (2007) Component substitutability via equivalencies of component-interaction automata. In: Proceedings of the workshop on formal aspects of component software (FACS’06). ENTCS, vol 182. Elsevier Science Publishers, pp 39–55, June 2007Google ScholarGoogle Scholar
  15. FHRR04a Fournet CHoare CARRajamani SKRehof JAlur RPeled DStuck-free conformanceProceedings of 16th international conference on computer aided verification (CAV 2004), Boston, MA, USA, July 13–17, 2004 Lecture notes in computer science, vol 31142004BerlinSpringer242254Google ScholarGoogle Scholar
  16. FHRR04b Fournet C, Hoare T, Rajamani SK, Rehof J (2004) Stuck-free conformance theory for ccs. Technical report, Microsoft Research, July 2004Google ScholarGoogle Scholar
  17. GG97 Grimes RGrimes R DrProfessional Dcom programming1997BirminghamWrox Press Ltd.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Hoa85 Hoare CAR (1985) Communicating sequential processes. Prentice Hall International (UK) LtdGoogle ScholarGoogle Scholar
  19. HP00 Havelund KPressburger TModel checking JAVA programs using JAVA pathfinderInt J Softw Tools Technol Transf2000243663811059.6858510.1007/s100090050043Google ScholarGoogle ScholarCross RefCross Ref
  20. Kof07 Kofron J (2007) Checking software component behavior using behavior protocols and spin. In: Proceedings of applied computing 2007, Seoul, Korea, pp 1513–1517Google ScholarGoogle Scholar
  21. LNW07 Larsen KGNyman UWasowski ADe Nicola RModal I/O automata for interface and product line theoriesESOP. Lecture notes in computer science, vol 44212007BerlinSpringer6479Google ScholarGoogle Scholar
  22. LS00 Leavens GTSitaraman MFoundations of component-based systems2000New YorkCambridge University Press1215.68078Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. MDEK95 Magee J, Dulay N, Eisenbach S, Kramer J (1995) Specifying distributed software architectures. In: Fifth European software engineering conference, ESEC ’95, BarcelonaGoogle ScholarGoogle Scholar
  24. Mil95 Milner RCommunication and concurrency1995HertfordshirePrentice Hall International (UK) Ltd.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. MSD03 Matena V, Stearns B, Demichiel L (2003) Applying enterprise JavaBeans: component-based development for the J2EE platform. Pearson EducationGoogle ScholarGoogle Scholar
  26. OLKM00 van Ommering Rvan der Linden FKramer JMagee JThe Koala component model for consumer electronics softwareComputer2000333788510.1109/2.825699Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. OMG06 OMG Group (2006) CORBA component model specification. Technical report, OMG GroupGoogle ScholarGoogle Scholar
  28. Poc10 Poch T (2010) Towards thread aware component behavior specifications. PhD thesis, Charles University, PragueGoogle ScholarGoogle Scholar
  29. PV02 Plasil F, Visnovsky S (2002) Behavior protocols for software components. IEEE Trans Softw Eng 28(9)Google ScholarGoogle Scholar
  30. Ros98 Roscoe AW (1998) The theory and practice of concurrency. Prentice HallGoogle ScholarGoogle Scholar
  31. RRMP08 Rausch A, Reussner R, Mirandola R, Plasil F (eds) (2008) The common component modeling example: comparing software component models. In: Lecture notes in computer science, vol 5153. Springer, BerlinGoogle ScholarGoogle Scholar

Index Terms

  1. Threaded behavior protocols
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Article Metrics

              • Downloads (Last 12 months)11
              • Downloads (Last 6 weeks)1

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader