240 likes | 399 Views
Outline. Introduction Tools and Technologies Technical EMF GEF ViPER Conceptual UML2 Specification for Interaction Diagrams Communication Diagram Sequence Diagram Current Status and Future Work Software Demonstration For Communication Diagram Editor. Introduction.
E N D
Outline • Introduction • Tools and Technologies • Technical • EMF • GEF • ViPER • Conceptual • UML2 Specification for Interaction Diagrams • Communication Diagram • Sequence Diagram • Current Status and Future Work • Software Demonstration For Communication Diagram Editor
Introduction • Based on enhancement of ViPER platform • Adding visual modeling capabilities for UML2 interaction (communication and sequence) diagrams • Main tasks are: • In depth understanding of tools and technologies involved. • GEF, EMF, ViPER. • Specification of UML2 Interaction Diagrams • Design and development of editors as a plugin to ViPER for the following diagrams: • Communication Diagram • Sequence Diagram • A detailed Thesis report comprising of the study conducted and results achieved.
Tools And Technologies: EMF • EMF stands for Eclipse Modeling Framework. • A java framework providing code generation facility for structured models. • Uses XMI(XML Metadata Interchange) as model definition from • Models need to be translated to XMI. • Consists of two frameworks: • The core EMF framework • EMF.Edit framework • EMF.Codegen
Tools and Technologies: EMF • EMF Core Framework: • Provides basic support for creating Java Classes corresponding to a model. • Meta Model to describe Models • Change Notification • Persisitance Support • API to manipulate EMF Objects • EMF.Edit Framework: • Built on and extends core framework. • Generate adapter classes to create editors for EMF Models. • Content and Label provider classes • Desktop viewers(JFace) • Property Sheets • Command Framework • Undo • Eidt • Redo
Tools and Technologies: GEF • GEF stands for Graphical Editing Framework. • Provides the facility to display and edit a model graphically. • Provides GEF viewers for this purpose. • Based on Model-View-Controller (MVC) architecture. Figure 1: MVC Architecture
Eclipse Platform ViPER IDE Workbench UML2 VME ViPER VMF GEF EMF UML2 Team Help Draw2D Workspace Platform Runtime SWT JFace Tools and Technologies: ViPER • ViPER builds upon Eclipse, EMF, UML2, and GEF
Tools and Technologies: ViPER • ViPER UML2 VME (Visual Modeling Environment) supports visual modeling of followinf diagrams • Structure diagrams (ViPER UML2 VME Structure) • ViPER UML2 VME Class • ViPER UML2 VME Object • ViPER UML2 VME Package • ViPER UML2 VME CompositeStructure • ViPER UML2 VME Component • Behavior diagrams (ViPER UML2 VME Behavior) • ViPER UML2 VME UseCase • ViPER UML2 VME StateMachine • ViPER UML2 VME Communication • ViPER UML2 VME Sequence
UML2 Specification • For a better grip of an interactive situation. • Produced at a detailed design phase. • Suitable to design precise inter-process communication. • Interactions can be designed using the following diagrams: • Sequence Diagram • Communication Diagram
UML2 Specification • There are some basic components of an interaction diagram: • Interaction • Lifeline • Message • OccurrenceSpecification • Events • Behavior Executions
UML2: Lifeline Class Description • Description • A specialization of NamedElement • Represents an individual participant in the interaction • Associations • selector : ValueSpecification[0..1] • interaction: Interaction[1] • represents: ConnectableElement[0..1] • decomposedAs : PartDecomposition[0..1] • coveredBy : InteractionFragment [0..1] • Notation • <lifelineident> ::= ([<connectable-element-name>[‘[‘ <selector> ‘]’]] [: <class_name>] [decomposition]) | ‘self’ <selector> ::= <expression> <decomposition> ::= ‘ref’ <interactionident> strict • Changes From Previous UML • Same as UML 1.x
UML2: Message Class Description • Description • A particular communication between Lifelines of an interaction • Specifies kind of communication, sender and reciever. • Attributes • messageKind: MessageKind • messageSort: MessageSort • Associations • interaction:Interaction[1] • sendEvent : MessageEnd[0..1] • receiveEvent: MessageEnd[0..1] • connector: Connector[0..1] • argument:ValueSpecification[*] • /signature:NamedElement[0..1] • Notation • <messageident> ::= ([<attribute> ‘=’] <signal-or-operation-name> [‘(‘ [<argument> [‘,’<argument>]* ‘)’] [‘:’ <return-value>]) | ‘*’ <argument> ::= ([<parameter-name> '='] <argument-value>) | (<attribute> '=' <out-parameter-name> [':' <argument-value>] ) | ' -' • Changes From Previos UML • May have gates on either end
UML2: OccurenceSpecification Class Description • Description • Basic semantic unit of an interaction • Ordered along a lifeline • Associations • event : Event [1] • covered: Lifeline[1] • toBefore:GeneralOrdering[*] • toAfter: GeneralOrdering[*] • Has 2 specializations • MessageOccurenceSpecification • ExecutionOccurenceSpecification
UML2: MessageOccurenceSpecification Class Description • Description • Specifies occurence of events like, • Sending and recieving of signals • Invoking or recieving of operation calls • Is a kind of message end. • Associations • event : Event [1] • Changes from Previous UML • Now in UML 2.0
UML2: ExecutionOccurenceSpecification Class Description • Description • represents moments in time at which actions or behaviors start or finish. • Associations • event : ExecutionEvent [1] • execution : ExecutionSpecification [1] • Changes from Previous UML • Now in UML 2.0
UML2: BehaviorExecutionSpecification Class Description • Description • Specialization of ExecutionSpecification • represents execution of behavior • Associations • behavior : Behavior [0..1] • Rationale • introduced to support interactions specifying messages that result from behaviors
Current Status and Future Work • Current Status • Communication Diagram Editor implemented • Future Work • Implementation of Sequence Diagram Editor • Report Writing
Thank You Questions are welcome !