Despite advances in implementation technologies for distributed systems during the last few years, little attention has been
given to distributed systems within software development methodologies. The contribution of this paper is a UML-based approach
for specifying concurrent behavior and timing constraints— often inherent characteristics of distributed systems. We propose
a novel approach for specifying concurrent behavior of reactive systems in OCL and several constructs for precisely describing
timing constraints on UML state-machines.
More precisely, we show how we enriched operation schemas—pre- and postcondition assertions of system operations written in
OCL—by extending the current calculus with constructs for asserting synchronization on shared resources. Also, we describe
how we use new and existing constructs for UML statemachines to specify timing constraints on the system interface protocol
(SIP)—a restricted form of UML protocol statemachine. Finally, we discuss how both the extended system operation and SIP models
are complementary.
Keywords Unified Modeling Language (UML) - Object Constraint Language (OCL) - Pre- and Postcondition - Software System Specification - Concurrent Programming - Timing Constraints