On the Concurrent Object Model of UML *

Size: px
Start display at page:

Download "On the Concurrent Object Model of UML *"

Transcription

1 On the Concurrent Object Model of UML * Iulian Ober, Ileana Stan INPT-ENSEEIHT, 2, rue Camichel, Toulouse, France Phone (+33) , Fax (+33) {iulian.ober, ileana.stan}@enseeiht.fr Abstract. Designing object models with concurrency features was a preoccupation of numerous researchers for the past two decades. UML, the standard object-oriented modeling language adopted by the OMG, does not tackle the issues of concurrency in its object model in a systematic way. In this paper we outline the position of the UML object model within the design space of concurrent object models described in [10], discuss the inconsistencies in the UML semantics and finally propose an object model, comprising features from UML and ATOM a state-of-the-art concurrent object model. 1 Introduction The problem of integrating the object-oriented concepts and concurrency concepts has been a preoccupation of many researchers for the past two decades. Several concurrent object-oriented languages and models were developed [2,3,5,8,9,11,14,15] and there was research work put into analyzing and classifying them [7,10]. On the other hand, UML [1,13,17] is the standard object-oriented modeling language adopted by the Object Management Group and is becoming the de-facto standard support for object-oriented analysis and design. This paper aims to give a clear idea about the concurrency features that exist in the adopted version of UML [17]. In order to do so, we proceed in a systematic fashion, using the classification of concurrent object models described in [10] and outlined in section 2. From this perspective, in the third section we try to determine the position of UML and outline the weak points of the semantics of certain concurrency features of UML. Finally, in section 4 we describe a fully-functional object model that we have developed, which presents the same facilities as UML, notably state machines, but unambiguously integrates them with the concurrency features of a complex concurrent object model, ATOM, defined in [11,12]. The intended auditory of this paper is both the UML community, since the modeling of concurrency in UML seems not to enjoy the same level of attention as do other features of the language, and the concurrent object-oriented programming community since UML has an ever increasing importance in the spectrum of object-oriented modeling languages. * work supported by CS VERILOG,

2 2 Classification of Concurrent Object Models A well known classification of concurrent object models is given by Papathomas in the chapter 3 of [10]. It uses three dimensions. On the first dimension, object models are divided with respect to what combination of objects they support, into three categories: orthogonal (objects are independent of threads), homogenous (all objects are active), heterogeneous (objects may be active or passive). The second dimension captures the internal concurrency of objects: internally sequential, quasi-concurrent or concurrent. Finally, the third dimension captures the available inter-object communication and synchronization mechanisms: synchronous/asynchronous feature calls, conditional/unconditional acceptance of incoming calls, etc. For details on the classification criteria, the reader is referred to the original work [10]. In the next section we will use this classification for systematically analyzing the facilities of the UML concurrent object model. 3 The Concurrency Features of the UML Object Model Our goal in this section is not to explain in detail the semantics of the UML concepts that we are interested in. We rather outline the modeling of concurrency features and the related anomalies. Therefore, understanding this section may require some general knowledge about the main concepts of the UML meta-model and semantics, like Class, Operation, Method, Action, StateMachine, Event. UML is a modeling language thought to be used for analysis, design and documentation rather than implementation. Its designers wanted it as general as possible. However, some decisions that have been taken in its definition, decisions conforming to the cultures from which UML emerged (OMT, Booch, Objectory, etc.), restrict its area of application. For example, it would be hard model a highly reflective CLOS architecture in UML, simply because UML does not have a meta-class concept. Correspondingly, if UML wants to conform to all possible models of concurrency, it will have to resign form describing its own model. But as soon as it describes such a model for concurrency, it should do that in a coherent and complete way. This is why we allow ourselves to study the inconsistencies in the concurrent object model of UML and to propose an alternative solution. The modeling of concurrency is spread across the UML specification [17], for each concept that is involved in it (Class, Operation, Action and StateMachine). In what follows, we will try to group this information, discuss it and infer the implications with respect to the position of UML in the design space sketched in section Active and passive objects Classes in UML may be either active or passive, as described by the attribute isactive of the meta-model class Class ([17a] pp. 16): "specifies whether an Object of the Class maintains its own thread of control and runs concurrently with other active Ob-

