Verifying UML-RT Protocol Conformance Using Model Checking

  • Yann Moffett
  • Alain Beaulieu
  • Juergen Dingel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6981)


In UML-RT, capsules communicate via protocols which connect capsule ports. Protocol State Machines (PSMs) allow the description of the legal message sequences of a port and are potentially very useful for the modular development and verification of systems. However, it is unclear how exactly conformance of a capsule to its PSMs should be defined and how this can be checked automatically. In this paper, we provide a definition of protocol conformance and show how software model checking can be used to check protocol conformance automatically. We describe the design and implementation of a tool that checks the conformance of a capsule with Java action code with respect to the PSMs of all its ports. The results of the validation of the tool on three case studies are summarized.


State Machine Model Check Linear Temporal Logic Atomic Proposition Java Modeling Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ball, T., Cook, B., Levin, V., Rajamani, S.K.: SLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 1–20. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Engels, G., Küster, J.M., Heckel, R., Groenewegen, L.: A Methodology for Specifying and Analyzing Consistency of Object-Oriented Behavioral Models. In: ESEC/FSE 2001, Vienna, Austria, pp. 186–195 (2001)Google Scholar
  3. 3.
    Engels, G., Küster, J., Heckel, R., Lohmann, M.: Model-Based Verification and Validation of Properties. ENTCS 82(7), 133–150 (2003)Google Scholar
  4. 4.
    Fähndrich, M., Aiken, M., Hawblitzel, C., Hodson, O., Hunt, G., Larus, J., Levi, S.: Language Support for Fast and Reliable Message-Based Communication in Singularity OS. In: EuroSys, pp. 177–190 (2006)Google Scholar
  5. 5.
    Giese, H., Tichy, M., Burmester, S., Flake, S.: Towards the Compositional Verification of Real-Time UML Designs. In: ESEC/FSE 2003, pp. 38–47 (2003)Google Scholar
  6. 6.
    Giordano, L., Martelli, A.: Verifying Agent Conformance with Protocols Specified in a Temporal Action Logic. In: Artif. Intelligence and Human-Oriented Computing, pp. 145–156 (2007)Google Scholar
  7. 7.
    Honda, K., Vasconcelos, V., Kubo, M.: Language Primitives and Type Discipline for Structured Communication-Based Programming. In: Programming Languages and Systems, pp. 33–37 (1998)Google Scholar
  8. 8.
    Hunt, G., Larus, J.: Singularity: Rethinking the Software Stack. SIGOPS Oper. Syst. Rev. 41(2), 37–49 (2007)CrossRefGoogle Scholar
  9. 9.
    Jhala, R., Majumdar, R.: Software model checking. ACM Comput. Surv. 41(4), 1–54 (2009)CrossRefGoogle Scholar
  10. 10.
    Moffett, Y.: UML-RT Protocol Conformance Verification through Exhaustive Exploration - From Theory to Implementation. MSc thesis, Royal Military College of Canada (2010),
  11. 11.
    Nierstrasz, O.: Regular Types for Active Objects. SIGPLAN Not. 28(10), 1–15 (1993)CrossRefGoogle Scholar
  12. 12.
    Object Management Group. UML 2.0 Superstructure Specification. Technical report, OMG (August 2005)Google Scholar
  13. 13.
    Saaltink, M.: Using SPIN to analyse ROOM models. Technical Report TR-99-5537-02, ORA Canada (1999)Google Scholar
  14. 14.
    Saaltink, M., Meisels, I.: Using SPIN to analyse RoseRT models. Technical Report TR-99-5537-03, ORA Canada (October 1999)Google Scholar
  15. 15.
    Schäfer, T., Knapp, A., Merz, S.: Model Checking UML State Machines and Collaborations. ENTCS 55, 1–13 (2004)Google Scholar
  16. 16.
    Selic, B.: Using UML for Modeling Complex Real-Time Systems. In: Languages, Compilers, and Tools for Embedded Systems, pp. 250–260 (1998)Google Scholar
  17. 17.
    Selic, B.: Personal communication (January 2011)Google Scholar
  18. 18.
    Selic, B., Gullekson, G., Ward, P.: Real-Time Object-Oriented Modeling. Wiley, Chichester (1994)zbMATHGoogle Scholar
  19. 19.
    Shigo, O., Okawa, A., Kato, D.: Constructing Behavioral State Machine using Interface Protocol Specification. In: APSEC 2006, pp. 191–198 (2006)Google Scholar
  20. 20.
    Stengel, A., Bultan, T.: Analyzing Singularity Channel Contracts. In: 18th Intern. Symp. on Softw. Testing and Analysis (ISSTA 2008). ACM, New York (2009)Google Scholar
  21. 21.
    Tran, V., Hashimoto, H., Tanabe, Y., Hagiya, M.: Verification of Java Programs under Fairness Assumption. In: 25th Conf. of Japan Society for Softw. Sci. and Techn. (2008)Google Scholar
  22. 22.
    Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. Autom. Softw. Eng. 10(2), 203–232 (2003)CrossRefGoogle Scholar
  23. 23.
    Whittaker, P., Goldsmith, M., Macolini, K., Teitelbaum, T.: Model checking UML-RT protocols. In: Workshop on Formal Design Techniques for Real-Time UML, York, UK (November 2000)Google Scholar
  24. 24.
    Witkowski, T., Blanc, N., Kroening, D., Weissenbacher, G.: Model Checking Concurrent Linux Device Drivers. In: Intern. Conf. on Autom. Soft. Eng. (ASE 2007). ACM, New York (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Yann Moffett
    • 1
  • Alain Beaulieu
    • 2
  • Juergen Dingel
    • 3
  1. 1.Dept. of National DefenseCF 18 Avionics System Eng.OttawaCanada
  2. 2.Elec. and Comp. EngineeringRoyal Military CollegeKingstonCanada
  3. 3.School of ComputingQueen’s UniversityKingstonCanada

Personalised recommendations