1 / 14

UMLX: a pragmatic solution to documenting design Ernest Micklei emicklei@PhilemonWorks

UMLX: a pragmatic solution to documenting design Ernest Micklei emicklei@PhilemonWorks.com. 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.

Download Presentation

UMLX: a pragmatic solution to documenting design Ernest Micklei emicklei@PhilemonWorks

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. UMLX: a pragmatic solution to documenting design Ernest Micklei emicklei@PhilemonWorks.com Ernest Micklei, PhilemonWorks.com

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

  3. Typical iteration Code Design Doc Ernest Micklei, PhilemonWorks.com

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

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

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

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

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

  9. Design in UMLX <model name="Wizard Design"> <package file="WizardSupport" /> <association class1="Wizard" class2="WizardProgram" role2="program" cardinality2="1" /> </model> Ernest Micklei, PhilemonWorks.com

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

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

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

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

  14. Thanx • Get it from http://www.philemonworks.com • Send comments to emicklei@philemonworks.com Ernest Micklei, PhilemonWorks.com

More Related