Umlx a pragmatic solution to documenting design ernest micklei emicklei@philemonworks com
Download
1 / 14

UMLX: a pragmatic solution to documenting design Ernest Micklei [email protected] - PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on

UMLX: a pragmatic solution to documenting design Ernest Micklei [email protected] Motivation. keep design (UML) and code better synchronized single point of definition separate view from model textual readable/writeable notation but not yet another UML tool. Typical iteration.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' UMLX: a pragmatic solution to documenting design Ernest Micklei [email protected]' - barrett-morse


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Umlx a pragmatic solution to documenting design ernest micklei emicklei@philemonworks com

UMLX: a pragmatic solution to documenting design

Ernest Micklei

[email protected]

Ernest Micklei, PhilemonWorks.com


Motivation
Motivation

  • keep design (UML) and code better synchronized

  • single point of definition

  • separate view from model

  • textual readable/writeable notation

  • but not yet another UML tool

Ernest Micklei, PhilemonWorks.com


Typical iteration
Typical iteration

Code

Design

Doc

Ernest Micklei, PhilemonWorks.com


Motivation ii
Motivation (ii)

  • Extracting design from code is impossible

    • need original abstraction level

    • implementation diagrams are not of interest (to us)

  • Keep design info where the code is

    • UMLX in class methods or in files

  • Use (external) tools to create diagrams

    • e.g. SUMO

Ernest Micklei, PhilemonWorks.com


Uml formats
UML "formats"

  • Rose-mdl/petal, XMI, UXF, others...

  • Targeted at exchange between Tools

  • Proprietary

  • Not meant for "maintenance" by hand

  • All in one big file (views and models)

Ernest Micklei, PhilemonWorks.com


UMLX

  • UML notation in XML, but ...

  • Readable by developer

  • Writable by developer

  • Simplest structure possible

    • no xml namespaces

  • Separate files, external to IDE

    • MyClass.class.umlx

    • MyPackage.package.umlx

    • MyModel.model.umlx

Ernest Micklei, PhilemonWorks.com


Class in umlx
Class in UMLX

<class name="Point3D" superclass="Point">

<attribute name="x" type="Number"/>

<operation name="rotateBy" return="Point3D">

<parameter name="rotationPoint" type="Point3D"/>

</operation>

</class>

Ernest Micklei, PhilemonWorks.com


Package in umlx
Package in UMLX

<package name="ExpressionSupport">

<class file="MessageSendNode.class.umlx"/>

<class file="ArgumentsNode.class.umlx"/>

<class file="ExpressionNode.class.umlx"/>

<class file="ConstantNode.class.umlx"/>

<class file="BracketedNode.class.umlx"/>

<class file="VariableNode.class.umlx"/>

<class file="UnaryNode.class.umlx"/>

<class file="FunctionNode.class.umlx"/>

<class file="BinaryNode.class.umlx"/>

<class file="ExpressionParser.class.umlx"/>

</package>

Ernest Micklei, PhilemonWorks.com


Design in umlx
Design in UMLX

<model name="Wizard Design">

<package file="WizardSupport" />

<association

class1="Wizard"

class2="WizardProgram"

role2="program"

cardinality2="1" />

</model>

Ernest Micklei, PhilemonWorks.com


Diagram
Diagram

  • is just a representation (view) on a design

    • can have multiple diagrams on single design

  • can be separated from the design specification

    • not part of UMLX

  • building it is a time-consuming activity

Ernest Micklei, PhilemonWorks.com


Using umlx
Using UMLX

producing UMLX

- using a text editor

- generating jumpstarts from classes

- collecting strings using methods

Diagrams

making a Diagram

- read UMLX files

- decide which elements to show

- layout them + export HTML,GIF,SVG

XML-files

Ernest Micklei, PhilemonWorks.com


Using umlx ii
Using UMLX (ii)

  • store as class methods in classes,packages

    • export to files

  • generate from code and edit (strip) manually

    • UMLClassBuilder

  • input for tools to build diagrams from UMLX

    • e.g. SUMO

  • input for tools to generate initial source code

  • converter (XSL) to/from XMI

  • ...

Ernest Micklei, PhilemonWorks.com


Status
Status

  • UMLX for class diagrams

  • UMLX documentation ( Open )

    • http://www.philemonworks.com/UMLX

    • http://philemon.swiki.net for comments

  • SUMO, simple UMLX diagramming tool ( Free )

    • http://www.philemonworks.com/SUMO

  • OMA, an archive of reusable models

    • http://www.philemonworks.com/OMA

  • SDK on its way (exporter,classes,meta model)

    • http://www.philemonworks.com/UMLX

Ernest Micklei, PhilemonWorks.com


Thanx
Thanx

  • Get it from http://www.philemonworks.com

  • Send comments to [email protected]

Ernest Micklei, PhilemonWorks.com


ad