Skip to main content

Checking the Correspondence between UML Models and Implementation

  • Conference paper
Runtime Verification (RV 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6418))

Included in the following conference series:

Abstract

UML class and sequence diagrams are used as the basis for runtime profiling along with either offline or online analysis to determine whether the execution conforms to the diagrams. Situations where sequence diagrams are intended to characterize all possible executions are described. The approach generates an execution tree of all possible sequences, using a detailed collection of graph transformations that represent a precise operational semantics for sequence diagrams, including treatment for polymorphism, multiple activations, reference to other diagrams, and the use of frames in sequence diagrams. The sequence diagrams are also used to determine the information that should be gathered about method calls in the system. Aspects that can follow the flow of messages in a distributed system, are generated and the results of execution are recorded. The execution tree is used to automatically check the recorded execution to detect operations that do not correspond to any of the diagrams. These represent either new types of sequence diagrams that should be added to the collection, or implementation errors where the system is not responding as designed. In either case, it is important to identify such situations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. UML: Unified modeling language, http://www.uml.org

  2. Damm, W., Harel, D.: Lscs: Breathing life into message sequence charts. Formal Methods in System Design 19, 45–80 (2001)

    Article  MATH  Google Scholar 

  3. Kienzle, J., Guelfi, N., Mustafiz, S.: Crisis Management Systems: A Case Study for Aspect-Oriented Modeling. Trans. on Aspect-Oriented Software Development 7, 1–22 (2010)

    Google Scholar 

  4. Harrison, W., Barton, C., Raghavachari, M.: Mapping uml designs to java. In: OOPSLA 2000, pp. 178–187. ACM, New York (2000)

    Google Scholar 

  5. Massoni, T., Gheyi, R., Borba, P.: A framework for establishing formal conformance between object models and object-oriented programs. Elec. Notes Theor. Comp. Sci. 195, 189–209 (2008)

    Article  MATH  Google Scholar 

  6. Crane, M.L., Dingel, J.: Runtime conformance checking of objects using alloy. In: RV 2003, pp. 2–21. Springer, Heidelberg (2003)

    Google Scholar 

  7. Shing, M.T., Drusinsky, D.: Architectural design, behavior modeling and run-time verification of network embedded systems. In: Kordon, F., Sztipanovits, J. (eds.) Monterey Workshop 2005. LNCS, vol. 4322, pp. 281–303. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  8. Drusinsky, D.: Semantics and runtime monitoring of tlcharts: Statechart automata with temporal logic conditioned transitions. In: RV 2004, pp. 3–21. Springer, Heidelberg (2005)

    Google Scholar 

  9. Stateflow, http://www.mathworks.com/products/stateflow/

  10. Seehusen, F., Stolen, K.: A transformational approach to facilitate monitoring of high-level policies. In: Workshop on Policies for Distributed Systems and Networks, pp. 70–73 (2008)

    Google Scholar 

  11. Simmonds, J., Chechik, M., Nejati, S., Litani, E., O’Farrell, B.: Property patterns for runtime monitoring of web service conversations. In: Leucker, M. (ed.) RV 2008. LNCS, vol. 5289, pp. 137–157. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  12. Kiviluoma, K., Koskinen, J., Mikkonen, T.: Run-time monitoring of architecturally significant behaviors using behavioral profiles and aspects. In: ISSTA 2006, pp. 181–190. ACM, New York (2006)

    Google Scholar 

  13. Malakuti, S., Bockisch, C., Aksit, M.: Applying the composition filter model for runtime verification of multiple-language software. In: ISSRE 2009, pp. 31–40. IEEE, Los Alamitos (2009)

    Google Scholar 

  14. Kim, M., Viswanathan, M., Kannan, S., Lee, I., Sokolsky, O.: Java-mac: a run-time assurance approach for java programs. Formal methods in system design 24 (2004)

    Google Scholar 

  15. Chen, F., Rosu, G.: Mop: an efficient and generic runtime verification framework. In: OOPSLA 2007. ACM, New York (2007)

    Google Scholar 

  16. Havelund, K., Rosu, G.: An overview of the runtime verification tool java pathexplorer. Formal methods in system design 24, 189–215 (2004)

    Article  MATH  Google Scholar 

  17. Hatcliff, J., Dwyer, M.B.: Using the bandera tool set to model-check properties of concurrent java software. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 39–58. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  18. Gulesir, G.: Evolvable Behavior Specifications Using Context-Sensitive Wildcards. PhD thesis, University of Twente (2008)

    Google Scholar 

  19. Cook, T., Drusinsky, D., Shing, M.: Specification, validation and run-time monitoring of soa based system-of-systems temporal behaviors. In: ICSSE 2007, pp. 16–18 (2007)

    Google Scholar 

  20. Kastenberg, H., Rensink, A.: Model checking dynamic states in groove. In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 299–305. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  21. de Roo, A., Hendriks, M., Havinga, W., Durr, P., Bergmans, L.: Compose*: a language- and platform-independent aspect compiler for composition filters. In: WASDeTT 2008 (2008)

    Google Scholar 

  22. ArgoUML, http://argouml.tigris.org

  23. Ciraci, S.: Graph Based Verification of Software Evolution Requirements. PhD thesis, Univ. of Twente, Enschede, CTIT Ph.D. thesis series no. 09-162 (2009)

    Google Scholar 

  24. GrACE: Graph-based adaptation, configuration and evolution modeling, http://trese.cs.utwente.nl/willevolve/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ciraci, S., Malakuti, S., Katz, S., Aksit, M. (2010). Checking the Correspondence between UML Models and Implementation. In: Barringer, H., et al. Runtime Verification. RV 2010. Lecture Notes in Computer Science, vol 6418. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16612-9_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16612-9_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16611-2

  • Online ISBN: 978-3-642-16612-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics