The Fujaba Statechart Synthesis Approach

Size: px
Start display at page:

Download "The Fujaba Statechart Synthesis Approach"

Transcription

1 The Fujaba Statechart Synthesis Approach Thomas Maier, Albert Zündorf University of Kassel, Germany Abstract The Fujaba project tries to provide tool support for iterative software development with the UML. Each iteration starts with a textual scenario description for some new usecase. Then this textual scenario is refined by UML scenario diagrams, i.e. activity diagrams or collaboration diagrams or sequence diagrams. Along with these scenarios, we derive class diagram elements for all used kinds of objects, relations, attributes and messages. From such UML scenarios we try to systematically derive precise operational UML specifications for the behavior of employed active objects and for the used methods. Combining the class diagram and these precise behavior specifications, the Fujaba environment generates the whole Java code of the desired system. In [Mai02] Fujaba has been extended by a generator that derives statecharts from sequence diagrams according to the ideas of the SCED [KMST94] and the MAS system [KMS01]. In addition, we adapted some ideas from [WKS02] and [WKS03] concerning higher level statechart features like complex states and history states. This paper discusses our sequence diagram extensions and outlines our statechart synthesis algorithm. 1. Introduction The Fujaba environment is a free, open source, UML based CASE tool trying to provide roundtrip engineering support for all project phases, cf. [Fu03]. The core of Fujaba already provides reasonable roundtrip functionality for the design and implementation phases, i.e. Fujaba has code generators for class diagrams, statecharts, activity diagrams and especially collaboration diagrams, and Fujaba has reverse engineering functionality from Java code to the just mentioned UML diagrams (only reverse engineering of statecharts is not yet implemented). Fujaba supports a software development process called Story Driven Modelling (SDM). SDM is an iterative software development process where each iteration realizes one usecase. In the requirements definition phase, the usecase is described using textual scenario description. In the analysis phase this textual scenario description is refined using UML scenarios, i.e. a combination of activity diagrams, collaboration diagrams and sequence diagrams. In parallel, the class diagram is extended by appropriate declarations for all object kinds, attributes, relations and method invocations that are employed in the scenario diagram. In the design phase, the user systematically derives precise operational UML specifications for the behavior of methods and active objects. From such a behavior specification together with the corresponding class diagram, the Fujaba environment automatically generates the whole Java code of the desired application. To support this process beyond code generation, in [Mai02] we have developed a generator for the derivation of statecharts from sequence diagrams. Basically, our statechart synthesis algorithm follows the ideas of the SCED [KMST94] and the MAS system [KMS01]. This means, for a single life line within a sequence diagram, incoming messages are interpreted as events attached to certain transitions and outgoing messages are interpreted as doactions of certain states. Following the lifeline of a given object, the generator tries to reuse already existing transitions and states in the corresponding statechart as long as possible. New transitions and states are created, otherwise. Similar to [WKS02] and [WKS03], we made the experience that certain frequently occurring types of textual scenario description are not easily expressed within sequence diagrams. These are requirements like... at any point during the above steps the system may be suspended by signal x... or... after handling the request, the system continues work at the step where it has been interrupted... or... in parallel to these steps the following steps are executed.... Looking at these requirements more carefully, it turned out that they correspond to higher level statechart features like or-states, history states and and-states. These higher level features have proven to be extremely valuable for statecharts and we are convinced that they are indispensable for sequence diagrams, too. First of all, there is no other way to express above textual requirements within sequence diagrams. Second, it is not sufficient to skip these requirements in the scenarios and to express them in complex statecharts,

