The Fujaba Statechart Synthesis Approach
|
|
- Elinor Morrison
- 5 years ago
- Views:
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
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 informationStory 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 informationScenario-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 informationDynamic 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 informationExercise 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 informationBPMN2BPEL 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 informationUnified 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 informationThe 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 informationSCXML 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 informationRIGOROUSLY 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 informationModelling 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 informationvisualstate 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 informationState 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 informationSpecifying 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 informationObjectives. 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 informationCombined 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 informationWhat 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 informationWhat 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 informationExtended 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 informationUNIT-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 informationBuilding 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 informationSCXML 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 informationRigorous 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 informationDesigning 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 informationOBJECT 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 informationOCL 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 informationAnalysis 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 informationProposal 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 informationA 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 informationThirty 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 informationChapter 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 informationAn 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 informationIntroduction 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 informationUsing 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 informationBest 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 informationAssuring 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 informationConfiguration 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 informationEvaluating 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 informationUML 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 informationStudy 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 informationSoftware 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 informationUML-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 informationIntegrating 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 informationFinite 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 informationJava 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 information12 Tutorial on UML. TIMe TIMe Electronic Textbook
TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3
More informationThe 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 informationUsing 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 informationOBJECT 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 informationModeling 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 informationPHILharmonicFlows: 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 informationNews 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 informationStatecharts 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 informationOrganic 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 informationConsolidation 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 informationFlexFlow: 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 informationSubject: 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 informationUNIT 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 informationSymbol 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 informationSOFTWARE 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 informationUNIT-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 informationIssues 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 informationLecture 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 informationUML- 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 informationChapter 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 informationUML 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 informationThe 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 information1.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 informationOTS 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 informationSERVICE 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 informationOMG 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 informationA 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 informationChapter 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 informationStatic 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 informationComputer 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 informationComputer 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 informationUse 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 informationA 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 informationObject-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 informationBusiness-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 informationA 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 informationG 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 informationAn 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 informationOn 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 informationTowards 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 informationMDSE 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 informationReconciling 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 informationConcept 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 informationLecture 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 informationJava 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 informationPattern 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 informationAn 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 informationPrototyping 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 informationAdaptive 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 informationDesign 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 informationelements) 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 informationSoftware 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 informationParallel 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 informationComparing 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 informationIntroduction 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