Master's thesis proposal: Employing OCL for specifying behavior compliance

Advisor: Vladimir Mencl
Student: Jiří Samek

Behavior protocols [1], capturing behavior in terms of events received and sent, define a compliance relation on behavior specifications. UML 2.0 [4] features specification mechanisms, which also model behavior as operation calls accepted and issued (e.g., Activities, State Machines, Protocol State Machines). Port State Machines proposed in [2], an extension of UML 2.0 Protocol State Machines, apply the concepts of behavior protocols to UML and model behavior with events (method requests or responses) sent or received by a Port. The compliance relation defined for behavior protocols can be applied to Port State Machines, however, in UML, the relation should be also specified in the Object Constraint Language (OCL) [5, 6], the constraint language provided with UML. The goal of the thesis is to investigate (i) how OCL supports reasoning on event processing (ii) how OCL can be employed to formally capture the compliance relations [1,3] for Port State Machines. The thesis should provide a formal definition of Port State Machines in OCL, reflecting the application of behavior protocol formalisms currently proposed for Port State Machines.


[1] Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components, IEEE Transactions on Software Engineering, vol. 28, no. 11, Nov 2002

[2] Mencl, V.: Enhancing Component Behavior Specifications with Port State Machines, Tech. Report No. 2003/4, Dep. of SW Engineering, Charles University, Prague, Sep 2003

[3] Adamek, J., Plasil, F.: Behavior Protocols Capturing Errors and Updates, Proceedings of the Second International Workshop on Unanticipated Software Evolution (USE 2003), ETAPS, published by University of Warsaw, Poland, Apr 2003

[4] OMG: Unified Modeling Language: Superstructure, version 2.0, Final Adopted specification, ptc/03-08-02,

[5] OMG: UML 2.0: Object Constraint Language, 2nd revised submission, document ad/03-01-07,

[6] Object Modeling with the OC: The Rationale behind the Object Constraint Language, Lecture Notes in Computer Science Volume 2263, Springer-Verlag Heidelberg, January 2002