Re: Any XML (or another ASCII-based file) standard UML?




Silas Justiniano wrote:
Hello all.

I was wondering if there is any XML (or another ASCII-based format)
standard to represent UML. Such standard for portability between UML
modelers.

Thank you! Bye!

Personally, I don't think highly of UML. But for your interest, here is
a draft schema from the C2.com wiki:

--------------

A draft relational schema for UML class diagrams.

Box
----
boxID (pk)
boxType (C=class, P=package, I=Interface, etc...)
boxTitle
isAbstract (if title is to be in italics)
titleSideNote
stereoRef
bottomNote
boxConstraint
elidedFormat (blank=none, T=title-only, E=elipses, C=circle)

attribMethods
----------
amName (attribute or method name)
amType (A=attribute, M=method, blank=unspecified)
boxRef (fk to Box table)
pathName (Example: "Appliance::")
declaration (Example: constructor or initializer string)
amReturnTypeInfo (Example: "Integer" - goes to the right)
stereoRef (fk to stereoTypes table)
amAttachedNote
visibility (Example: "#" for "private")
amConstraint
isClassScope (underlined)
[PK: amName + boxRef]

Links
-----
linkID (pk, possible auto-gen, see note)
fromBoxRef (fk to "from" box)
toBoxRef (fk to "to" box)
linkType (Inheritance, Aggregation...)
linkDescript (example: "has")
fromQntyRef (fk to Quantities)
toQntyRef
fromDescript
toDescript
linkFromNote (note on the "from" side of line)
linkMidNote (note for the middle of line)
linkToNote
qualifierDescript
constraintDescript
[pk needs study, may be many links between 2 boxes]

linkRelations
-------------
fromLinkRef
toLinkRef
lrType (C = constraint)
lrDescript (example: "Or")

Associations [Not sure yet if we need this. See note]
------------
linkRef
boxRef
assocNote
[pk: linkRef + boxRef]

stereoTypes
-----------
stereoID (pk)
stereoDescript

Quantities
----------
qntyID (pk)
qntyDescript [redundant?]
rangeType (N=number range, M=many, NM=number-to-many, L=list)
lowQnty (if applicable)
hiQnty (if applicable)
qntyList (if applic., if too complex for a range)



Notes

I rolled attributes and methods into one entity because they are so
similar. Some may disagree with this decision. Note that in some
languages the distinction can be blurry, at least externally. Plus, one
might want to change it back and forth during design time when things
are not settled yet. Thus, entities are purposely "wide" in this
design. One only has to change the "type" instead of move info from one
entity to another, and risk losing attributes along the way when
attributes are not relevant for a particular "type".

Generally we should avoid coding view-specific info, but it may not be
fully avoidable. Perhaps treat render requests as a preference or
default rather than hard attributes. A renderer or browser should
ideally be able to zoom in and zoom out, collapse large boxes into more
compact forms, etc. But defaults might be helpful if one is using only
a static renderer.

To make a single digit for Quantities, use the same start and end
value. The display engine should automatically consolidate them.

The "Associations" table is an attempt to handle cases where
associations are between one "link" and one "box". The examples I have
seen may just have been visual shortcuts, in which case such
associations are really just a regular link between two boxes. Thus, it
may not be necessary.

In some cases I have shown one or two letter abbreviations for certain
codes. Maybe a fuller name is more appropriate. However, it is assumed
that users don't edit many of these columns directly, and thus
pull-down lists can be supplied to select the proper abbreviations
internally.

Reader exercise: create an XML schema for UML.

(end quote)

-T-

.



Relevant Pages

  • Re: Interface usage best practices
    ... Rational's contribution was mainly in the original UML proposal that was ... > Why do you see OCL as a proprietary standard? ... doesn't affect the fact the semantics is well defined. ... The operation name implies a responsibility, ...
    (comp.object)
  • Re: Ambiguities of the Harel/UML FSM model
    ... resolving the action sequence/context. ... Pretty much every standard in computer science leaves such leeway, ... proper execution model for UML represented a major hole in the UML spec ...
    (comp.object)
  • Re: Interface usage best practices
    ... Just "the Booch notation". ... It is far superior to UML in many respects. ... Why do you see OCL as a proprietary standard? ... In general I favour that approach, its how SDL tools work too in ...
    (comp.object)
  • Re: does a software architect need UML skills?
    ... It is called a defacto standard. ... a lot of companies will say they use UML for all ... And that is a pretty bad characteristic for an architect. ... and I'm perfectly capable of communicating with ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: UML is semi-formal language !!!
    ... XMI is a model interchange format from the OMG that is a XML ... If being machine interpretable is the criteria, then UML clearly ... grammar expressed in some machine interpretable language, ...
    (comp.object)