Pragmatic Model Driven Development (MDD) using openArchitectureWare
An Integrated Event-Driven Framework Supporting MDD
-
Upload
ali-newton -
Category
Documents
-
view
54 -
download
2
description
Transcript of An Integrated Event-Driven Framework Supporting MDD
![Page 1: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/1.jpg)
An Integrated Event-Driven Framework Supporting MDD
Lizhang Qin, Hongming Liu Chris Jones, Xiaoping Jia
![Page 2: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/2.jpg)
Agenda
Introduction An Approach to MDD ZOOM Models Event Framework Prototype Development Conclusion
![Page 3: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/3.jpg)
Introduction
Model-Driven Development (MDD) Z-based Object-Oriented
Modeling(ZOOM) UML-2 Event-Driven Framework
![Page 4: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/4.jpg)
An Approach to MDD
Model Definition Mellor: “a coherent set of formal elements describing
a system built for a purpose that is amenable to a particular form of analysis”.
Seidewitz: a model is “a set of statements about so system under study.
Our definition: a model is “a consistent and complete set of formal elements describing a system that is amenable to analysis”.
![Page 5: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/5.jpg)
An Approach to MDD
Current modeling language of choice: UML-2 for MDD We argue that the true benefits of MDD requires models
that are abstract, understandable, formal, analyzable and complete.
The ZOOM approach consists of a set of notations and supporting tools that attempts to provide an infrastructure that delivers all of these capabilities.
![Page 6: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/6.jpg)
ZOOM Models
FunctionalRequirements
Structural Model
Behavioral ModelDerive
Derive
Derive
ZOOM-FSM
ZOOM-UIDL
UI Model
Device Profile
User Preference
Web Phone
Event-Driven Framework Knowledge-basedModel Compilation
Tools
Rules
Templates
Model Transformation
AndCode Generation
UI Generation
PDA
Desktop
Extra-Functional Requirments
Environmental Requirements
ZOOM-M
![Page 7: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/7.jpg)
ZOOM Models
Separation of Concerns Allows each aspect of the system to be
specified separately, making each aspect easier to write, understand, and change.
Use different specification languages to describe different aspects of the system
![Page 8: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/8.jpg)
Structure Model
Structural models in ZOOM are object-oriented models with classes, relations, and formal specifications of the functionality of the entities.
ZOOM-M, is a Z and OCL based language with a Java/C++ like syntax to make it easy for practitioners to adopt.
A set of supporting tools has been built for ZOOM-M, including, parser, type checker, interpreter, animator, and an automated theorem prover (ATP).
![Page 9: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/9.jpg)
Behavioral Model
The behavioral model is the central communication mechanism that links the structural models with the UI models
ZOOM-FSM include a rich syntactical grammar with formal semantics
an intrinsic mechanism to use the structural models specific by ZOOM-M,
a strong compatibility with the UML-2 state chart.
![Page 10: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/10.jpg)
User Interface Model
Unlike UML-2 and MDA notations, ZOOM separates UI models from other aspects.
We use a User Interface Description Language ZOOM-UIDL to specify the design of UI in a formal way
ZOOM-UIDL is a hierarchical description framework
containing a set of predefined UIDL schemas.
![Page 11: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/11.jpg)
Event-Driven FrameworkZOOM-UIDL UI Model Behavioral Model
UIDL Schema
Structural Model
User Interface StructuralModel (UISM)
Requirement StructuralModel (RSM)
UI Instance FSM Instance
Structural Model Instance
UISM Instance RSM Instance
event
event
codegeneration
instance of instance of
instance of
ZOOM-FSM
ZOOM-M
Run-time System
derives
Event passing
Operation invocation
Instance of
Defines grammar
Code generation
operationinvocation
automaticupdate
SD
R1
R2
R3
MD
![Page 12: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/12.jpg)
A Login Scenario
Login
WilliamUserID
****************Password
OK Cancel
Status: Enter the user info.
Login
WilliamUserID
Password
OK Cancel
Status: Login Fail! Re-Login
Current User William
Add Contact
Chat
Change Information
Buddies Jack (Away)
Mark (Online) Mike (Online)
Penny (Away)
Steve (Busy)
Weny (Out to lunch)
(a) Initial Login Dialog (b) Re-Login Dialog (c) Main Dialog
LoginFail
LoginSuccess
Status label: one instance of TextBox schema in ZOOM-UIDLPhysical view changes during the transition from LoginFail to Idle
OK and Cancel button: instancesof Button schema in ZOOM-UIDL
Raising the events when userclicks them.
![Page 13: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/13.jpg)
Event-Driven Framework(Cont.)ZOOM-UIDL UI Model Behavioral Model
UIDL Schema
Structural Model
User Interface StructuralModel (UISM)
Requirement StructuralModel (RSM)
UI Instance FSM Instance
Structural Model Instance
UISM Instance RSM Instance
event
event
codegeneration
instance of instance of
instance of
ZOOM-FSM
ZOOM-M
Run-time System
derives
Event passing
Operation invocation
Instance of
Defines grammar
Code generation
operationinvocation
automaticupdate
SD
R1
R2
R3
MD
<xs:element name="Button"> <xs:complexType> <xs:attribute name="whenclick" type="xs:string"/>
<xs:attribute name="text" type="xs:string" use="optional"/> <xs:attribute name="selected" type="xs:boolean" use="optional"/> <xs:attributeGroup ref="COMPONENT-ATTRIBUTES"/> </xs:complexType></xs:element>
(a) A simplified version of Button schema in UIDL
public struct UIButton extends UIComponent{ public String whenclick;
public String text; public boolean selected;}
(b) UIButton struct
![Page 14: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/14.jpg)
Event-Driven Framework(Cont.)ZOOM-UIDL UI Model Behavioral Model
UIDL Schema
Structural Model
User Interface StructuralModel (UISM)
Requirement StructuralModel (RSM)
UI Instance FSM Instance
Structural Model Instance
UISM Instance RSM Instance
event
event
codegeneration
instance of instance of
instance of
ZOOM-FSM
ZOOM-M
Run-time System
derives
Event passing
Operation invocation
Instance of
Defines grammar
Code generation
operationinvocation
automaticupdate
SD
R1
R2
R3
MD
1: <Window id="String" name="LoginDialog" show="true">2: <Panel>3: <Label text="Status"/>4: <TextBox name="status" type="text" editable="false" columns="2"/>5: <Label text="UserID"/>6: <TextBox name="userID" type="text" editable="true" columns="2"/>7: <Label text="Password"/>8: <TextBox name="password" type="password" editable="true" columns="2"/>9: 10: <Button name="okButton" whenclick="UIOk" text="OK"/>11: <Button name="cancelButton" whenclick="UICancel" text="Cancel"/>12: </Panel>13: </Window>
public struct TLoginDialog { public UITextBox status; public UITextBox userID; public UITextBox password public UIButton okButton; public UIButton cancelButton;}
![Page 15: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/15.jpg)
Event-Driven Framework(Cont.)ZOOM-UIDL UI Model Behavioral Model
UIDL Schema
Structural Model
User Interface StructuralModel (UISM)
Requirement StructuralModel (RSM)
UI Instance FSM Instance
Structural Model Instance
UISM Instance RSM Instance
event
event
codegeneration
instance of instance of
instance of
ZOOM-FSM
ZOOM-M
Run-time System
derives
Event passing
Operation invocation
Instance of
Defines grammar
Code generation
operationinvocation
automaticupdate
SD
R1
R2
R3
MD
Login
WilliamUserID
****************Password
OK Cancel
Status: Enter the user info.
FSM MachinesEvent: UIOk
……<Button name="okButton" whenclick="UIOk" text="OK"/>
……
![Page 16: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/16.jpg)
Event-Driven Framework(Cont.)ZOOM-UIDL UI Model Behavioral Model
UIDL Schema
Structural Model
User Interface StructuralModel (UISM)
Requirement StructuralModel (RSM)
UI Instance FSM Instance
Structural Model Instance
UISM Instance RSM Instance
event
event
codegeneration
instance of instance of
instance of
ZOOM-FSM
ZOOM-M
Run-time System
derives
Event passing
Operation invocation
Instance of
Defines grammar
Code generation
operationinvocation
automaticupdate
SD
R1
R2
R3
MD
Idle LoginFailUIOk
! messenger.users.exists( u @ u.userID == loginDialog.userID & u.password == loginDialog.password)
loginDialog.password.empty();loginDialog.status.setText("Login Fail! Re-Login");
![Page 17: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/17.jpg)
Event-Driven Framework(Cont.)ZOOM-UIDL UI Model Behavioral Model
UIDL Schema
Structural Model
User Interface StructuralModel (UISM)
Requirement StructuralModel (RSM)
UI Instance FSM Instance
Structural Model Instance
UISM Instance RSM Instance
event
event
codegeneration
instance of instance of
instance of
ZOOM-FSM
ZOOM-M
Run-time System
derives
Event passing
Operation invocation
Instance of
Defines grammar
Code generation
operationinvocation
automaticupdate
SD
R1
R2
R3
MDLogin
WilliamUserID
****************Password
OK Cancel
Status: Enter the user info.
FSMUIOk
Wrong Login Info
login Object State Change
Login
WilliamUserID
Password
OK Cancel
Status: Login Fail! Re-Login
R1 R2 R3
![Page 18: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/18.jpg)
Prototype Development
ZOOM-M ZOOM-FSM & ZOOM-UIDL A translation engine for the behavioral models A set of rule-based tools for UI generation
![Page 19: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/19.jpg)
Conclusion
ZOOM: An Approach to MDD Separation the model design to three
parts. An event-based approach for model
integration
![Page 20: An Integrated Event-Driven Framework Supporting MDD](https://reader035.fdocuments.net/reader035/viewer/2022062517/568137e3550346895d9f8bfe/html5/thumbnails/20.jpg)
Thank you
Questions?