2 directly. While this is possible, many people like non-it customers have difficulties to understand statechart behavior while such non-it people usually come along with sequence diagrams much easier. Third, we consider sequence diagrams and statecharts as dual views on the system behavior: while statecharts focus on the complete behavior of a single object, sequence diagrams allow to focus on the collaboration of multiple objects in certain typical situations. To allow the specification of a system in both views, we need equal expressiveness in both kinds of diagrams. Thus we tried to adapt the proposal of [WKS02] and [WKS03] using some additional pseudo messages allowing to express above kinds of scenarios. Unfortunately, in [WKS02] and [WKS03] this idea is not very elaborated and thus we had to add some missing features for or-state and history state related scenarios and we are still seeking for more accurate ways to express and-state related scenarios. However, we now have a number of pseudo messages allowing to express above requirements in sequence diagrams easily and this additional pseudo messages allow to generate statecharts employing complex states and history states, easily, and we anticipate that the propagation of statechart changes to sequence diagrams is facilitated, too. The following chapter introduces our sequence diagram extensions with the help of some examples. Chapter 3 outlines the Fujaba statechart synthesis approach and in chapter 4 we discuss our results and outline some future work. 2. Notational extensions of sequence diagrams Figure 1 shows a fairly usual sequence diagram for an automatic, track based transportation system within a production site. This case study stems from the ISILEIT project funded by the German Research Society (DFG Schwerpunktprogramm). Some user assigns a continuous transportation task to a shuttle s1. The shuttle sends go (src) signals to its drive until the producer src is reached. Then the shuttle fetches some good and sends go (tgt) signals to its drive until the consumer tgt is reached. At the consumer, the shuttle delivers the transported good and continues its transportation task with go(src) signals. From the usual parts of the sequence diagram of Figure 1 the Fujaba statechart generator creates the core behavior of shuttle objects shown in the or-state active of Figure 3. The additional pseudo messages startphase and init allow to encapsulate states go(src), fetch, go(tgt) and deliver within the or-state active. startphase and endphase pseudo messages allow to group a sequence of steps within a sequence diagram (see also Figure 2). Our statechart generator turns such a grouping into an or-state containing a sub-statechart that matches the grouped steps. Figure 1. "Usual" sequence diagram for an automatic track based transportation system. init pseudo messages model, that the corresponding orstates are entered via their initial state. Our statechart generator utilizes this information by connecting the transition entering the or-state to the outer border of the or-state and by marking the first state visited within the or-state as initial state. Figure 2 shows an example for an interrupt situation modelled by a sequence diagram using our notational extension. The startphase message models that the shuttle is in phase active. severalothersteps pseudo messages are a placeholder for a sequence of steps that is intentionally left unspecified. This placeholder may be used to model that the corresponding object reaches any sub-state of the orstate corresponding to the current phase. Thus, in Figure 2 the shuttle is at some unspecified step within phase active when it receives an emergencystop signal. The shuttle reacts with an endphase( active ) message

3 a specific sub-state (no pseudo message) or from its border (severalothersteps). Note, nested startphase / endphase messages allow to model nested or-states. 3. Algorithm outline Figure 2. Modelling interrupt handling with sequence diagrams. modelling that the corresponding phase is interrupted and a halted message modelling the actual reaction of the shuttle, i.e. that it has stopped. In Figure 3 this creates an emergencystop transition leaving the border of or-state active towards state halted. This means, severalothersteps messages may be used to model requirements like At any time during this phase,.... After the halted message, the user in Figure 2 sends a resume message to reactivate the shuttle. In this example we want to model that the execution is continued at the point, where the emergencystop signal has interrupted it. This is achieved using a resumehistory pseudo message. resumehistory pseudo messages model the entering of a phase / an or-state via the history mechanism of statecharts. In Figure 2 the shuttle reacts to the resume message by a startphase( active ) message modelling, that the sample execution returns to this phase. This is followed by a resumehistory message modelling that the phase active is not started as usually (with an init message) nor the phase active is entered at an explicitly modelled step but the next step within the scenario is the one that continues the operation sequence that has been interrupted by the emergencystop signal. The Fujaba statechart generator turns this part of the example scenario into a resume transition from state halted to a history state within or-state active. Thus, we have specific pseudo messages setting up the borders of or-states (startphase and endphase) and specific pseudo messages for entering an or-state via the initial state (init) or at an explicit state (any usual message send by the corresponding object) or via a history state (resumehistory). Similarly, an or-state may be left from As already mentioned, our statechart synthesis algorithm follows the ideas of the SCED [KMST94] and the MAS system [KMS01]. This means, for a single life line within a sequence diagram, incoming messages are interpreted as events attached to certain transitions and outgoing messages are interpreted as do-actions of certain states. Following the lifeline of a given object, the generator tries to reuse already existing transitions and states in the corresponding statechart as long as possible. New transitions and states are created, otherwise. Here the crucial design decision is, how existing states and transitions are identified for reuse. The approach of [WKS02] and [WKS03] requires that the user provides elaborated pre- and post-conditions for all messages employed in the sequence diagrams. These pre- and post-conditions are used to identify appropriate source and target states for transitions. We consider this as an unacceptable burden for the user and thus we have decided to reuse states based on similar names of the performed do-action, as done in the SCED and the MAS system. This relieves the user from a lot of tedious work but increases the complexity of the statechart synthesis algorithm. Developing our statechart synthesis algorithm we focused on extendability and maintainability instead of runtime efficiency. Thus, our algorithm just starts at the beginning of the lifeline of the considered object and it looks up all statechart elements that matches the first message attached to this lifeline. We call such elements possible start elements. For an incoming message this is a transition with the same name for an outgoing message this is a state with the same do-action. Assume for example that in the statechart of Figure 3 the or-state active has not yet any substate. If we now integrate the lifeline of the shuttle from the sequence diagram of Figure 1 the outgoing shuttleisready() message matches to the initial state of our statechart, only, thus there is only one possible starting point. For each such possible start element, we compute the number of subsequent messages that match to subsequent statechart elements without the need to create new elements. We call this the matching length and the visited statechart elements the corresponding match. We consider the possible start elements in descending order according to their matching length. Thus, we reuse the statechart element that promises to integrate a large number of subsequent steps easily, first. However, we keep the alternatives for backtracking purposes. Then we assign statechart elements matching lifeline messages up to the corresponding matching length. In our example we have chosen the initial state

