1 / 20

An Integrated Event-Driven Framework Supporting MDD

An Integrated Event-Driven Framework Supporting MDD. Lizhang Qin, Hongming Liu Chris Jones, Xiaoping Jia. Agenda. Introduction An Approach to MDD ZOOM Models Event Framework Prototype Development Conclusion. Introduction. Model-Driven Development (MDD)

ali-newton
Download Presentation

An Integrated Event-Driven Framework Supporting MDD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Integrated Event-Driven Framework Supporting MDD Lizhang Qin, Hongming Liu Chris Jones, Xiaoping Jia

  2. Agenda • Introduction • An Approach to MDD • ZOOM Models • Event Framework • Prototype Development • Conclusion

  3. Introduction • Model-Driven Development (MDD) • Z-based Object-Oriented Modeling(ZOOM) • UML-2 • Event-Driven Framework

  4. 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”.

  5. 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.

  6. ZOOM Models

  7. 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

  8. 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).

  9. 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.

  10. 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.

  11. Event-Driven Framework

  12. A Login Scenario

  13. <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 Event-Driven Framework(Cont.)

  14. 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; } Event-Driven Framework(Cont.)

  15. …… <Button name="okButton" whenclick="UIOk" text="OK"/> …… FSM Machines Event: UIOk Event-Driven Framework(Cont.)

  16. Event-Driven Framework(Cont.)

  17. Wrong Login Info login Object State Change UIOk FSM R1 R2 R3 Event-Driven Framework(Cont.)

  18. Prototype Development • ZOOM-M • ZOOM-FSM & ZOOM-UIDL • A translation engine for the behavioral models • A set of rule-based tools for UI generation

  19. Conclusion • ZOOM: An Approach to MDD • Separation the model design to three parts. • An event-based approach for model integration

  20. Thank you Questions?

More Related