Checking OCL Constraints in Distributed Systems Using J2EE/EJB

By Achim D. Brucker and Burkhart Wolff.

We present a pragmatic approach using formal methods to increase the quality of distributed component based systems: Based on UML class diagrams annotated with OCL constraints, code for runtime checking of components in J2EE/EJB is automatically generated. Thus, a UML–model for a component can be used in a black–box test for the component. Further we introduce different design patterns for EJBs, which are motivated by different levels of abstraction, and show that these patterns work smoothly together with our OCL constraint checking. A prototypic implementation of the code generator, supporting our design patterns with OCL support, has been integrated into a commercial software development tool.

Keywords:
OCL, Constraint checking, EJB, J2EE, Design by Contract, Design Pattern, Distributed Systems

Please cite this work as follows:
A. D. Brucker and B. Wolff, “Checking OCL constraints in distributed systems using J2EE/EJB,” Albert-Ludwigs-Universität Freiburg, 157, Jul. 2001. Author copy: http://logicalhacking.com/publications/brucker.ea-checking-2001/

BibTeX
@TechReport{ brucker.ea:checking:2001,
  author        = {Achim D. Brucker and Burkhart Wolff},
  institution   = {Albert-Ludwigs-Universit{\"a}t Freiburg},
  language      = {USenglish},
  month         = {jul},
  title         = {Checking {OCL} Constraints in Distributed Systems Using
                   {J2EE/EJB}},
  areas         = {software},
  abstract      = {We present a pragmatic approach using formal methods to
                   increase the quality of distributed component based systems:
                   Based on UML class diagrams annotated with OCL constraints,
                   code for runtime checking of components in J2EE/EJB is
                   automatically generated. Thus, a UML--model for a component
                   can be used in a black--box test for the component. Further we
                   introduce different design patterns for EJBs, which are
                   motivated by different levels of abstraction, and show that
                   these patterns work smoothly together with our OCL constraint
                   checking. A prototypic implementation of the code generator,
                   supporting our design patterns with OCL support, has been
                   integrated into a commercial software development tool.},
  keywords      = {OCL, Constraint checking, EJB, J2EE, Design by Contract,
                   Design Pattern, Distributed Systems},
  year          = {2001},
  number        = {157},
  num_pages     = {46},
  contributions = {Using OCL Constrains in a EJB environment and Design Patterns
                   for EJBs.},
  note          = {Author copy: \url{http://logicalhacking.com/publications/brucker.ea-checking-2001/}},
}