OVERVIEW

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.

This workshop is the fourth of a series of workshops on the impact of real-time issues on the use of object-oriented design techniques. References to the previous ones can be found on the Links page.

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.