4 Figure 3. Statechart generated from Figure 1. of our statechart as the only possible starting point. The subsequent assign and startphase messages from the sequence diagram match to the assign transition leaving the initial state and to the or-state, respectively. Since we assume that the or-state is empty, the init message and the go(src) message do not yet have matches in the statechart. Thus, the matching length of our starting point is 3 and the corresponding match consists of the initial state, the assign transition and the or-state. If not yet all lifeline elements are consumed, we have now reached some place within the statechart where we need to create new statechart elements to be able to continue. Usually, there is an incoming message at the lifeline that has no appropriate outgoing transition at the reached state. In this case we just create a new transition leaving the current state but without a target state, yet. However, in subsequent runs, such a targetless transition may be the end of a match and we may continue by creating a state. In our example, the init and the go(src) message of Figure 1 would create state 36 of Figure 3 and an initial state marker attached to it. After creating a new statechart element, the matched lifeline elements are considered consumed and the algorithm continues recursively with the remaining lifeline elements and with the additional information of the current statechart element. Thus, our example would continue with the incoming notreached message. This message has no possible match in the current statechart and thus we would create a notreached transition leaving the go(src) state 36 and without a target state, yet. The subsequent go(src) message in the lifeline now has exactly one possible match which is the just created go(src) state 36. Matching length is only one, but we use this information to assign state 36 as target state for the just created notreached message. The following reached, fetch, goon, go(tgt) and the notreached message all create new statechart elements. The second go(tgt) message reuses state 41. The next messages again create new statechart elements, only the last go(src) message reuses state 36 as target for the previous goon transition. Note, the reuse of states in our example creates loops within the statechart that may be iterated arbitrary often. Thus the statechart allows behavior beyond the provided example scenarios. To some extent this is desired: a small number of characteristic scenarios suffices to create a much more general behavior specification. On the other hand, such iterations may be considered as erroneous by the user. This problem is known as overgeneralization problem. To deal with this problem, we plan to adopt implied scenario techniques creating additional possible scenarios and asking the user for approval, cf. [UKM01]. Note, the chosen statechart start element for a given part of a lifeline and the matching of the subsequent steps may also end in a conflict situation. The matching may end at a transition that already has a target state and the do-action of this target state does not match the next message in the considered lifeline. Thus, the corresponding object receives a messages and it reacts differently compared to the last reception of the same message. In this case, the reuse of the transition was not allowed. This implies that the reuse of the previous statechart element and finaly of the whole match up to the starting point was illegal. At this point backtracking occurs. Recall, at the start of the algorithm we compute the set of all possible start elements for a matching and then we choose the one that is most promising. If this creates a conflict, we just reconsider this choice and try another starting element. Note, we may finally run out of possible starting elements. In this case, we create a new statechart element for the first element of the lifeline and restart the algorithm with the next lifeline element. This especially happens when the statechart is totally empty and we are considering the very first lifeline to be integrated. After integrating a lifeline, our algorithm may have created some transitions without a target or without a source state. Thus we will have to add surrogate states in order to be able to show a complete statechart at the user in-

