Bug 77413 - Improved Documentation
Summary: Improved Documentation
Status: ASSIGNED
Alias: None
Product: MDT.UML2
Classification: Modeling
Component: Core (show other bugs)
Version: 1.0.0   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: UML2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: contributed, plan
Depends on: 205478 382342
Blocks:
  Show dependency tree
 
Reported: 2004-11-01 14:30 EST by Kenn Hussey CLA
Modified: 2013-03-29 09:34 EDT (History)
8 users (show)

See Also:
Kenn.Hussey: documentation+


Attachments
migration doc (1.20 MB, patch)
2006-05-25 18:07 EDT, James Bruck CLA
no flags Details | Diff
Migration doc update (324.21 KB, patch)
2006-05-31 10:43 EDT, James Bruck CLA
no flags Details | Diff
Zipped up images (313.81 KB, application/x-zip-compressed)
2006-05-31 10:45 EDT, James Bruck CLA
no flags Details
migration doc update format (1.20 MB, patch)
2006-06-13 14:15 EDT, James Bruck CLA
no flags Details | Diff
zipped up version of patch (323.45 KB, application/x-zip-compressed)
2006-06-13 14:25 EDT, James Bruck CLA
no flags Details
added programatic migration (478.66 KB, patch)
2006-07-17 10:17 EDT, James Bruck CLA
no flags Details | Diff
Extending UML doc (165.79 KB, application/octet-stream)
2006-12-08 15:18 EST, James Bruck CLA
Kenn.Hussey: iplog+
Details
Heavyweight extension (1.90 MB, application/octet-stream)
2006-12-08 15:19 EST, James Bruck CLA
no flags Details
describes the UML2.profile.uml profile. (32.00 KB, application/msword)
2007-01-30 12:14 EST, James Bruck CLA
no flags Details
mapping ecore generics to uml ( draft ) (285.00 KB, application/msword)
2007-01-31 09:37 EST, James Bruck CLA
no flags Details
Tutorial to create Domain metamodel using the heavyextension (777.63 KB, application/x-zip-compressed)
2007-03-04 15:08 EST, Yves YANG CLA
no flags Details
How to use composite structures (334.08 KB, application/x-zip-compressed)
2007-03-16 17:25 EDT, James Bruck CLA
no flags Details
Migration from UML2 2.0 to UML2 2.1 (131.53 KB, application/x-zip-compressed)
2007-06-28 15:27 EDT, James Bruck CLA
no flags Details
Migration from 2.0 to 2.1 (174.92 KB, application/x-zip-compressed)
2007-07-11 15:28 EDT, James Bruck CLA
Kenn.Hussey: iplog+
Details
generics in UML (draft) (668.18 KB, application/x-zip-compressed)
2007-07-27 17:14 EDT, James Bruck CLA
no flags Details
Generics with UML Templates (631.23 KB, application/x-zip-compressed)
2007-09-18 09:22 EDT, James Bruck CLA
Kenn.Hussey: iplog+
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kenn Hussey CLA 2004-11-01 14:30:45 EST
Improve UML2 documentation by updating the FAQ, enhancing the Javadoc, and 
publishing new articles.
Comment 1 Kenn Hussey CLA 2004-11-11 13:28:10 EST
In particular, the Javadoc for Element#getValue(Stereotype, String) and 
Element#setValue(Stereotype, String, Object) needs to be enhanced to describe 
the use of "property expressions" to (recursively) get/set the values of 
attributes on (nested) complex types.
Comment 2 Kenn Hussey CLA 2005-07-21 16:39:34 EDT
The FAQ and Javadoc (now available online for each UML2 release) were updated 
in UML2 1.1. Documentation will be further improved (e.g. existing articles 
will be updated and new articles will be added) during the 2.0 release cycle.
Comment 3 Kenn Hussey CLA 2006-04-19 16:13:31 EDT
The fix has been committed to CVS.
Comment 4 James Bruck CLA 2006-05-25 18:07:28 EDT
Created attachment 42660 [details]
migration doc

