1 / 38

ZML: Z family on the web with their UML photos

ZML: Z family on the web with their UML photos. Sun Jing Supervisor: Dr. Jin Song DONG. Presentation Overview. Motivations Introduction to Z family languages & UML UML Translation Guidelines Formal Models of ZML Implementation issue Conclusion. Motivations.

minna
Download Presentation

ZML: Z family on the web with their UML photos

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. ZML: Z family on the web with their UML photos Sun Jing Supervisor: Dr. Jin Song DONG

  2. Presentation Overview • Motivations • Introduction to Z family languages & UML • UML Translation Guidelines • Formal Models of ZML • Implementation issue • Conclusion

  3. Motivations

  4. Precisely and Visually capture system requirements • Develop a web environment for Z family notations • Share design models • Hyperlinks among models • Advance browsing facilities • Develop projection tool for visualizing Object-Z/TCOZ specifications in UML Diagrams • Use Object-Z to specify and design the essential functionalities of the ZML environment

  5. Introduction to Z family languages & UML

  6. Z An state-orient formal specification language based on set theory and predicate logic

  7. Object-Z Object oriented extension to Z

  8. TCOZ Integration of Object-Z with Timed CSP

  9. TCOZ Integration of Object-Z with Timed CSP

  10. UML • UML stands for Unified Modeling Language • The UML combines/collects • Data Modeling concepts (Entity Relationship Diagrams) • Business Modeling (work flow) • Object Modeling • Component Modeling • The UML is the standard language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system • It can be used with many processes, throughout the development life cycle, and across different implementation technologies

  11. State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Object Diagrams Component Diagrams Class Diagrams Component Diagrams Component Diagrams Deployment Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Use Case Diagrams Sequence Diagrams Statechart Diagrams Collaboration Diagrams Models, Views, and Diagrams Models Activity Diagrams

  12. UML Translation Guidelines

  13. Linkage between Object-Z/TCOZ &UML • Static view Class / Class diagram • Collaboration view Communication / Collaboration diagram • Dynamic view operation/ statechart diagram

  14. Static View class

  15. Static View Inheritance

  16. Static View Aggregation

  17. Static View Association

  18. Collaboration View Synchronized Communication

  19. Collaboration View Asynchronized Communication

  20. Dynamic View

  21. Dynamic View More ...

  22. Formal Model of ZML

  23. Definition Hierarchy

  24. Web Browsing Environment

  25. Projections to UML Class Diagram

  26. Implementation issue

  27. Basic idea • ZML – Define a customized XML for Z family languages for web-browsing purpose • UML tool – Rational Rose 2000 supports XMI import/export according to UML.DTD • Therefore, our translation rules are applied using XSLT techniques to automatically translate Object-Z/TCOZ model(XML) to UML diagrams(XMI) and vice versa

  28. Overall picture

  29. Syntax definition <ElementType name="op" content="eltOnly" order="seq"> <element type="name" minOccurs="1" maxOccurs="1"/> <element type="delta" minOccurs="0" maxOccurs="1"/> <element type="decl" minOccurs="0" maxOccurs="*"/> <element type="predicate" minOccurs="0" maxOccurs="*"/> … </ElementType> <ElementType name="classdef" content="eltOnly"> <element type=“state" minOccurs=“1" maxOccurs=“1"/> <element type=“init" minOccurs="0" maxOccurs=“1"/> <element type="op" minOccurs="0" maxOccurs="*"/> … </ElementType> XML Schema

  30. Syntax definition <!ELEMENT Foundation.Core.Class ( Foundation.Core.ModelElement.name, Foundation.Core.ModelElement.visibility, Foundation.Core.GeneralizableElement.isRoot, Foundation.Core.GeneralizableElement.isLeaf, Foundation.Core.GeneralizableElement.isAbstract, Foundation.Core.Class.isActive, XMI.extension*, Foundation.Core.ModelElement.constraint*, Foundation.Core.ModelElement.requirement*, Foundation.Core.ModelElement.provision*, Foundation.Core.ModelElement.stereotype*, …> UML DTD

  31. XSL Transformation <xsl:template match="classdef[@layout='simpl'] classdef[@layout='gen']"> <html> … <a><xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute></a> … <xsl:apply-templates select="state"/> <xsl:apply-templates select="init"/> <xsl:apply-templates select="op"/> … </html> </xsl:template> Web browsing

  32. XSL Transformation UML class diagram projection <xsl:variable name="AggregationNo" select=‘position()'/> <xsl:choose> <xsl:when test = "//classdef[$classNo]/name =./type"> <![CDATA[ <Foundation.Core.AssociationEnd xmi.idref=‘ ]]> <xsl:value-of select="concat(‘G.',1 + $AggregationNo*3)"/><![CDATA[ '/> ]]> </xsl:when> <xsl:when test = "//classdef[$classNo]/state/decl/dtype/type = ./type"> <![CDATA[ <Foundation.Core.AssociationEnd xmi.idref=‘ ]]> <xsl:value-of select="concat(‘G.',1+$AggregationNo*3-1)"/><![CDATA[ '/> ]]> </xsl:when> </xsl:choose>

  33. Case study – Queue example <classdef layout="simpl" align="left"> <name>ActiveQueue</name> <inherit><type>Queue</type></inherit> <state> <decl> <name>in, out</name> <dtype><type>&chan;</type></dtype> </decl> … </state> <op layout="calc"> <name>Join</name> … ActiveQueue in ZML

  34. Case study – Queue example ActiveQueue on Web

  35. Case study – Queue example <Association xmi.id='G.2'> <name /> <connection> <AssociationEnd xmi.id='G.3'> <name /> <multiplicity>1</multiplicity> <type><xmi.idref='S.10010'/><!-- TwoActiveQueues --></type> </AssociationEnd> <AssociationEnd xmi.id="G.4"> <name /> <multiplicity>1..*</multiplicity> <type><xmi.idref="S.10001" /><!-- ActiveQueue --> </type> </AssociationEnd> </connection> </Association> TwoActiveQueue & ActiveQueue in XMI

  36. Case study – Queue example Queues in UML

  37. Conclusions

  38. Conclusions • XML/XSL approach to the development of a web environment for Z family languages • Auto type referencing • Schema calculus and Inheritance expansions • Semantic links and projections between Object-Z/TCOZ with UML diagrams • A formal approach to modeling web applications • A standard XML environment for all formal notations – Formal specification Markup Language (FML)

More Related