5 terface. These surrogate states are to be removed before another lifeline is added to the corresponding statechart. Note, there are a number of additional cases to be handled with care. For example, there may be multiple incoming or outgoing messages in a row. For multiple incoming messages you have to decide, whether the order of reception is mandatory or if they may be received in any order. [WKS02] and [WKS03] propose another pseudo message any order to flag the latter case. We have not yet adopted this message since its scope is not clear and we do not like the and-states created by this pseudo message, cf. [WKS02] and [WKS03]. We have an idea to handle this case more elegantly using vectors of flag collecting the received messages until all of them have arrived, but this is not yet done. Thus, currently our approach would create a sequence of transitions where the connecting states have no do-action. In case of multiple outgoing messages, we create a set of matching states connected by triggerless transitions. Altogether, it was very easy for us to implement the outlined algorithm and especially it was very easy to deal with the additional pseudo messages. Basically, when we reach a startphase message, we look for or we create the corresponding or-state. Subsequent messages are restricted to statechart elements within this or-state until an endphase message is reached. init messages just create init markers attached to the next reached state. severalothersteps messages just change the source state of a subsequent transition / incoming message and resumehistory messages just change the init marker of the corresponding or-state to become a history marker and the subsequent incoming message / transition is redirected to this history marker. Note, our algorithm allows a * argument to resumehistory to distinguish between shallow and deep history. Note, our pseudo messages may cause a number of additional matching conflicts. For example, a startphase, init message combination may be followed by different outgoing messages in different scenarios. This would force our algorithm to create different init marker for different substates of a given or-state, which is illegal. In such a situation our algorithm flags an inconsistency between different scenarios that need to be resolved by the user. Another problem is triggered if one scenario lacks startphase / end- Phase messages while another scenario with similar steps has startphase / endphase messages. This creates a conflict whether the states and transitions visited by the latter scenario are contained in an or-state or not. So far this conflict is flagged by our algorithm but we plan to resolve this conflict automatically by adding appropriate startphase / end- Phase messages to the former scenario, automatically. The same mechanism could be used if the user adds or-states to the resulting statechart manually and we want to propagate such changes into the corresponding scenarios. 4. Summary and Future Work So far, our statechart synthesis algorithm is able to deal with or-state and history state related pseudo messages. And-state related pseudo messages are current work. However, we claim that our pseudo messages for or-states are more elaborated than the ones of [WKS02] and [WKS03]. In contrast to [WS00], our synthesis algorithm does not rely on extensive specifications of all messages with explicit pre- and post-conditions. The SCED [KMST94] and the MAS system [KMS01] provide additional post compression mechanisms that try to compactify the generated statechart e.g. by combining the do-actions of a series of states that are connected by triggerless transitions into a single state with multiple do-actions. We are trying to adopt these mechanisms, too. Currently, we use TogetherJ as an editor for sequence diagrams and its XML export feature as input for our statechart synthesis algorithm. However, a sequence diagram editor has just been added to Fujaba and we are currently switching to this integrated sequence diagram editor. This also will enable us to do propagations of manual editing of the statecharts to appropriate changes of the affected sequence diagrams. Similarly, sequence diagrams may be changed after statechart synthesis and the consistency between sequence diagrams and statecharts should be maintained. References [Fu03] [KMS01] [KMST94] [Mai02] [UKM01] J. Koskinen, E. Mäkinen, T. Systä: Minimally Adequate Synthesizer Tolerates Inaccurate Information during Behavioral Modeing, SCASE 2001, Enschede, Netherlands K. Koskimies, T. Männistö, T. Systä,J. Tuomi: SCED - An environment for dynamic modeling in object-oriented software construction, Nordic Workshop on Progr. Environment Research 94 T. Maier: Generation of complex statecharts from sequence diagrams, Master Thesis, Uni. Braunschweig, 2002 (in German) S. Uchitel, J. Kramer and J. Magee: Detecting Implied Scenarios in Message Sequence Chart Specifications, ESEC/FSE 01, Vienna, Austria [WKS02] Whittle J., Schumann J.: Statechart Synthesis From Scenarios: an Air Traffic Control Case Study, ICSE 2002, SCESM Workshop, Orlando, Florida [WKS03] [WS00] Jon Whittle, Richard Kwan, Jyoti Saboo: From Scenarios to Code: An Air Traffic Control Case Study, ICSE2003, Portland, USA J. Whittle, J. Schumann: Generating Statechart Designs From Scenarios, ICSE 2000, Limerick, Ireland

Statechart Modeling with Fujaba