Migration document
Comment 5 James Bruck CLA 2006-05-31 10:43:51 EDT
Created attachment 43099 [details]
Migration doc update

Updated .html to work with Firefox
Comment 6 James Bruck CLA 2006-05-31 10:45:36 EDT
Created attachment 43100 [details]
Zipped up images

zipped up version of migration doc so that binary images work.
Comment 7 James Bruck CLA 2006-06-13 14:15:22 EDT
Created attachment 44308 [details]
migration doc update format
Comment 8 James Bruck CLA 2006-06-13 14:25:03 EDT
Created attachment 44312 [details]
zipped up version of patch
Comment 9 Kenn Hussey CLA 2006-06-20 14:31:53 EDT
Continued improvements to documentation will be made in a future release.
Comment 10 James Bruck CLA 2006-07-17 10:17:43 EDT
Created attachment 46371 [details]
added programatic migration
Comment 11 James Bruck CLA 2006-12-08 15:06:43 EST
Planned items.

-Article on extending UML.   (90% complete)
-Article on creating heavy-weight extensions. (60% complete)
-Update to migration document ( document profile application in migration ).
Comment 12 James Bruck CLA 2006-12-08 15:18:15 EST
Created attachment 55336 [details]
Extending UML doc

( almost complete ;) )
Comment 13 James Bruck CLA 2006-12-08 15:19:34 EST
Created attachment 55337 [details]
Heavyweight extension

documentation started.
Comment 14 James Bruck CLA 2007-01-30 12:14:30 EST
Created attachment 57812 [details]
describes the UML2.profile.uml profile.
Comment 15 James Bruck CLA 2007-01-31 09:37:14 EST
Created attachment 57911 [details]
mapping ecore generics to uml ( draft )
Comment 16 Nicolas Rouquette CLA 2007-02-08 17:26:35 EST
The UML2.1 superstructure spec (ptc/06-04-02) in 18.3.6 (Profile)
shows an example of XMI for exchanging profiles (pages 694 to 696)
that includes an XMI definition of the profile in XML schema.

For the lightweight profile customization strategy,
what are the pros/cons of producing such XMI schema definitions?
Specifically, can we use the XMI schema definition of a UML profile
to simplify matters of UML interoperability along the lines
of https://bugs.eclipse.org/bugs/show_bug.cgi?id=80306 ?
Comment 17 JG CLA 2007-03-04 07:28:37 EST
The Javadoc for the package org.eclipse.uml2.common is in dire need for more documentation, especially when it comes to the purposes of the different EList implementations provided there. This is critical, as they -- AFAIK -- still have to be used manually to implement derived associations in one's model. 
Comment 18 Yves YANG CLA 2007-03-04 15:08:32 EST
Created attachment 60230 [details]
Tutorial to create Domain metamodel using the heavyextension 

This is a tutorial of the domain metamodel creation. It uses a simplified BPMN model as example. In fact, it is a Proof of Concept to implement BPDM metamodel.
Comment 19 James Bruck CLA 2007-03-16 17:25:04 EDT
Created attachment 61171 [details]
How to use composite structures
Comment 20 Nicolas Rouquette CLA 2007-03-16 20:56:37 EDT
James, the composite structure document is a good start; I would suggest clarifying your assumptions w.r.t. the notion of 'connector' you use.

Many ADLs distinguish make a distinction between modeling architecture element types and modeling instances of such types. For example, CMU's AcmeStudio calls the former an architecture "family" and the later an architecture "system". With the UML, we have a reasonable type/instance distinction for components and ports but things become muddled very quickly for connectors. 

In the UML superstructure spec, a connector links instances of components in a specific context such as a collaboration. However, the decision to enforce a typing on what constitutes legal connections is left up to the user in the UML whereas in other ADLs, the user can express this typing constraint in the form of, e.g., a connector type in AcmeStudio. 

In your document, there is some glimpse of this in several parts:

