
The
concurrency is an important issue to tackle when modeling real-time applications
which are intrinsically concurrent. Indeed, according for example to (CNRS 1988)
and (Stankovic 88) definition, “real-time” implies that such systems are
coupled with the real world which is fundamentally concurrent.
Active
object concept is the usual way for OO programming languages in integrating
concurrency issue within their object view (Atkinson 91) , (Guerraoui 95) et (Tripathi,
Oosten et al. 99). Examples of concrete approaches that successfully coupled
concurrency with object orientation are Act++ (Kafura 90), Hybrid (Nierstratz
1987), ABCL (Yonezawa, Shibayama et al. 87), Argus (Liskov 1988), PRAL-RT (Fouquier
and Terrier 95), RTGOL (J-Ph
Babau 98), TOM (Terrier 96), etc.
In UML, the internal concurrency of the active objects is the result of:
UML Active objects may have
internal concurrency as a result of:
|
state
machine specification:
concurrent states of the state machine can be perceived as concurrent
threads of control; |
|
|
operation
executions:
concurrent invocations of a same operation may lead to concurrent
executions of the operation specification; |
|
|
action
specification:
According to the new action semantics definition, the actions contained in
an action set may be executed concurrently, if no explicit or causal
dependency constrain their sequencing. |
Moreover, UML provides three
mechanisms for specifying concurrency:
|
the
isActive meta-attribute of the Class
meta-class; |
|
|
the
concurrency meta-attribute of the Operation meta-class, who is supposed to address primarily passive
classes, but it can be used also for active classes; |
|
|
the
state machines. |
At run-time these mechanisms should
work together correctly in order to ensure the correct behaviour of a model.
However,
there is no generally accepted mechanism for coupling these concurrency
specification mechanisms. The purpose of this workshop is to gather together
people interested by concurrency issues in UML.
Bibliography
C. Atkinson, (91). Object-oriented reuse, concurrency and distribution : an Ada-based approach, Addison-Wesley.
CNRS (1988). "Le temps-réel." TSI - Technique et Science Informatiques 7(5): 493-500.
J-Ph Babau, J L Sourrouille “Expressing Real Time Constraints in a Reflective Object Model” Control Engineering Practice Vol 6, pp 421-430 1998.
G. Fouquier, and F. Terrier (95). PRAL-RT : Un langage à objets concurrents temps réel pour machines multi-threads. Third Conference on Real-Time Systems (RTS'95), Paris, France.
R. Guerraoui, (95). "Les langages concurrents à objets." Technique et Science Informatiques (TSI) 14(8).
D. G. Kafura, and K. H. Lee (90). "ACT++: Building a concurrent C++ with actors." Journal of Object-Oriented Programing (JOOP)(May/June): 25-37.
B. Liskov, (83). "Guardians and Actions: Linguistic Support for Robust, Distributed programs." ACM Transactions on programmaing Languages and Systems 5(3).
O. Nierstrasz, (87). Active objects in Hybrid. The Object-Oriented Programming : Systems, Languages and Applications Conference (OOPSLA'87), ACM SIGPLAN Notices.
J. A. Stankovic, (88). "Misconceptions about real-time : a serious problem for next-generation systems." IEEE Computer 21(10): 10-19.
F. Terrier, G. Fouquier, et al. (96). A Real Time Object Model. TOOLS Europe'96, Paris, France, Prentice Hall.
A. Tripathi, J. V. Oosten, et al. (99). "Object-Oriented Concurrent Programming Languages and Systems." JOOP novembre/decembre: p22-29.
A.Yonezawa, E. Shibayama, et al. (87). "Modelling and Programming in an Object-Oriented Concurrent Language ABCL/1." Object-Oriented Concurrent programming.