Statechart Modeling with Fujaba GraBaTs 04 Preliminary Version Statechart Modeling with Fujaba Leif Geiger Albert Zündorf University of Kassel, Software Engineering Research Group, Wilhelmshöher Allee 73, 34121 Kassel, Germany {leif.geiger

More information

Story Driven Testing - SDT

Story Driven Testing - SDT Story Driven Testing - SDT Leif Geiger Software Engineering, University of Kassel Wilhelmshöher Allee 73 34121 Kassel, Germany leif.geiger@uni-kassel.de Albert Zündorf Software Engineering, University

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

Dynamic reverse engineering of Java software

Dynamic reverse engineering of Java software Dynamic reverse engineering of Java software Tarja Systä 1 Abstract. An experimental environment has been built to reverse engineer the run-time behavior of Java software. Event trace information is generated

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

BPMN2BPEL transformation with Fujaba - a Case Study

BPMN2BPEL transformation with Fujaba - a Case Study BPMN2BPEL transformation with Fujaba - a Case Study Ruben Jubeh SE, Kassel University Wilhelmshöher Allee 73 34121 Kassel ruben.jubeh@uni-kassel.de ABSTRACT We have modeled a BPMN to BPEL synthesis transformation

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

The SDMLib solution to the MovieDB case for TTC2014

The SDMLib solution to the MovieDB case for TTC2014 The SDMLib solution to the MovieDB case for TTC2014 Christoph Eickhoff, Tobias George, Stefan Lindel, Albert Zündorf Kassel University, Software Engineering Research Group, Wilhelmshöher Allee 73, 34121

More information

SCXML State Chart XML

SCXML State Chart XML SCXML State Chart XML Previously, in this course... Previously, in this course... Running Example all actions omitted wasn t it supposed to help? Previously, in this course... Running Example all actions

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

Modelling and Simulation of a Material Flow System

Modelling and Simulation of a Material Flow System Modelling and Simulation of a Material Flow System Ulrich A. Nickel, Jörg Niere University of Paderborn Warburger Straße 100 D-33098 Paderborn Germany [duke, nierej]@uni-paderborn.de Modern production

More information

visualstate Reference Guide

visualstate Reference Guide COPYRIGHT NOTICE Copyright 2000 2014 IAR Systems AB. No part of this document may be reproduced without the prior written consent of IAR Systems. The software described in this document is furnished under

More information

State Machine Diagrams

State Machine Diagrams State Machine Diagrams Introduction A state machine diagram, models the dynamic aspects of the system by showing the flow of control from state to state for a particular class. 2 Introduction Whereas an

More information

Specifying Precise Use Cases with Use Case Charts

Specifying Precise Use Cases with Use Case Charts Specifying Precise Use Cases with Use Case Charts Jon Whittle Dept of Information & Software Engineering George Mason University 4400 University Drive Fairfax, VA 22030 jwhittle@ise.gmu.edu Abstract. Use

More information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

Combined Modeling and Programming with State Machines

Combined Modeling and Programming with State Machines Combined Modeling and Programming with State Machines Kjetil Andresen Master s Thesis Spring 2014 Combined Modeling and Programming with State Machines Kjetil Andresen 1st May 2014 ii Abstract As part

More information

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Class Diagram What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51 What is a Class Diagram? Class Diagram A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

Extended Dataflow Model For Automated Parallel Execution Of Algorithms

Extended Dataflow Model For Automated Parallel Execution Of Algorithms Extended Dataflow Model For Automated Parallel Execution Of Algorithms Maik Schumann, Jörg Bargenda, Edgar Reetz and Gerhard Linß Department of Quality Assurance and Industrial Image Processing Ilmenau

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

Building Distributed Web Applications based on Model Versioning with CoObRA: an Experience Report

Building Distributed Web Applications based on Model Versioning with CoObRA: an Experience Report Building Distributed Web Applications based on Model Versioning with CoObRA: an Experience Report Nina Aschenbrenner, Jörn Dreyer, Marcel Hahn, Ruben Jubeh, Christian Schneider, Albert Zündorf Kassel University,

More information

SCXML State Chart XML. Previously, in this course...

SCXML State Chart XML. Previously, in this course... SCXML State Chart XML Previously, in this course... Previously, in this course... Running Example all actions omitted wasn t it supposed to help? Previously, in this course... Running Example all actions

More information

Rigorous Object Oriented Software Development. Draft. Version Dr. Albert Zündorf

Rigorous Object Oriented Software Development. Draft. Version Dr. Albert Zündorf Rigorous Object Oriented Software Development Draft Version 0.3 5.3.2002 Dr. Albert Zündorf i Acknowledgements This book is a simplified and reorganized version of my Habilitation thesis. I still have

More information

Designing and documenting the behavior of software

Designing and documenting the behavior of software Chapter 8 Designing and documenting the behavior of software Authors: Gürcan Güleşir, Lodewijk Bergmans, Mehmet Akşit Abstract The development and maintenance of today s software systems is an increasingly

More information

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams

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

Analysis and Synthesis for Parameterized Timed Sequence Diagrams

Analysis and Synthesis for Parameterized Timed Sequence Diagrams Analysis and Synthesis for Parameterized Timed Sequence Diagrams Holger Giese and Sven Burmester Software Engineering Group University of Paderborn Warburger Str. 100, 33098 Paderborn, Germany {hg burmi}@upb.de

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

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink Holger Giese, Matthias Meyer, Robert Wagner Software Engineering Group Department of Computer Science University of Paderborn

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

Chapter S:II. II. Search Space Representation

Chapter S:II. II. Search Space Representation Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation

More information

An Agent Modeling Language Implementing Protocols through Capabilities

An Agent Modeling Language Implementing Protocols through Capabilities An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,

More information

Introduction to OpenMP. Tasks. N.M. Maclaren September 2017

Introduction to OpenMP. Tasks. N.M. Maclaren September 2017 2 OpenMP Tasks 2.1 Introduction Introduction to OpenMP Tasks N.M. Maclaren nmm1@cam.ac.uk September 2017 These were introduced by OpenMP 3.0 and use a slightly different parallelism model from the previous

More information

Using Actions Charts for Reactive Web Application Modelling

Using Actions Charts for Reactive Web Application Modelling Using Actions Charts for Reactive Web Application Modelling Nina Geiger, Tobias George, Marcel Hahn, Ruben Jubeh, Albert Zündorf University of Kassel, Software Engineering, Department of Computer Science

More information

Best Practices for Model-Based Systems Engineering

Best Practices for Model-Based Systems Engineering Seminar / Workshop Best Practices for Model-Based Systems Engineering Hans-Peter Hoffmann, Ph.D. Chief Systems Methodologist, IBM Rational Software hoffmape@us.ibm.com Overview Successfully delivering

More information

Assuring Standard Conformance of Partial Interfaces

Assuring Standard Conformance of Partial Interfaces Assuring Standard Conformance of Partial Interfaces Hardi Hungar Institute of Transportation Systems German Aerospace Center (DLR) Braunschweig, Germany hardi.hungar@dlr.de Abstract: A current standardization

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

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

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Study Setup Administration

Study Setup Administration Content Study Setup Administration...3 ground...3 Related content...4 Requirements...4 Process information...4 Prerequisite...6 How to Manage Study Setup...6 Site/Patient Enrolment...7 Enrollment menu

More information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information

UML-based framework for simulation of distributed ECU systems in automotive applications

UML-based framework for simulation of distributed ECU systems in automotive applications UML-based framework for simulation of distributed ECU systems in automotive applications Frank Steinert protime GmbH Prien Germany A UML based framework for the simulation of distributed systems of embedded

More information

Integrating UML Diagrams for Production Control Systems

Integrating UML Diagrams for Production Control Systems Integrating UML Diagrams for Production Control Systems Hans J. Köhler Ulrich Nickel Jörg Niere Albert Zündorf Computer Science Dep. University of Paderborn Warburger Str. 100 33098 Paderborn Germany +49

More information

Finite State Machine Based Object-Oriented Applications Development Using UML and Eclipse Platform

Finite State Machine Based Object-Oriented Applications Development Using UML and Eclipse Platform Finite State Machine Based Object-Oriented Applications Development Using UML and Eclipse Platform Vadim Gurov, Maxim Korotkov, Maxim Mazin evelopers Corp. Abstract This paper describes methodology and

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

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

The AMIE Model. A packet has a number of properties. These are type, version, packet id, and state. It also has a list of expected replies.

The AMIE Model. A packet has a number of properties. These are type, version, packet id, and state. It also has a list of expected replies. Overview The AMIE model consists of two sites and an agreed upon set of transactions that the two sites will use to send account management data to each other. A transaction consists of packets of data

More information

Using Actions Charts for Reactive Web Application Modeling

Using Actions Charts for Reactive Web Application Modeling Using Actions Charts for Reactive Web Application Modeling Nina Geiger, Tobias George, Marcel Hahn, Ruben Jubeh, and Albert Zündorf University of Kassel, Software Engineering, Department of Computer Science

More information

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization 2016 Software Engineering 2 (Zoom-Into Design) Requirement Requirement Specification (Functional & Non- Functional) analysis Requirement

More information

Modeling the Evolution of Aspect Configurations using Model Transformations

Modeling the Evolution of Aspect Configurations using Model Transformations Modeling the Evolution of Aspect Configurations using Model Transformations Uwe Zdun, Mark Strembeck Institute of Information Systems, New Media Lab Vienna University of Economics, Austria {uwe.zdun mark.strembeck}@wu-wien.ac.at

More information

PHILharmonicFlows: Towards a Framework for Object-aware Process Management

PHILharmonicFlows: Towards a Framework for Object-aware Process Management PHILharmonicFlows: Towards a Framework for Object-aware Process Management Vera Künzle 1,2 and Manfred Reichert 1 1 Institute of Databases and Information Systems, Ulm University, Germany {vera.kuenzle,manfred.reichert}@uni-ulm.de

More information

News in RSA-RTE Mattias Mohlin, June 2015

News in RSA-RTE Mattias Mohlin, June 2015 News in RSA-RTE 9.1.2 Mattias Mohlin, June 2015 Overview of New Features (1/2) Project Explorer Outline nodes for contents of artifact code snippets Generalization node now visible in Capsule Development

More information

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION Statecharts INDEX 1.- Introduction 2.- When to use Statecharts 3.- Basic components 4.- Connectors and compound transitions Mª Ángeles Martínez Ibáñez University of Bergen Selected topics in programming

More information

Organic Computing DISCLAIMER

Organic Computing DISCLAIMER Organic Computing DISCLAIMER The views, opinions, and/or findings contained in this article are those of the author(s) and should not be interpreted as representing the official policies, either expressed

More information

Consolidation of Interacting BPEL Process Models with Fault Handlers

Consolidation of Interacting BPEL Process Models with Fault Handlers Consolidation of Interacting BPEL Process Models with Fault Handlers Sebastian Wagner, Oliver Kopp, and Frank Leymann Institute of Architecture of Application Systems, University of Stuttgart, Germany

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

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands Subject: Scheduling Region Questions and Problems of new SystemVerilog commands I have read and re-read sections 14-17 of the SystemVerilog 3.1 Standard multiple times and am still confused about exactly

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Symbol Tables Symbol Table: In computer science, a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is

More information

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis. SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented

More information

UNIT-IV BASIC BEHAVIORAL MODELING-I

UNIT-IV BASIC BEHAVIORAL MODELING-I UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction

More information

Issues surrounding model consistency and QVT

Issues surrounding model consistency and QVT Issues surrounding model consistency and QVT Laurence Tratt, Tony Clark laurie@tratt.net, anclark@dcs.kcl.ac.uk December 6, 200. Introduction This document is intended to outline some of the issues surrounding

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

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

Chapter 5: Recursion. Objectives

Chapter 5: Recursion. Objectives Chapter 5: Recursion Objectives Looking ahead in this chapter, we ll consider Recursive Definitions Function Calls and Recursive Implementation Anatomy of a Recursive Call Tail Recursion Nontail Recursion

More information

UML Diagrams MagicDraw UML Diagrams

UML Diagrams MagicDraw UML Diagrams In software development, the diagram is the equivalent of a blueprint. To meet the various needs of many parties, we often need several different blueprints of the same system. Furthermore, every system

More information

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations Agris Sostaks, Elina Kalnina, Audris Kalnins, Edgars Celms, and Janis Iraids Institute of Computer Science and Mathematics,

More information

1.1 Jadex - Engineering Goal-Oriented Agents

1.1 Jadex - Engineering Goal-Oriented Agents 1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute

More information

OTS 1.1 vs. OTS 1.2 Approvers Function Name Approvers comments Reviewers Function Name Reviewers comments

OTS 1.1 vs. OTS 1.2 Approvers Function Name Approvers comments Reviewers Function Name Reviewers comments Approvers Function Name Approvers comments Reviewers Function Name Reviewers comments REFERENCE : 000xxx CLASSIFICATION: Information OWNER : Arjuna Lab CONTENTS Page 1 Introduction... 3 1.1 Scope... 3

More information

SERVICE DISTRIBUTION MECHANISMS IN INFORMATION-CENTRIC NETWORKING

SERVICE DISTRIBUTION MECHANISMS IN INFORMATION-CENTRIC NETWORKING SERVICE DISTRIBUTION MECHANISMS IN INFORMATION-CENTRIC NETWORKING Bachelorarbeit der Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern vorgelegt von Oliver Stapleton 2015 Leiter der Arbeit:

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

A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL

A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL A SELF-ADAPTIVE ARCHITECTURE FOR AUTONOMIC SYSTEMS DEVELOPED WITH ASSL Emil Vassev 1, Mike Hinchey 2, Aaron Quigley 1 1 Lero The Irish Software Engineering Research Centre, University College Dublin, Ireland

More information

Chapter 2 IEC in a Nutshell

Chapter 2 IEC in a Nutshell Chapter 2 IEC 61499 in a Nutshell This chapter gives a brief introduction of IEC 61499 that is tailored to fit the scope of this book and should be considered a summary of the basic concepts. In the first

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

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

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram. !"# $%&' !" #" $%%&&& ! Static Structure Diagram Collaboration Collaboration Diagram Collaboration Diagram Diagram Activity Diagram CRC Card CRC Card UML defines a standard notation for object-oriented

More information

A scenario-based test approach for testing reactive concurrent systems

A scenario-based test approach for testing reactive concurrent systems Corporate Technology A scenario-based test approach for testing reactive concurrent systems Andreas Ulrich Siemens AG, Corporate Technology München, Germany ETSI MBT User Conference 2011 October 18 20,

More information

Object-Oriented Modeling. State Machine Diagram. Slides accompanying Version 1.0

Object-Oriented Modeling. State Machine Diagram. Slides accompanying Version 1.0 Object-Oriented Modeling State Machine Diagram Slides accompanying UML@Classroom Version 1.0 Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology

More information

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Jochen Küster jku@zurich.ibm.com Agenda BPMN Introduction BPMN Overview BPMN Advanced Concepts Introduction to Syntax

More information

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING

A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING A NEW DISTRIBUTED COMPOSITE OBJECT MODEL FOR COLLABORATIVE COMPUTING Güray YILMAZ 1 and Nadia ERDOĞAN 2 1 Dept. of Computer Engineering, Air Force Academy, 34807 Yeşilyurt, İstanbul, Turkey 2 Dept. of

More information

G Programming Languages - Fall 2012

G Programming Languages - Fall 2012 G22.2110-003 Programming Languages - Fall 2012 Lecture 4 Thomas Wies New York University Review Last week Control Structures Selection Loops Adding Invariants Outline Subprograms Calling Sequences Parameter

More information

An evaluation of Papyrus-RT for solving the leader-follower challenge problem

An evaluation of Papyrus-RT for solving the leader-follower challenge problem An evaluation of Papyrus-RT for solving the leader-follower challenge problem Karim Jahed Queen s University, Kingston, ON jahed@cs.queensu.ca Abstract. We discuss and evaluate the use of Papyrus-RT modeling

More information

On the Role of Architectural Styles in Improving the Adaptation Support of Middleware Platforms

On the Role of Architectural Styles in Improving the Adaptation Support of Middleware Platforms On the Role of Architectural Styles in Improving the Adaptation Support of Middleware Platforms Naeem Esfahani and Sam Malek Department of Computer Science George Mason University {nesfaha2, smalek}@gmu.edu

More information

Towards Design Verification and Validation at Multiple Levels of Abstraction * Correct Design of Distributed Production Control Systems

Towards Design Verification and Validation at Multiple Levels of Abstraction * Correct Design of Distributed Production Control Systems Towards Design Verification and Validation at Multiple Levels of Abstraction * Correct Design of Distributed Production Control Systems Holger Giese, Martin Kardos, and Ulrich Nickel University of Paderborn,

More information

MDSE USE CASES. Chapter #3

MDSE USE CASES. Chapter #3 Chapter #3 MDSE USE CASES Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com MDSE GOES FAR BEYOND CODE-GENERATION www.mdse-book.com

More information

Reconciling TGGs with QVT

Reconciling TGGs with QVT Faculty for Computer Science Software Engineering Group Warburger Straße 100 33098 Paderborn Germany A Study of Model Transformation Technologies: Reconciling TGGs with QVT Diploma Thesis by Joel Greenyer

More information

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Computer Science Journal of Moldova, vol.13, no.3(39), 2005 Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Alexandr Savinov Abstract In the paper we describe a

More information

Lecture 2: Software Engineering (a review)

Lecture 2: Software Engineering (a review) Lecture 2: Software Engineering (a review) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture is

More information

Java Archives Search Engine Using Byte Code as Information Source

Java Archives Search Engine Using Byte Code as Information Source Java Archives Search Engine Using Byte Code as Information Source Oscar Karnalim School of Electrical Engineering and Informatics Bandung Institute of Technology Bandung, Indonesia 23512012@std.stei.itb.ac.id

More information

Pattern for Structuring UML-Compatible Software Project Repositories

Pattern for Structuring UML-Compatible Software Project Repositories Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp

More information

An Architecture for Semantic Enterprise Application Integration Standards

An Architecture for Semantic Enterprise Application Integration Standards An Architecture for Semantic Enterprise Application Integration Standards Nenad Anicic 1, 2, Nenad Ivezic 1, Albert Jones 1 1 National Institute of Standards and Technology, 100 Bureau Drive Gaithersburg,

More information

Prototyping Navigation in Web-Based Information Systems Using WebML

Prototyping Navigation in Web-Based Information Systems Using WebML Prototyping Navigation in Web-Based Information Systems Using WebML Jaroslav KURUC 1, Peter DOLOG 2 and Mária BIELIKOVÁ 1 1 Institute of Informatics and Software Engineering, Faculty of Informatics and

More information

Adaptive Cluster Computing using JavaSpaces

Adaptive Cluster Computing using JavaSpaces Adaptive Cluster Computing using JavaSpaces Jyoti Batheja and Manish Parashar The Applied Software Systems Lab. ECE Department, Rutgers University Outline Background Introduction Related Work Summary of

More information

Design Patterns with Fujaba Intense Course, 5th-9th October Ruben Jubeh

Design Patterns with Fujaba Intense Course, 5th-9th October Ruben Jubeh Design Patterns with Fujaba Intense Course, 5th-9th October 2009 Ruben Jubeh ruben.jubeh@uni-kassel.de Kassel University Department of Software Engineering Wilhelmshöher Allee 73 34121 Kassel Germany Timetable

More information

elements) and on the structure and representation of the information (i.e. the message format).

elements) and on the structure and representation of the information (i.e. the message format). Introduction to MDMI The global financial industry exchanges huge amounts of electronic information. Differences in understanding and interpretation of exchanged electronic information form an important

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary

More information

Parallel Execution of Kahn Process Networks in the GPU

Parallel Execution of Kahn Process Networks in the GPU Parallel Execution of Kahn Process Networks in the GPU Keith J. Winstein keithw@mit.edu Abstract Modern video cards perform data-parallel operations extremely quickly, but there has been less work toward

More information

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars

Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars Noname manuscript No. (will be inserted by the editor) Comparing Relational Model Transformation Technologies Implementing QVT with Triple Graph Grammars Joel Greenyer 1, Ekkart Kindler 2 1 Software Engineering

More information

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p.

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p. Introduction p. xxi Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p. 7 Understanding UML Diagrams p. 10 Visual Modeling

More information