- in the detailed class diagram, you indicate with a note that the customer use/provided ports have no association between them to avoid unnecessary coupling. 

What if I want to say that the customer use port must be a structural feature of a component instance fulfilling the role of an administrator type and that the customer provided port must be a structural feature of a component instance fulfilling the role of a customer type? There are many ways to model this in the UML; one example is enough. The point here is that the instance-level topology of use/provided port connections should be type checkable.

- in the communication diagram (detail), you show a link between instances of customer use/provided ports. I would suggest defining the interaction as a collaboration type so that it can be instantiated and so that instance-level port connections can be type checked. You seem to be headed in that direction. Do you think it would be reasonable for the purposes of this example to postulate that a well-formed connection must be an instance of a properly defined collaboration type? If you agree, then it would be nice if we eventually could specify in OCL what it means for an instance-level component/port wiring diagram to be well-typed w.r.t. a set of types (components, ports, collaborations, etc..).

- in the structure diagram, a note seems to indicate that the IUknown interface is used to obtain the interface with the other end (of a connection). This is a Microsoft COM-biased view for what amounts to querying the component/port level topology of an architecture at runtime. I believe it would be preferable to stick to the the UML-biased view of component architecture reified as collaboration patterns. In this view, the components, ports and links between them participating in a collaboration would be introspectable -- i.e., port instances, component instances, and perhaps link instances should have an "identity" to lookup the context of each instance in the collaboration and resolve queries like "what is the port on the other side of link I'm attached to?".

Cheers,
-- Nicolas.


Comment 21 James Bruck CLA 2007-03-19 09:51:16 EDT
Nicholas,

Thanks for the feedback.  I'll definitely take your comments into account before finishing this article (it's quite rough now).   The idea behind this article comes from questions in the newsgroup about composite structures and the vague notion of "connector" and what exactly it means for two ports to be connected.  Frankly, I have not seen any examples explaining this in great detail.

I also wanted to clarify that assembly connectors should not be shown on component diagrams.  Context is required amongst other things.

I find it very intersting that the spec speaks of parts in terms of instances and does not mention parts in terms of the static nature of a system.  Parts are afterall properties and properties can be considered to be part of the static nature of encapsulated classifiers in a similar way that attributes are part of the static definition of a class.
   The "instance" notion seems to be an implied runtime concept. Presumably your component will be part of a running system so the spec seems to skip to the instance terminology.  I could say that at runtime, any general instance of this class will have these parts and these parts will be connected in this manner.  I could speak about attributes of a class in a similar fashion but the spec doesn't.   I can see the need to describe parts as instances when connectors come into play.  Connectors really say that "somehow" these two parts are connected at runtime... but that connection is vague.  The connection itself might only exist at runtime.   It could be implented as a lookup table etc.

There also seems to be some overlapping terminology.   For example, "Link" is an InstanceSpecification of type Attribute whereas we talk about Connectors as "links".  Connectors seem to be a bit more vague than true Links. (Connectors may or may not be typed by Associations).   Composite structures really talk about any general instance whereas object diagrams talk about specific instances.  
The reason for choosing the MFC type example is to explain all the gory details of hooking up process using ports.
I will consider other examples. Also, I intend to finish the article by including every type of diagram in UML, including Object diagram.

Thanks again ... any other input is appreciated.

- James.
Comment 22 Kenn Hussey CLA 2007-04-25 15:07:40 EDT
Javadoc has been added for parameters of custom and valdation operations.
Comment 23 James Bruck CLA 2007-06-28 15:27:36 EDT
Created attachment 72730 [details]
Migration from UML2 2.0 to UML2 2.1
Comment 24 James Bruck CLA 2007-07-11 15:28:59 EDT
Created attachment 73587 [details]
Migration from 2.0 to 2.1
Comment 25 James Bruck CLA 2007-07-27 17:14:32 EDT
Created attachment 74838 [details]
generics in UML (draft)
Comment 26 James Bruck CLA 2007-09-18 09:22:12 EDT
Created attachment 78642 [details]
Generics with UML Templates