3 jects. If false, then the Operations run in the address space and under the control of the active Object that controls the caller" ([17a] pp. 21). Therefore the model is heterogeneous. An UML active object has only one thread of control, so active objects are internally sequential. However, the UML semantics says nothing about the situation when multiple concurrent calls are made to the same active object (except for the case when the object has a state machine, case that we will see in more detail later). As only one message may be treated at a time, there will have to exist some mechanism for queuing the calls. Whether this queuing mechanism exists or how it acts, it is not said in [17a]. In the case of passive objects, each Operation is either sequential, guarded or concurrent, according to the concurrency attribute of the meta-model class Operation ([17a pp. 26]). For a certain passive object, only one sequential operation may be active at a time, but this is not enforced by the model. Guarded operations are also mutually exclusive, but they are protected by the model against concurrent calls. Finally, concurrent operations may be called concurrently at any time. We note that the meaning of active/passive is not entirely the same as in [10]: the passive objects still have a degree of control over the invocations made towards them. This statement is further supported by the semantics of state machines. 3.2 Messages The object interaction mechanisms in UML are messages and signals. Signals are discussed together with state machines in the next section. The action of passing a message is called CallAction in the UML meta-model. CallAction has an attribute mode ([17a] pp. 67,69) that may specify either "synchronous" or "asynchronous". Thus, in terms of our classification, the communication means offered by the UML object model are one-way message passing and RPC. An UML synchronous call is what the classification calls a (blocking) RPC. An asynchronous call is what we call one-way message passing since there are no mechanisms for the caller to synchronize with the end of execution of the called method and to retrieve the result. UML does not specify constraints with respect to the target of an asynchronous call. This is problematic, since passive objects execute their methods on the calling thread, if the calling thread "does not wait for the completion of the execution of the Operation but continues immediately", the called operation will have no thread left to execute on. 3.3 State machines The UML object model is different from any other object model studied in connection with the issues of concurrency, in that the behavior of an object in UML may also be specified entirely or partially through a statechart ([17a] pp. 97). According to [17a], if an object has a state machine then all the requests sent to the object pass through its state-machine, whether they are signals or method calls. State machines in UML respond to both SingalEvents and CallEvents. The state machine

4 processes events in a sequential way so that all events are processed following a queuing policy, even if they are method calls. One thing that is not clear in [17a] is whether the methods of an object are executed by its state machine or the state machine is manipulated by the methods. For both active and passive objects, the state machine can respond to a CallEvent either by invoking the corresponding operation, by performing some other actions or by doing nothing. Although slightly unusual, this is a powerful feature that makes it possible to express request scheduling policies through state machines. One problem is that UML does not define a notation to distinguish between the three cases above. Another problem that persists, despite the fact that passive objects with state machines go a long way back in the OOA&D, is that state machines are primarily designed to respond to asynchronous stimuli like Signals. Or a passive object cannot respond to such stimuli, not having its own thread of control. 3.4 UML position in the design space of concurrent object models The following table summarizes the conclusions we have drawn about the position of UML in the design space of concurrent object models as systematized in [10]: The position of UML within the design space of concurrent object models is quite clear, despite the leaks in the specification that we saw in the earlier sections. Besides these leaks, there are some drawbacks in the approach taken by UML towards concurrency, among which: active objects are sequential request scheduling policies can be expressed only using statecharts, which makes it difficult to express very simple activation conditions and is prone to inheritance anomalies (especially since statechart inheritance is not formally defined in UML). asynchronous request-reply communication is not supported natively A careful designer can avoid all these anomalies and UML is already used on a large industrial scale. Still, a cleaner semantics and more powerful primitives are desirable. It is not our goal to define a semantics in this paper, but merely to suggest improvements and clarifications to the model.

5 4 The ATOM-S Object Model The drawbacks of the UML object model drove us in the research of a better combination of a concurrent object model and state machines. The result is the ATOM-S object model. Similar efforts are described in [4,16]. The essential difference is that we start from a concurrent object model, ATOM [11,12], proven to solve many of the classical problems of object-oriented concurrency, such as inheritance anomalies [14]. Our proposal represents an extension of UML. This requires to correct the anomalies that exist in UML and to use the UML extension mechanisms (stereotypes and tagged values) to model the concepts added by ATOM-S. We have implemented a fully functional prototype of this model in the Python [18] programming language. 4.1 Basic notions of ATOM This section is a brief presentation of ATOM and may be skipped by the readers familiar with it. More details on ATOM can be found in [11,12]. ATOM has only quasi-concurrent active objects. [11] presents this choice as a good compromise between expression power and protection of the integrity against concurrent calls. Active objects communicate through two-ways (request-reply) messages, which can be synchronous (blocking or non-blocking RPC) or asynchronous. For asynchronous messages ATOM uses advanced features for reply scheduling. An object can issue a requests towards another object and later retrieve the result or wait for this result to be produced. Delegation of the response by a method to another method is also possible and the reply is routed automatically to the initial requester. Request scheduling is based on activation conditions. A specific mechanism associates actions to specific events, so one can write an action to be executed when a method call is received, when the execution begins or when it ends. [11] shows that this feature solves certain inheritance anomalies. ATOM introduces the notion of abstract state, denoting a named predicate over the attributes of an object used to describe activation conditions. Abstract states are used for coordinating a set of objects. Each object has a notifier service, to which another object can subscribe, to be announced when the object reaches a certain state. 4.2 ATOM-S ATOM-S does not make modifications to the features of ATOM, instead it makes an essential extension by integrating state machines. ATOM-S uses passive objects, because they exist in UML and they may be necessary when all the active object overhead is not needed. Passive objects do not own threads of control, but execute their methods on the caller threads. Therefore they can not respond to asynchronous calls and, unlike in UML, they cannot have a state machine. This difference is justified by the fact that state machines should be used to describe the response of objects to asynchronous signals. This also solves the issue raised in the end of section 3.3.

