TextUML Toolkit

     Rafael Chaves - rafael@abstratt.com
 copyright (c) 2006-2008 abstratt technologies
              http://abstratt.com
UML Modes
●   UML as sketch
    –   selective, incomplete
    –   communication/thinking tool
●   UML as blueprint
    –   valid, complete models (structural viewpoint)
    –   good for partial code generation
●   UML as programming language
    –   model describes structure and behavior
    –   model execution, “full” code generation
The TextUML Toolkit
●   UML authoring tool
●   textual notation (TextUML)
●   IDE-like
●   free (not OSS)
●   focus on code generation (UML as blueprint)
    –   “class diagram” elements
    –   valid, detailed models
●   target is developers, not BAs
●   available on Windows, Linux* and Mac OS X**
Why a textual notation?
●   productivity
    –   text editor vs. diagram editor
    –   details vs. big picture
●   developer-oriented features:
    –   text editing, search and replace, diff'ing/patches,
        history, auto-format, content assist*, hyperlinking*...
●   UML as programming language
●   it really does not matter...
TextUML Toolkit is UML-compliant
●   Notation != language
●   language specification defines:
    –   semantics
    –   syntax
●   Types of compliance
    –   abstract syntax (representation)
    –   concrete syntax (notation)
●   Notation is for users
●   Representation is for tools
Compatibility and integration
●   models based on Eclipse UML2 (UML 2.1)
●   native compatibility
    –   commercial: Omondo EclipseUML, MyEclipse UML
    –   open source: Eclipse MDT UML2Tools, Topcased,
        Papyrus UML
●   import/export
    –   Rational UML products
    –   Borland Together
●   reverse engineering
Code generation
Code generation tools
●   UML2-compatible tools
    –   Obeo Acceleo
    –   openArchitectureWare (oAW)
    –   Eclipse JET
    –   Velocity*
Code generation strategy
●   domain modeled using UML
●   a template (set) for each kind of artifact (pojos,
    Hibernate mapping file, value objects, ...)
●   stereotypes and tagged values drive code
    generation
Code generation demo
Plans
●   M4 (April 27)
    –   bundling Acceleo
    –   ready for beta-testing (hint, hint)
●   M5 (May 25)
    –   addressing community feedback
    –   ready for general consumption
●   endgame (1.0 release in June 15)
    –   polishing and critical bug fixes
    –   documentation and examples
Beyond UML as blueprint
Thank you!
●   visit http://abstratt.com (download, tutorial,
    news, forum)
●   feedback is really welcome
●   beta-testers even more so
TextUML Toolkit

     Rafael Chaves - rafael@abstratt.com
 copyright (c) 2006-2008 abstratt technologies
              http://abstratt.com

TextUML Toolkit

  • 1.
    TextUML Toolkit Rafael Chaves - rafael@abstratt.com copyright (c) 2006-2008 abstratt technologies http://abstratt.com
  • 2.
    UML Modes ● UML as sketch – selective, incomplete – communication/thinking tool ● UML as blueprint – valid, complete models (structural viewpoint) – good for partial code generation ● UML as programming language – model describes structure and behavior – model execution, “full” code generation
  • 3.
    The TextUML Toolkit ● UML authoring tool ● textual notation (TextUML) ● IDE-like ● free (not OSS) ● focus on code generation (UML as blueprint) – “class diagram” elements – valid, detailed models ● target is developers, not BAs ● available on Windows, Linux* and Mac OS X**
  • 5.
    Why a textualnotation? ● productivity – text editor vs. diagram editor – details vs. big picture ● developer-oriented features: – text editing, search and replace, diff'ing/patches, history, auto-format, content assist*, hyperlinking*... ● UML as programming language ● it really does not matter...
  • 6.
    TextUML Toolkit isUML-compliant ● Notation != language ● language specification defines: – semantics – syntax ● Types of compliance – abstract syntax (representation) – concrete syntax (notation) ● Notation is for users ● Representation is for tools
  • 7.
    Compatibility and integration ● models based on Eclipse UML2 (UML 2.1) ● native compatibility – commercial: Omondo EclipseUML, MyEclipse UML – open source: Eclipse MDT UML2Tools, Topcased, Papyrus UML ● import/export – Rational UML products – Borland Together ● reverse engineering
  • 8.
  • 9.
    Code generation tools ● UML2-compatible tools – Obeo Acceleo – openArchitectureWare (oAW) – Eclipse JET – Velocity*
  • 10.
    Code generation strategy ● domain modeled using UML ● a template (set) for each kind of artifact (pojos, Hibernate mapping file, value objects, ...) ● stereotypes and tagged values drive code generation
  • 11.
  • 12.
    Plans ● M4 (April 27) – bundling Acceleo – ready for beta-testing (hint, hint) ● M5 (May 25) – addressing community feedback – ready for general consumption ● endgame (1.0 release in June 15) – polishing and critical bug fixes – documentation and examples
  • 13.
    Beyond UML asblueprint
  • 14.
    Thank you! ● visit http://abstratt.com (download, tutorial, news, forum) ● feedback is really welcome ● beta-testers even more so
  • 15.
    TextUML Toolkit Rafael Chaves - rafael@abstratt.com copyright (c) 2006-2008 abstratt technologies http://abstratt.com