6 1 class ThreadScheduler (ActiveObjectSupport): 2 methods = [ InsertThread, Schedule, EndThread, AlertAdmin, RecoveryProc ] 3 events = [ Recover ] 4 conditions = { 5 InsertThread : not self.instate( Overloaded ) 6 Schedule : not self.instate( Overloaded ) 7 } 8 def InsertThread(self, thread, priority): 9 """... the bodies of the methods are omitted""" 10 statechart = { Normal HQGB,QVHUW7KUHDG>VHOI/RDG@ Alerted UHFYB,QVHUW7KUHDG >VHOI/RDG@ VHOI$OHUW$GPLQ 5HFRYHUVHOI$OHUW$GPLQ VHOI5HFRYHU\3URF Overloaded UHFYB,QVHUW7KUHDG VHOIUHFHLYH(YHQW5HFRYHU } Fig. 1. A simple thread scheduler class in ATOM-S As in UML, the methods of a passive object can be: sequential (raise an exception when called concurrently), guarded (mutually exclusive and protected through semaphores) and concurrent (not protected and free to be called concurrently). In ATOM-S active objects are quasi-concurrent. This represents an extension of the UML internally sequential model: an executing method can explicitly yield the control for example while it is waiting for a return from another object. ATOM-S uses all the communication and synchronization mechanisms of ATOM. To exemplify the features of ATOM-S, we use a simple example: a thread scheduler class whose code is partially given in Fig. 1 (the bodies of the methods are omitted). The example is written in our extension of Python, except for the statechart, which has a Python form but it is more readable in a graphic Statechart [4] format. Besides attributes and methods, an active object may have a state machine that specifies the reactive part of its behavior and responds to asynchronous one-way stimuli, called signals, that may carry parameters. The signals to which a class responds are part of the class signature, just like the methods (Fig. 1 line 3). As in UML, the state machine may specify the complete behavior of an object or only its protocol, case in which its states are used as activation conditions for the object methods. In Fig.1 the activation conditions of InsertThread and Schedule

7 are based on state machine: the methods cannot execute while the object is in the Overloaded state (lines 5,6). To solve the ambiguity that exists in UML about the way CallEvents are processed (see section 3.3), method invocations sent towards an object do not pass through its state machine and only signals are queued and processed one-by-one by the machine. Thus, a method invocation will always result in the execution of the method. The operational semantics of state machines in ATOM-S is based on the fact that the state machine of an active object runs quasi-concurrently with its methods. At object creation time a default thread is created to manage the state machine (if there is a machine). This thread keeps track of the current state of the machine, retrieves signals from the queue and executes the transitions and actions of the state machine. Depending on a priority policy chosen for the object, the state machine thread may yield the control between the processing of consecutive events or only when the event queue is empty. The state machine of an object is notified when a message call is received, when a method starts executing or finishes. Note that, like in ATOM, the moment when the method is received may not coincide with the moment when it starts executing. The following signals are sent by default by the underlying model to the state machine: (when the method is called on that object), (when the method starts executing) and (when the method ends its execution). The introduction of these implicit messages augments the power of expressing request scheduling policies through the state machine in the same way the receipt, pre- and post-actions augment the power of expression of ATOM activation conditions (see [11]). In Fig.1 these implicit signals recv_insertthread and end_insertthread trigger transitions in the state machine. Our model clarifies the relationship between the operations of a class and its statechart, which is vague in UML. As an extension of the ATOM model, the ATOM-S solves the classical problems of concurrency. In addition, it has the expressing power of statecharts and means for combining the two ways of modeling behavior. 5 Conclusions The substantial research work that has been done in the field of concurrent objectoriented programming, although scientifically recognized, has a long way ahead towards the integration in industrial standards, languages and environments. On the other side, UML, which is a popular standard language for analysis, design and documentation, has largely ignored the problem of concurrency in its model. It is therefore an open door through which research results in concurrent object oriented programming languages can penetrate to the industrial world. This paper is only the beginning of a process of correcting the problems and identifying general solutions for the integration of concurrency in UML. We have pointed out some weaknesses of UML face to concurrency. To overpass these problems we have presented in the fourth section a concurrent model, which can be regarded either as an extension of UML or as a design pattern. The model we developed has about the

8 same power of expression as UML. It benefits from the results of research in concurrent object oriented programming, embodied in the ATOM model, and takes an approach as close to UML as possible and does it in a clean, unambiguous way. The prototype that we developed (freely available from the authors of this paper) is an extensible tool, that can be used for experimenting with our model as well as with other variations on this theme. References 1. Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language User Guide. Addison-Wesley, (1998) 2. Caromel, D: Towards a Method of Object Oriented Concurrent Programming, Communications of the ACM, vol. 36, no. 9, pp , (1993) 3. Gehani, D., Roome, W.D: The Concurrent C Programming Language, Prentice Hall Harel, D., Gery, E.: Executable Object Modeling with Statecharts IEEE Computer July, pp.31-42, (1997) 5. Kafura, D.G., Lee, K.H.: Inheritance in Actor based concurrent object-oriented languages Proceedings of ECOOP 89, pag , Cambridge University Press (1989) 6. Matsuoka, S., Watanabe, T., Yonezawa, A.: Hybrid group reflective architecture for object-oriented languages Proceedings of ECOOP/OOPSLA 90 Workshop on Reflection and Metalevel Architectures in Object Oriented Programming, (1990) 7. Matsuoka, S., Yonezawa, A.: Analysis of inheritance anomaly in OO concurrent programming language, Research directions in Concurrent OO programming, MIT Press, (Ed. G.Agha, P.Wegner, A.Yonezawa), pg , (1993) 8. Meyer, B.: Object Oriented software construction, Second edition, Prentice Hall, (1997) 9. Nierstrasz, O.: Active Objects in Hybrid. Proc OOPSLA 87, SIGPLAN Notices v.22, no. 12, pp , (1987) 10. Papathomas, M.: Language Design Rationale and Semantic Framework for Concurrent Object-Oriented Programming. PhD Thesis. Université de Genève, (1992) 11. Papathomas, M.: ATOM: An Active Object Model for Enhancing Reuse in the Development of Concurrent Software, RR 963-I-LSR-2, LSR-IMAG, Grenoble, (1996) 12. Papathomas, M., Andersen, A.: Concurrent Object Oriented Programming in Python with ATOM 1st Conference on Python, (1996) 13. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual., Addison-Wesley, (1998) 14. Yonezawa, A.: ABCL: An Object-Oriented Concurrent System. Computer Systems Series. Ed. Akinori Yonezawa, MIT Press (1990) 15. Tomlinson, V. Singh: Inheritance and synchronization with Enabled-Sets. Proceedings of OOPSLA'89, ACM Press, October (1989) 16. Selic, B.: "An Efficient Object-Oriented Variation of the Statecharts Formalism for Distributed Real-Time Systems", Paper submitted to CHDL '93: IFIP Conference on Hardware Description Languages and Their Applications, April 26-28, 1993, Ottawa, Canada. 17. UML Proposal to the OMG, OMG documents ad/ to ad/ a. UML Semantics, OMG document ad/ The Python Language website:

A Meta-Model for Composition Techniques in Object-Oriented Software Development

A Meta-Model for Composition Techniques in Object-Oriented Software Development A Meta-Model for Composition Techniques in Object-Oriented Software Development Bedir Tekinerdogan Department of Computer Science University of Twente P.O. Box 217, 7500 AE Enschede, The Netherlands E-Mail:

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

More information

PROCESSES AND THREADS

PROCESSES AND THREADS PROCESSES AND THREADS A process is a heavyweight flow that can execute concurrently with other processes. A thread is a lightweight flow that can execute concurrently with other threads within the same

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

More information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective

More information

Actor-eUML for Concurrent Programming

Actor-eUML for Concurrent Programming Actor-eUML for Concurrent Programming Kevin Marth and Shangping Ren Illinois Institute of Technology Department of Computer Science Chicago, IL USA martkev@iit.edu Abstract. The advent of multi-core processors

More information

CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms

CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms CYES-C++: A Concurrent Extension of C++ through Compositional Mechanisms Raju Pandey J. C. Browne Department of Computer Sciences The University of Texas at Austin Austin, TX 78712 fraju, browneg@cs.utexas.edu

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2003 Vol. 2, No. 6, November-December 2003 UML 2 Activity and Action Models Part 3:

More information

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS Juan Antonio de la Puente Dept. of Telematics Engineering School of Telecommunication, Technical University of Madrid E-mail: jpuente@dit.upm.es 1. Introduction

More information

CJava: Introducing Concurrent Objects in Java

CJava: Introducing Concurrent Objects in Java CJava: Introducing Concurrent Objects in Java Gianpaolo Cugola and Carlo Ghezzi [cugola,ghezzi]@elet.polimi.it Dipartimento di Elettronica e Informazione Politecnico di Milano P.za Leonardo da Vinci 32

More information

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture Sadahiro Isoda Toyohashi University of Technology Toyohashi 441-8580, Japan isoda@tutkie.tut.ac.jp Abstract. UML2.0 recently made a correction

More information

A FRAMEWORK FOR ACTIVE OBJECTS IN.NET

A FRAMEWORK FOR ACTIVE OBJECTS IN.NET STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LV, Number 3, 2010 A FRAMEWORK FOR ACTIVE OBJECTS IN.NET DAN MIRCEA SUCIU AND ALINA CUT Abstract. Nowadays, the concern of computer science is to find new

More information

204 Supporting Software Reuse in Concurrent OOPLs

204 Supporting Software Reuse in Concurrent OOPLs 204 Supporting Software Reuse in Concurrent OOPLs [32] C. Tomlinson and V. Singh, Inheritance and Synchronization with Enabled Sets, ACM SIGPLAN Notices, Proceedings OOPSLA 89, vol. 24, no. 10, pp. 103-112,

More information

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs Gilles Ardourel, Marianne Huchard To cite this version: Gilles Ardourel, Marianne Huchard. Teaching Encapsulation and

More information

Supporting Software Reuse in Concurrent Object-Oriented Languages: Exploring the Language Design Space 1

Supporting Software Reuse in Concurrent Object-Oriented Languages: Exploring the Language Design Space 1 Supporting Software Reuse in Concurrent Object-Oriented Languages: Exploring the Language Design Space 1 Michael Papathomas Oscar Nierstrasz 2 Abstract The design of programming languages that cleanly

More information

Concurrent Object-Oriented Development with Behavioral Design Patterns

Concurrent Object-Oriented Development with Behavioral Design Patterns Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch

More information

Composition and Separation of Concerns in the Object-Oriented Model

Composition and Separation of Concerns in the Object-Oriented Model ACM Computing Surveys 28A(4), December 1996, http://www.acm.org/surveys/1996/. Copyright 1996 by the Association for Computing Machinery, Inc. See the permissions statement below. Composition and Separation

More information

Reflective Java and A Reflective Component-Based Transaction Architecture

Reflective Java and A Reflective Component-Based Transaction Architecture Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,

More information

An Object-Oriented Approach to Software Development for Parallel Processing Systems

An Object-Oriented Approach to Software Development for Parallel Processing Systems An Object-Oriented Approach to Software Development for Parallel Processing Systems Stephen S. Yau, Xiaoping Jia, Doo-Hwan Bae, Madhan Chidambaram, and Gilho Oh Computer and Information Sciences Department

More information

Visualizing the Synchronization of Java-Threads with UML

Visualizing the Synchronization of Java-Threads with UML Visualizing the Synchronization of Java-Threads with UML Katharina Mehner Annika Wagner University of Paderborn Department of Computer Science D-33095 Paderborn, Germany {mehner awa@upb.de Abstract Concurrent

More information

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Available online at  ScienceDirect. Procedia Computer Science 56 (2015 ) Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 56 (2015 ) 612 617 International Workshop on the Use of Formal Methods in Future Communication Networks (UFMFCN 2015) A

More information

Implementation of Process Networks in Java

Implementation of Process Networks in Java Implementation of Process Networks in Java Richard S, Stevens 1, Marlene Wan, Peggy Laramie, Thomas M. Parks, Edward A. Lee DRAFT: 10 July 1997 Abstract A process network, as described by G. Kahn, is a

More information

Real time system modeling with UML: current status and some prospects

Real time system modeling with UML: current status and some prospects Real time system modeling with UML: current status and some prospects François Terrier, Sébastien Gérard LETI (CEA - Technologies Avancées) DEIN CEA/Saclay F-91191 Gif sur Yvette Cedex France Phone: +33

More information

Modeling variability with UML

Modeling variability with UML Modeling variability with UML Matthias Clauß Intershop Research Software Engineering Group Intershop, Jena Dresden University of Technology Matthias.Clauss@gmx.de Keywords: product families, domain modeling,

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 7, July-August 2004 UML 2 Activity and Action Models Part 5: Partitions

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Vol. 4, No. 6 Special issue: Use Case Modeling at UML-2004 On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Sadahiro Isoda, Toyohashi University of Technology, Toyohashi 441-8580, Japan

More information

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Tetsuro Katayama Department of Computer Science and Systems Engineering, Faculty of Engineering, Miyazaki University

More information

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT) OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE () Ahmed Hayajneh, May 2003 1 1 Introduction One of the most popular object-oriented development techniques today is the Object Modeling

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK TRANSFORMATION OF UML SEQUENCE DIAGRAM TO JAVA CODE HARSHAL D. GURAD 1, PROF. V.

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

40 Behaviour Compatibility

40 Behaviour Compatibility 40 Behaviour Compatibility [2] R. De Nicola, Extentional Equivalences for Transition Systems, Acta Informatica, vol. 24, pp. 21-237, 1987. [3] J. Gray, Notes on Data Base Operating Systems, in Operating

More information

Implementing Software Connectors through First-Class Methods

Implementing Software Connectors through First-Class Methods Implementing Software Connectors through First-Class Methods Cheoljoo Jeong and Sangduck Lee Computer & Software Technology Laboratory Electronics and Telecommunications Research Institute Taejon, 305-350,

More information

Towards a formal model of object-oriented hyperslices

Towards a formal model of object-oriented hyperslices Towards a formal model of object-oriented hyperslices Torsten Nelson, Donald Cowan, Paulo Alencar Computer Systems Group, University of Waterloo {torsten,dcowan,alencar}@csg.uwaterloo.ca Abstract This

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved Chapter 12 UML and Patterns Copyright 2008 Pearson Addison-Wesley. All rights reserved Introduction to UML and Patterns UML and patterns are two software design tools that can be used within the context

More information

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

More information

Computer Science 520/620 Spring 2014 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2014 Prof. L. Osterweil Use Cases Software Models and Representations Part 4 More, and Multiple Models Computer Science 520/620 Spring 2014 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

Activity Nets: A UML profile for modeling workflow and business processes

Activity Nets: A UML profile for modeling workflow and business processes Activity Nets: A UML profile for modeling workflow and business processes Author: Gregor v. Bochmann, SITE, University of Ottawa (August 27, 2000) 1. Introduction 1.1. Purpose of this document Workflow

More information

Ontology Creation and Development Model

Ontology Creation and Development Model Ontology Creation and Development Model Pallavi Grover, Sonal Chawla Research Scholar, Department of Computer Science & Applications, Panjab University, Chandigarh, India Associate. Professor, Department

More information

Formal Specification of Software Systems

Formal Specification of Software Systems Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software

More information

UML part I. UML part I 1/41

UML part I. UML part I 1/41 UML part I UML part I 1/41 UML part I 2/41 UML - Unified Modeling Language unified it can be shared among workers modeling it can be used for description of software model language it has defined structure

More information

What's New in UML 2.0

What's New in UML 2.0 What's New in UML 2.0 M.W.Richardson Lead Applications Engineer I-Logix UK mrichardson@ilogix.com What is UML? Unified Modeling Language Comprehensive full life-cycle 3 rd Generation modeling language

More information

A Taxonomy of the Quality Attributes for Distributed Applications

A Taxonomy of the Quality Attributes for Distributed Applications A Taxonomy of the Quality Attributes for Distributed Applications Jorge Enrique Pérez-Martínez and Almudena ierra-alonso University Rey Juan Carlos E.. of Experimental ciences and Technology C/ Tulipán

More information

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Oksana Nikiforova and Natalja Pavlova Department of Applied Computer Science, Riga Technical University,

More information

Real-Time Coordination in Distributed Multimedia Systems

Real-Time Coordination in Distributed Multimedia Systems Real-Time Coordination in Distributed Multimedia Systems Theophilos A. Limniotes and George A. Papadopoulos Department of Computer Science University of Cyprus 75 Kallipoleos Str, P.O.B. 20537 CY-1678

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols The International Arab Journal of Information Technology, Vol. 5, No. 4, October 2008 381 Incompatibility Dimensions and Integration of Atomic Commit Protocols Yousef Al-Houmaily Department of Computer

More information

Lecture 16: Hierarchical State Machines II

Lecture 16: Hierarchical State Machines II Software Design, Modelling and Analysis in UML Lecture 6: Hierarchical State Machines II 206-0-9 6 206-0-9 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Use Cases Software Models and Representations Part 4 More, and Multiple Models Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols Preprint Incompatibility Dimensions and Integration of Atomic Protocols, Yousef J. Al-Houmaily, International Arab Journal of Information Technology, Vol. 5, No. 4, pp. 381-392, October 2008. Incompatibility

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Architecture-Centric Evolution in Software Product Lines:

Architecture-Centric Evolution in Software Product Lines: Architecture-Centric Evolution in Software Product Lines: Position Paper Hassan Gomaa Department of Information and Software Engineering George Mason University Fairfax, Virginia 22030, USA hgomaa@gmu.edu

More information

Active Object. an Object Behavioral Pattern for Concurrent Programming. R. Greg Lavender Douglas C. Schmidt

Active Object. an Object Behavioral Pattern for Concurrent Programming. R. Greg Lavender Douglas C. Schmidt Active Object an Object Behavioral Pattern for Concurrent Programming R. Greg Lavender Douglas C. Schmidt G.Lavender@isode.com schmidt@cs.wustl.edu ISODE Consortium Inc. Department of Computer Science

More information

1 Introduction. 1.1 Introduction

1 Introduction. 1.1 Introduction 1 Introduction 1.1 Introduction This book introduces and guides you through the use of the Unified Modeling Language (UML) and the Unified Process (both originally devised by Grady Booch, James Rumbaugh

More information

C++ Idioms for Concurrent Operations

C++ Idioms for Concurrent Operations C++ Idioms for Concurrent Operations Fernando Náufel do Amaral, Patricia Garcês Rabelo, Sergio E. R. de Carvalho * Laboratório de Métodos Formais, Departamento de Informática Pontifícia Universidade Católica

More information

OMG Modeling Glossary B

OMG Modeling Glossary B OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,

More information

Concurrency Annotations in C++ DI / INESC. Universidade do Minho Braga, Portugal. February 4, 1994.

Concurrency Annotations in C++ DI / INESC. Universidade do Minho Braga, Portugal. February 4, 1994. Concurrency Annotations in C++ Carlos Baquero Francisco Moura y DI / INESC Universidade do Minho 4700 Braga, Portugal fmescbm,fsmg@di.uminho.pt February 4, 1994 Abstract This paper describes CA/C++, Concurrency

More information

Modeling Alternative Courses in Detailed Use Cases

Modeling Alternative Courses in Detailed Use Cases Modeling Alternative Courses in Detailed Use Cases David Gelperin LiveSpecs Software dave@livespecs.com Abstract Real-life interactions between systems and users entail decisions and alternative courses

More information

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML D. Beltran*, LLS, Barcelona, Spain M. Gonzalez, CERN, Geneva, Switzerlan Abstract CELLS (Consorcio para la construcción, equipamiento

More information

Checking consistency between architectural models using SPIN

Checking consistency between architectural models using SPIN ing consistency between architectural models using SPIN Paola Inverardi & Henry Muccini & Patrizio Pelliccione Dipartimento di Matematica Universitá dell Aquila - Via Vetoio, 1 67100 L Aquila, Italy finverard,

More information

FlexFlow: Workflow for Interactive Internet Applications

FlexFlow: Workflow for Interactive Internet Applications FlexFlow: Workflow for Interactive Internet Applications Rakesh Mohan, Mitchell A. Cohen, Josef Schiefer {rakeshm, macohen, josef.schiefer}@us.ibm.com IBM T.J. Watson Research Center PO Box 704 Yorktown

More information

Software Architecture. Lecture 5

Software Architecture. Lecture 5 Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics

More information

Mapping ConcurTaskTrees into UML 2.0

Mapping ConcurTaskTrees into UML 2.0 Mapping ConcurTaskTrees into UML 2.0 Leonel Nóbrega 1, Nuno Jardim Nunes 1 and Helder Coelho 2 1 Department of Mathematics and Engineering, University of Madeira, Campus da Penteada, 9000-390 Funchal,

More information

Modeling Crisis Management System With the Restricted Use Case Modeling Approach

Modeling Crisis Management System With the Restricted Use Case Modeling Approach Modeling Crisis Management System With the Restricted Use Case Modeling Approach Gong Zhang 1, Tao Yue 2, and Shaukat Ali 3 1 School of Computer Science and Engineering, Beihang University, Beijing, China

More information

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS Jon Whittle 1, João Araújo 2, Ambrosio Toval 3, and Jose Luis Fernández Alemán 3 1 QSS / NASA Ames Research Center, M/S 269-2, Moffett Field,

More information

Pattern-Based Architectural Design Process Model

Pattern-Based Architectural Design Process Model Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

Quality-Driven Architecture Design Method

Quality-Driven Architecture Design Method Quality-Driven Architecture Design Method Matinlassi Mari, Niemelä Eila P.O. Box 1100, 90571 Oulu Tel. +358 8 551 2111 Fax +358 8 551 2320 {Mari.Matinlassi, Eila.Niemela}@vtt.fi Abstract: In this paper

More information

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 State machines 109 History and predecessors 1950 s: Finite State Machines Huffmann, Mealy, Moore 1987: Harel Statecharts conditions hierarchical (and/or) states history states

More information

3.0 Object-Oriented Modeling Using UML

3.0 Object-Oriented Modeling Using UML 3.0 Object-Oriented Modeling Using UML Subject/Topic/Focus: Introduction to UML Summary: History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process Literature:

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

Priority Inversion in Multi Processor Systems due to Protected Actions

Priority Inversion in Multi Processor Systems due to Protected Actions Priority Inversion in Multi Processor Systems due to Protected Actions Gustaf Naeser Department of Computer Science and Engineering, Mälardalen University, Sweden gustaf.naeser@mdh.se The use of multiple

More information

USE CASE BASED REQUIREMENTS VERIFICATION

USE CASE BASED REQUIREMENTS VERIFICATION USE CASE BASED REQUIREMENTS VERIFICATION Verifying the consistency between use cases and assertions Stéphane S. Somé, Divya K. Nair School of Information Technology and Engineering (SITE), University of

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

A Case Study for HRT-UML

A Case Study for HRT-UML A Case Study for HRT-UML Massimo D Alessandro, Silvia Mazzini, Francesco Donati Intecs HRT, Via L. Gereschi 32, I-56127 Pisa, Italy Silvia.Mazzini@pisa.intecs.it Abstract The Hard-Real-Time Unified Modelling

More information

A Comparison of the Booch Method and Shlaer-Mellor OOA/RD

A Comparison of the Booch Method and Shlaer-Mellor OOA/RD A Comparison of the Booch Method and Shlaer-Mellor OOA/RD Stephen J. Mellor Project Technology, Inc. 7400 N. Oracle Rd., Suite 365 Tucson Arizona 85704 520 544-2881 http://www.projtech.com 2 May 1993 The

More information

Lecture #2 on Object-Oriented Modeling

Lecture #2 on Object-Oriented Modeling Outline Lecture #2 on Object-Oriented Modeling Thierry Géraud EPITA Research and Development Laboratory (LRDE) 2006 Thierry Géraud Lecture #2 on Object-Oriented Modeling EPITA-LRDE 2006 1 / 38 Outline

More information

An Approach to Software Component Specification

An Approach to Software Component Specification Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software

More information

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts Object-Oriented Analysis and Design Analysis vs. Design Analysis Activities Finding the Objects/ Classes An Analysis Example The Unified Modeling Language Pre-UML Situation Early 90s Explosion of OO methods/notations

More information

Actor-Oriented Design: Concurrent Models as Programs

Actor-Oriented Design: Concurrent Models as Programs Actor-Oriented Design: Concurrent Models as Programs Edward A. Lee Professor, UC Berkeley Director, Center for Hybrid and Embedded Software Systems (CHESS) Parc Forum Palo Alto, CA May 13, 2004 Abstract

More information

Applying UML Modeling and MDA to Real-Time Software Development

Applying UML Modeling and MDA to Real-Time Software Development Michael Benkel Aonix GmbH www.aonix.de michael.benkel@aonix.de Applying UML Modeling and MDA to Real-Time Software Development The growing complexity of embedded real-time applications requires presentation

More information

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM 534 202 LABORATORY MANUAL IV B.Tech I Sem CSE Unified Modeling Language & Design Patterns Lab DEPARTMENT OF CSE OUR MISSION LEARN TO EXCEL Regd.No

More information

Using the UML to Describe Design Patterns

Using the UML to Describe Design Patterns Proceedings of the 16 th Annual NACCQ, Palmerston North New Zealand July, 2003 (eds) Mann, S. and Williamson, A. www.naccq.ac.nz Using the UML to Describe Design Patterns ABSTRACT to describe patterns

More information

junit RV Adding Runtime Verification to junit

junit RV Adding Runtime Verification to junit junit RV Adding Runtime Verification to junit Normann Decker, Martin Leucker, and Daniel Thoma Institute for Software Engineering and Programming Languages Universität zu Lübeck, Germany {decker, leucker,

More information

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

Meltem Özturan

Meltem Özturan Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.

More information

L02.1 Introduction... 2

L02.1 Introduction... 2 Department of Computer Science COS121 Lecture Notes: L02 Introduction to UML and DP 25 July 2014 Copyright c 2012 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents L02.1 Introduction.................................

More information

UML- a Brief Look UML and the Process

UML- a Brief Look UML and the Process UML- a Brief Look UML grew out of great variety of ways Design and develop object-oriented models and designs By mid 1990s Number of credible approaches reduced to three Work further developed and refined

More information

An Operational Semantics for Parallel Execution of Re-entrant PLEX

An Operational Semantics for Parallel Execution of Re-entrant PLEX Licentiate Thesis Proposal An Operational Semantics for Parallel Execution of Re-entrant PLEX Johan Erikson Department of Computer Science and Electronics Mälardalen University,Västerås, SWEDEN johan.erikson@mdh.se

More information

March 2, Homepage:

March 2, Homepage: Action Semantics for an Executable UML Thomas Feng March 2, 2003 Email: thomas@email.com.cn Homepage: http://moncs.cs.mcgill.ca/people/tfeng/ Why are we interested in semantics? Other than syntax, the

More information

RTC: Language Support for Real-Time Concurrency

RTC: Language Support for Real-Time Concurrency RTC: Language Support for Real-Time Concurrency Insup Lee, Susan Davidson, and Victor Wolfe 1 Introduction The RTC (Real-Time Concurrency) programming concepts and language constructs for expressing timing

More information