You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
(8) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(12) |
Jun
(14) |
Jul
(56) |
Aug
(6) |
Sep
(24) |
Oct
(1) |
Nov
(3) |
Dec
(5) |
2002 |
Jan
(2) |
Feb
(6) |
Mar
(22) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Chris M. <zm...@us...> - 2001-05-16 21:25:42
|
Update of /cvsroot/kuml/kuml/libkuml/test_client In directory usw-pr-cvs1:/tmp/cvs-serv11805 Added Files: README.txt Log Message: Explanatory text. --- NEW FILE --- This program exercises the server in ../UmlRepository which must have been built before compiling this program. It should give you a flavour of how the IDL interfaces are structured and hence how to write a proper UML client-side tool. What more? OK. Type make. Start up the server in another xterm (from ../UmlRepository type freecase start). If it works properly you should get a warning along the lines of : "warning: cannot bind to Naming Service at inet:zmower:12456." If you get more errors than than do a freecase restart. Finally invoke ./runMe which should output : found factory new core object created obtained class class ref calling create class created class named MyFirstClass and is_leaf attribute set to 1 sequence of all classes is length 1 found class MyFirstClass at index 0 sequence of all model elements is length 1 found model elements MyFirstClass at index 0 attibute created |
From: Gerard F. <ger...@us...> - 2000-11-20 21:38:49
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/requirements In directory slayer.i.sourceforge.net:/tmp/cvs-serv20647 Modified Files: requirements.xml requirements_kumlgui.xml Log Message: Version 0.6. Index: requirements.xml =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/requirements.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** requirements.xml 2000/10/31 05:56:38 1.6 --- requirements.xml 2000/11/20 21:38:44 1.7 *************** *** 24,28 **** <!-- The current maintainer is Gerard Flynn <ger...@fr...> --> ! <PROJECT name = "kuml" version = "0.5"> <DESCRIPTION> The kUML project aims to produce a general purpose graphical UML modeling --- 24,28 ---- <!-- The current maintainer is Gerard Flynn <ger...@fr...> --> ! <PROJECT name = "kuml" version = "0.6"> <DESCRIPTION> The kUML project aims to produce a general purpose graphical UML modeling Index: requirements_kumlgui.xml =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/requirements_kumlgui.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** requirements_kumlgui.xml 2000/11/01 09:04:27 1.2 --- requirements_kumlgui.xml 2000/11/20 21:38:44 1.3 *************** *** 396,402 **** </REQUIREMENT> - - </REQUIREMENT> </PRODUCT> --- 396,415 ---- </REQUIREMENT> </REQUIREMENT> + + <REQUIREMENT product = "&APP;" req_id = "43" priority = "3"> + <DESCRIPTION> + &APP; shall provide support for design patterns. + </DESCRIPTION> + <RATIONALE></RATIONALE> + <DETAIL> + </DETAIL> + <NOTE> + The design patterns may be made applyable by drag'n'drop on classes. If + you drag the singleton pattern on a class all necessary class members will + be added to the class like a private constructor, a static getter function + to obtain the handle of the singleton object and so on. + </NOTE> + </REQUIREMENT> </PRODUCT> |
From: Thomas F. <tfo...@us...> - 2000-11-09 13:43:02
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/usecases In directory slayer.i.sourceforge.net:/tmp/cvs-serv24242 Modified Files: uc2html.xsl Log Message: Fixed bug when <<used>> use case is deleted Index: uc2html.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/usecases/uc2html.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** uc2html.xsl 2000/11/09 13:28:28 1.2 --- uc2html.xsl 2000/11/09 13:42:59 1.3 *************** *** 143,147 **** --- 143,154 ---- <xsl:variable name="filename" select="concat('uc',@ref,'.html')"/> <xsl:variable name="ucref" select="@ref"/> + <xsl:choose> + <xsl:when test="not(//usecase[@id=$ucref]/@status='deleted')"> «uses» <a href="{$filename}"><xsl:value-of select="//usecase[@id=$ucref]/@name"/></a> + </xsl:when> + <xsl:otherwise> + «uses» <xsl:value-of select="//usecase[@id=$ucref]/@name"/> (DELETED) + </xsl:otherwise> + </xsl:choose> </xsl:template> |
From: Thomas F. <tfo...@us...> - 2000-11-09 13:28:32
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/usecases In directory slayer.i.sourceforge.net:/tmp/cvs-serv23248 Modified Files: uc.dtd uc.xml uc2html.xsl Log Message: Added a status to actors and use cases Index: uc.dtd =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/usecases/uc.dtd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** uc.dtd 2000/11/08 14:11:52 1.1 --- uc.dtd 2000/11/09 13:28:28 1.2 *************** *** 22,25 **** --- 22,26 ---- id CDATA #REQUIRED name CDATA #REQUIRED + status (proposed|accepted|deleted) #REQUIRED > *************** *** 35,38 **** --- 36,40 ---- name CDATA #REQUIRED extend CDATA "" + status (proposed|accepted|deleted) #REQUIRED > Index: uc.xml =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/usecases/uc.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** uc.xml 2000/11/08 14:11:52 1.1 --- uc.xml 2000/11/09 13:28:28 1.2 *************** *** 8,12 **** <!--**********************--> ! <actor id="1" name="User"> <short>A user of the GUI program</short> <description>This is a general user of the GUI program. In a generalization hierarchy it would be the root element for actors which interact with the GUI --- 8,12 ---- <!--**********************--> ! <actor id="1" name="User" status="proposed"> <short>A user of the GUI program</short> <description>This is a general user of the GUI program. In a generalization hierarchy it would be the root element for actors which interact with the GUI *************** *** 14,18 **** </actor> ! <actor id="2" name="Project Administrator"> <short>A project administrator which uses the GUI</short> <description> --- 14,18 ---- </actor> ! <actor id="2" name="Project Administrator" status="proposed"> <short>A project administrator which uses the GUI</short> <description> *************** *** 22,34 **** </actor> ! <actor id="3" name="Developer"> <short>A Software Developer</short> </actor> ! <actor id="4" name="Analyst"> <short>An Analyst</short> </actor> ! <actor id="5" name="Designer"> <short>A Systems Designer</short> </actor> --- 22,34 ---- </actor> ! <actor id="3" name="Developer" status="proposed"> <short>A Software Developer</short> </actor> ! <actor id="4" name="Analyst" status="proposed"> <short>An Analyst</short> </actor> ! <actor id="5" name="Designer" status="proposed"> <short>A Systems Designer</short> </actor> *************** *** 38,42 **** <!--*******************--> ! <usecase id="uc1" name="New Project"> <actorref ref="2"/> <short>Create an empty project</short> --- 38,42 ---- <!--*******************--> ! <usecase id="uc1" name="New Project" status="proposed"> <actorref ref="2"/> <short>Create an empty project</short> *************** *** 45,49 **** </usecase> ! <usecase id="uc2" name="Load Project"> <actorref ref="1"/> <short>Load a project from file</short> --- 45,49 ---- </usecase> ! <usecase id="uc2" name="Load Project" status="proposed"> <actorref ref="1"/> <short>Load a project from file</short> *************** *** 54,58 **** </usecase> ! <usecase id="uc3" name="Save Project"> <actorref ref="1"/> <short>Save a project to file</short> --- 54,58 ---- </usecase> ! <usecase id="uc3" name="Save Project" status="proposed"> <actorref ref="1"/> <short>Save a project to file</short> *************** *** 62,66 **** </usecase> ! <usecase id="uc4" name="Save Project As"> <actorref ref="1"/> <short>Save a project under new name</short> --- 62,66 ---- </usecase> ! <usecase id="uc4" name="Save Project As" status="proposed"> <actorref ref="1"/> <short>Save a project under new name</short> *************** *** 70,74 **** </usecase> ! <usecase id="uc5" name="Close Project"> <actorref ref="1"/> <short>Close the current project</short> --- 70,74 ---- </usecase> ! <usecase id="uc5" name="Close Project" status="proposed"> <actorref ref="1"/> <short>Close the current project</short> *************** *** 78,82 **** </usecase> ! <usecase id="uc6" name="Close Modified Project" extend="xp3"> <short>Close a modified but not saved project</short> <step>systems warns user that project is not saved yet and provides yes/no decision to save the project</step> --- 78,82 ---- </usecase> ! <usecase id="uc6" name="Close Modified Project" extend="xp3" status="proposed"> <short>Close a modified but not saved project</short> <step>systems warns user that project is not saved yet and provides yes/no decision to save the project</step> *************** *** 84,88 **** </usecase> ! <usecase id="uc7" name="Exit Program"> <actorref ref="1"/> <short>Exit the GUI program</short> --- 84,88 ---- </usecase> ! <usecase id="uc7" name="Exit Program" status="proposed"> <actorref ref="1"/> <short>Exit the GUI program</short> *************** *** 92,96 **** </usecase> ! <usecase id="uc8" name="Add Diagram"> <actorref ref="1"/> <short>Add a new diagram to the model</short> --- 92,96 ---- </usecase> ! <usecase id="uc8" name="Add Diagram" status="proposed"> <actorref ref="1"/> <short>Add a new diagram to the model</short> Index: uc2html.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/usecases/uc2html.xsl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** uc2html.xsl 2000/11/08 14:11:52 1.1 --- uc2html.xsl 2000/11/09 13:28:28 1.2 *************** *** 19,23 **** <table bgcolor="#cccccc" cellpadding="3" cellspacing="1" width="100%"> <tr bgcolor="#aaaaaa"> ! <th>id</th><th>name</th><th>description</th> </tr> <xsl:apply-templates select="//actor" mode="index"> --- 19,23 ---- <table bgcolor="#cccccc" cellpadding="3" cellspacing="1" width="100%"> <tr bgcolor="#aaaaaa"> ! <th>id</th><th>name</th><th>description</th><th>status</th> </tr> <xsl:apply-templates select="//actor" mode="index"> *************** *** 28,32 **** <table bgcolor="#cccccc" cellpadding="3" cellspacing="1" width="100%"> <tr bgcolor="#aaaaaa"> ! <th>id</th><th>name</th><th>description</th><th>type</th> </tr> <xsl:apply-templates select="//usecase" mode="index"> --- 28,32 ---- <table bgcolor="#cccccc" cellpadding="3" cellspacing="1" width="100%"> <tr bgcolor="#aaaaaa"> ! <th>id</th><th>name</th><th>description</th><th>type</th><th>status</th> </tr> <xsl:apply-templates select="//usecase" mode="index"> *************** *** 44,47 **** --- 44,48 ---- <xsl:template match="actor" mode="index"> + <xsl:if test="not(@status='deleted')"> <xsl:variable name="filename" select="concat('actor',@id,'.html')"/> <tr> *************** *** 49,56 **** --- 50,60 ---- <td><a href="{$filename}"><xsl:value-of select="@name"/></a></td> <td><xsl:apply-templates select="short"/></td> + <td><xsl:value-of select="@status"/></td> </tr> + </xsl:if> </xsl:template> <xsl:template match="actor" mode="file"> + <xsl:if test="not(@status='deleted')"> <xsl:variable name="filename" select="concat('actor',@id,'.html')"/> <xsl:message>Writing <xsl:value-of select="$filename"/></xsl:message> *************** *** 72,78 **** --- 76,84 ---- </xalan:write> <xsl:message>Done</xsl:message> + </xsl:if> </xsl:template> <xsl:template match="usecase" mode="index"> + <xsl:if test="not(@status='deleted')"> <xsl:variable name="filename" select="concat('uc',@id,'.html')"/> <tr> *************** *** 88,95 **** --- 94,104 ---- </xsl:otherwise> </xsl:choose> + <td><xsl:value-of select="@status"/></td> </tr> + </xsl:if> </xsl:template> <xsl:template match="usecase" mode="file"> + <xsl:if test="not(@status='deleted')"> <xsl:variable name="filename" select="concat('uc',@id,'.html')"/> <xsl:message>Writing <xsl:value-of select="$filename"/></xsl:message> *************** *** 123,126 **** --- 132,136 ---- </xalan:write> <xsl:message>Done</xsl:message> + </xsl:if> </xsl:template> |
From: Thomas F. <tfo...@us...> - 2000-11-08 14:12:11
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/usecases In directory slayer.i.sourceforge.net:/tmp/cvs-serv1658 Added Files: README uc.dtd uc.xml uc2html.xsl Log Message: Added use case document --- NEW FILE --- This directory contains an XML based use case document for the kuml project. It consists of the following files : --uc.dtd the use case DTD --uc.xml the proposed use case document --uc2html.xsl an XSL stylesheet for creating an HTML version of the use case XML document. --README this readme If you want to add/modify use cases, edit uc.xml. Please look at uc.dtd first which contains some comments on the intended semantics of the different elements. To regenerate the HTML file you need the java version of the Xalan XSLT processor (http://xml.apache.org/xalan/index.html). The command line then is: >java org.apache.xalan.xslt.Process -in uc.xml -xsl uc2html.xsl After the processing there should be one index.html file and 1 html file per actor and use case. --- NEW FILE --- <?xml version="1.0" encoding="ISO-8859-1" ?> <!ELEMENT root ((actor|usecase)*) > <!-- A short description of an actor or use case for indices --> <!ELEMENT short (#PCDATA)> <!-- Long description of an actor or use case action--> <!ELEMENT description (#PCDATA|p)*> <!-- Matches to <p>...</p> in HTML --> <!ELEMENT p (#PCDATA)> <!-- ***************************************************** --> <!-- Actors --> <!-- ***************************************************** --> <!ELEMENT actor (short,description?) > <!ATTLIST actor id CDATA #REQUIRED name CDATA #REQUIRED > <!-- ***************************************************** --> <!-- Use Cases --> <!-- ***************************************************** --> <!-- A usecase. name & id should be clear. (optional) extend holds the id of an extension point --> <!ELEMENT usecase (actorref*,short,(description|step*)) > <!ATTLIST usecase id CDATA #REQUIRED name CDATA #REQUIRED extend CDATA "" > <!-- A reference to an actor which uses the use case --> <!ELEMENT actorref EMPTY> <!ATTLIST actorref ref CDATA #REQUIRED > <!-- A single use case step --> <!ELEMENT step (#PCDATA|uses|xp)* > <!-- Stores reference to used(included) use case --> <!ELEMENT uses EMPTY > <!ATTLIST uses ref CDATA #REQUIRED > <!-- An extension point in a use case --> <!ELEMENT xp (#PCDATA) > <!ATTLIST xp id CDATA #REQUIRED > --- NEW FILE --- <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE root SYSTEM "uc.dtd"> <root> <!--**********************--> <!-- Actors of the system --> <!--**********************--> <actor id="1" name="User"> <short>A user of the GUI program</short> <description>This is a general user of the GUI program. In a generalization hierarchy it would be the root element for actors which interact with the GUI </description> </actor> <actor id="2" name="Project Administrator"> <short>A project administrator which uses the GUI</short> <description> <p>The user which fires up a project, gives it a name and administers the project team.</p> <p>For doing that he has some extra rights in the system</p> </description> </actor> <actor id="3" name="Developer"> <short>A Software Developer</short> </actor> <actor id="4" name="Analyst"> <short>An Analyst</short> </actor> <actor id="5" name="Designer"> <short>A Systems Designer</short> </actor> <!--*******************--> <!-- List of Use Cases --> <!--*******************--> <usecase id="uc1" name="New Project"> <actorref ref="2"/> <short>Create an empty project</short> <step>system creates empty project in memory</step> <step>system adapts UI</step> </usecase> <usecase id="uc2" name="Load Project"> <actorref ref="1"/> <short>Load a project from file</short> <step><xp id="xp3">Current project is modified but not saved</xp></step> <step>System prompts for filename</step> <step>User enters filename</step> <step>System creates project in memory with information from file</step> </usecase> <usecase id="uc3" name="Save Project"> <actorref ref="1"/> <short>Save a project to file</short> <step><xp id="xp1">Project not named yet</xp></step> <step><xp id="xp2">Project not modified</xp></step> <step>System saves modified model parts to file</step> </usecase> <usecase id="uc4" name="Save Project As"> <actorref ref="1"/> <short>Save a project under new name</short> <step>System prompts for project file name</step> <step>User enters filename</step> <step>System saves memory model to file</step> </usecase> <usecase id="uc5" name="Close Project"> <actorref ref="1"/> <short>Close the current project</short> <step><xp id="xp3">Project is modified but not saved</xp></step> <step>system discards model in memory</step> <step>system adapts UI</step> </usecase> <usecase id="uc6" name="Close Modified Project" extend="xp3"> <short>Close a modified but not saved project</short> <step>systems warns user that project is not saved yet and provides yes/no decision to save the project</step> <step>If user chooses 'yes' <uses ref="uc3"/></step> </usecase> <usecase id="uc7" name="Exit Program"> <actorref ref="1"/> <short>Exit the GUI program</short> <step><uses ref="uc5"/></step> <step>system stores persistent configuration information</step> <step>system exits with exitcode 0</step> </usecase> <usecase id="uc8" name="Add Diagram"> <actorref ref="1"/> <short>Add a new diagram to the model</short> <step>User selects a classifier to put diagram in</step> <step>System prompts for diagram type</step> <step>user defines diagram type</step> <step>system creates empty diagram as child of the selected classifier</step> <step>system makes new diagram current and adapts the UI</step> </usecase> </root> --- NEW FILE --- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" extension-element-prefixes="xalan" > <xsl:output method="html"/> <xsl:template match="/"> <!-- create index file --> <xsl:message>Writing index.html</xsl:message> <xalan:write file="index.html"> <html> <head></head> <body bgcolor="#ffffff" link="#8B0000" vlink="#3662B4"> <h1>Use Case Documentation for kUML</h1> <h3>Actors</h3> <table bgcolor="#cccccc" cellpadding="3" cellspacing="1" width="100%"> <tr bgcolor="#aaaaaa"> <th>id</th><th>name</th><th>description</th> </tr> <xsl:apply-templates select="//actor" mode="index"> <xsl:sort select="@name"/> </xsl:apply-templates> </table> <h3>Use Cases</h3> <table bgcolor="#cccccc" cellpadding="3" cellspacing="1" width="100%"> <tr bgcolor="#aaaaaa"> <th>id</th><th>name</th><th>description</th><th>type</th> </tr> <xsl:apply-templates select="//usecase" mode="index"> <xsl:sort select="not(actorref)" /> <xsl:sort select="@name"/> </xsl:apply-templates> </table> </body></html> </xalan:write> <xsl:message>Done</xsl:message> <!-- Create single files for use cases and actors --> <xsl:apply-templates mode="file"/> </xsl:template> <xsl:template match="actor" mode="index"> <xsl:variable name="filename" select="concat('actor',@id,'.html')"/> <tr> <td><xsl:value-of select="@id"/></td> <td><a href="{$filename}"><xsl:value-of select="@name"/></a></td> <td><xsl:apply-templates select="short"/></td> </tr> </xsl:template> <xsl:template match="actor" mode="file"> <xsl:variable name="filename" select="concat('actor',@id,'.html')"/> <xsl:message>Writing <xsl:value-of select="$filename"/></xsl:message> <xalan:write file="{$filename}"> <html><head></head> <body bgcolor="#ffffff" link="#8B0000" vlink="#3662B4"> <p><a href="index.html">Index</a></p> <h1><xsl:value-of select="@id"/> - <xsl:value-of select="@name"/></h1> <xsl:choose> <xsl:when test="description"> <xsl:apply-templates select="description"/> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="short"/> </xsl:otherwise> </xsl:choose> </body> </html> </xalan:write> <xsl:message>Done</xsl:message> </xsl:template> <xsl:template match="usecase" mode="index"> <xsl:variable name="filename" select="concat('uc',@id,'.html')"/> <tr> <td><xsl:value-of select="@id"/></td> <td><a href="{$filename}"><xsl:value-of select="@name"/></a></td> <td><xsl:apply-templates select="short"/></td> <xsl:choose> <xsl:when test="actorref"> <td>primary</td> </xsl:when> <xsl:otherwise> <td>secondary</td> </xsl:otherwise> </xsl:choose> </tr> </xsl:template> <xsl:template match="usecase" mode="file"> <xsl:variable name="filename" select="concat('uc',@id,'.html')"/> <xsl:message>Writing <xsl:value-of select="$filename"/></xsl:message> <xalan:write file="{$filename}"> <html><head></head> <body bgcolor="#ffffff" link="#8B0000" vlink="#3662B4"> <p><a href="index.html">Index</a></p> <h1><xsl:value-of select="@id"/> - <xsl:value-of select="@name"/></h1> <xsl:if test="actorref"> <h4>Actors involved</h4> <table> <xsl:apply-templates select="actorref"/> </table> </xsl:if> <xsl:if test="not(@extend='')"> Replace extension point <b><xsl:value-of select="@extend"/></b> of extended use case with </xsl:if> <xsl:choose> <xsl:when test="description"> <xsl:apply-templates select="description"/> </xsl:when> <xsl:when test="step"> <h4>Sequence</h4> <table bgcolor="#cccccc" cellpadding="3" cellspacing="1"> <xsl:apply-templates select="step"/> </table> </xsl:when> </xsl:choose> </body> </html> </xalan:write> <xsl:message>Done</xsl:message> </xsl:template> <xsl:template match="step"> <tr><td><xsl:value-of select="position(.)"/>.</td> <td><xsl:apply-templates/></td></tr> </xsl:template> <xsl:template match="uses"> <xsl:variable name="filename" select="concat('uc',@ref,'.html')"/> <xsl:variable name="ucref" select="@ref"/> «uses» <a href="{$filename}"><xsl:value-of select="//usecase[@id=$ucref]/@name"/></a> </xsl:template> <xsl:template match="xp"> <b>Extension Point <xsl:value-of select="@id"/>: </b> <xsl:apply-templates/> </xsl:template> <xsl:template match="actorref"> <xsl:variable name="acref" select="@ref"/> <xsl:apply-templates select="//actor[@id=$acref]" mode="index"/> </xsl:template> <xsl:template match="description"> <h4>Description</h4> <xsl:apply-templates/> </xsl:template> <xsl:template match="p"> <p><xsl:value-of select="."/></p> </xsl:template> </xsl:stylesheet> |
From: Thomas F. <tfo...@us...> - 2000-11-08 14:06:24
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/usecases In directory slayer.i.sourceforge.net:/tmp/cvs-serv1178/usecases Log Message: Directory /cvsroot/kuml/kuml/docs/developer/analysis/usecases added to the repository |
From: Chris M. <zm...@us...> - 2000-11-03 23:23:02
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory slayer.i.sourceforge.net:/tmp/cvs-serv8449/uml/tools Added Files: autogen.awk Log Message: Stage 1 of autogenerator. Stage 2 will include full gen of associations. --- NEW FILE --- BEGIN{ # Separate records at the closing curly bracket RS="};" } # Given a "Namespace::typename string", return the Namespace part # Deals with A::B::typename correctly. :=) function namespace(in_string, pos) { pos = match(in_string, /[A-Za-z:]*::/) return substr(in_string, pos, RLENGTH-2); } # Given a "Namespace::typename" string, return the typename part # Deals with A::B::typename correctly. :=) function typename(in_string, out_str) { out_str = in_string sub(/^[A-Za-z:]*::/, "", out_str) sub(/,$/, "", out_str) return out_str } # Given a "set_attribute(" string, return the attribute part function attr_name(in_string, out_str) { # len = length(in_string) # return substr(in_string, 5, len-5) out_str = in_string sub(/^set_/, "", out_str) sub(/\($/, "", out_str) return out_str } # Given a "attribute()" string, return the attributes name. function method_name_to_attr(in_string, out_str) { out_str = in_string sub(/\(.*/, "", out_str) sub(/^_cxx_/, "", out_str) sub(/_ref$/, "", out_str) return out_str } # Loop through the fields, determining structure. { # Deal with very last record if ($1 == "#endif") exit base = 1 # Skip the include at the top of the file if ($1 == "#ifndef") { top_include = $6 base += 6 } # While there are still comments, skip over them while ($base == "//") { cmmnt = base current_class = $(base + 4) base += 5 } if (current_class ~ /^A[A-Z]/) { class_is_association = 1 } else { class_is_association = 0 } virtual_start = base + 3 virtual_next = virtual_start while ($virtual_next == "virtual") { virtual_next += 3 } method_decl = virtual_next + 2 # For each method declaration for (ind = 1; method_decl < NF; ind++) { ret_type[ind] = method_decl method_name = method_decl + 1 saved_method_name[ind] = method_name # Initialise the string used to build the first line # of the method declaration decl1 = $method_name if ($method_name ~ /\(\)/ ) { has_params[ind] = 0 param_next = method_name } else { has_params[ind] = 1 param_start[ind] = method_name + 1 param_next = param_start[ind] do { if ($param_next == "const") { decl1 = decl1 " " $param_next " " $(param_next+1) " " $(param_next+2) param_next += 3 } else { decl1 = decl1 " " $param_next " " $(param_next+1) param_next += 2 } } while ($param_next != ")") decl1 = decl1 " )" } decl_line1[ind] = decl1 possible_throw = param_next + 1 if ($possible_throw == "throw(") { raises_exceptions[ind] = 1 excpt_start[ind] = possible_throw + 1 excpt_next = excpt_start[ind] while ($excpt_next != ";") { excpt_next++ } method_decl = excpt_next + 1 } else { raises_exceptions[ind] = 0 method_decl = possible_throw } } # end main for loop max_ind = ind -1 } # So now we have: # current_class Name of the current class # full_type The full interface type declaration # class_is_association Boolean # top_include The filename included at the very top of the header file # decl_line1[ind] The first line of a method declaration # max_ind The nuber of methods # (The following mostly hold field numbers) # cmmnt The start of the comment that introduces the class # virtual_start The start of the inheritance part of the class defn # ret_type[ind] Array of method return values # saved_method_name[ind] # has_params[ind] Boolean # param_start[ind] # raises_exceptions[ind] Boolean # excpt_start[ind] { # Output the _impl.h file prefix = "fc_" # Output standard ifndef/define header pattern h_file = current_class "_impl.h" upper_case_class = toupper(current_class) print ("#ifndef __" upper_case_class "_H__") > h_file print ("#define __" upper_case_class "_H__") >> h_file print "" >> h_file # Process superclasses to generate includes virtual_next = virtual_start while ($virtual_next == "virtual") { inherited = virtual_next + 2 if ($inherited ~ /^Ref[A-Z]/) { print "#include \"Reflective_impl.h\"" >> h_file print "" >> h_file } else { if ($inherited ~ /^POA_/) { print "#include " top_include >> h_file print "" >> h_file # Save full type for use in constructor implementation full_type = $inherited sub(/^POA_/, "", full_type) } else { tn = typename($inherited) print ( "#include \"" tn ".h\"" ) >> h_file print "" >> h_file } } virtual_next += 3 } # Output the comment print $cmmnt, $(cmmnt+1), $(cmmnt+2), $(cmmnt+3), $(cmmnt+4) >> h_file # Output start of class declaration print ($base " " $(base+1) " " $(base+2) " " ) >> h_file # Re-process superclasses, outputting them vn = virtual_start while ($vn == "virtual") { print " ", $vn, $(vn+1), $(vn+2) >> h_file vn += 3 } # Process the "{ public:" bit print "{" >> h_file print " public:" >> h_file # If the current class is a Package, output the constructor declaration. if (!class_is_association && (current_class ~ /Package$/ || current_class in all_types)) { print " " current_class "_impl();" >> h_file } if (!class_is_association) { print " ~" current_class "_impl();" >> h_file } # Output the menthod decls for (ind = 1; ind <= max_ind; ind++) { # There are two format output by the idl compiler # based on whether there are any exceptions or not. # I want to mimic this so the diffs wont be too big! if (raises_exceptions[ind]) { print "" >> h_file print " " $ret_type[ind] " " decl_line1[ind] >> h_file print " throw(" >> h_file excpt_next = excpt_start[ind] while ($excpt_next != ";") { print " ", $excpt_next >> h_file excpt_next++ } print " ;" >> h_file } else { print " " $ret_type[ind] " " decl_line1[ind] >> h_file } } print "" >> h_file print " protected:" >> h_file print "" >> h_file for (ind = 1; ind <= max_ind; ind++) { if ( $saved_method_name[ind] ~ /^all_of_class_/ ) { tn = $ret_type[ind] sub(/Set\*$/, "_ptr", tn) attr = $saved_method_name[ind] sub(/\(.*/, "", attr) print " static list<" tn "> " prefix attr ";" >> h_file # Store reference for use in determining constructor of *next* class class = current_class sub(/Class$/, "", class) all_classes[class] = attr } if ( $saved_method_name[ind] ~ /^all_of_type_/ ) { tn = $ret_type[ind] sub(/Set\*$/, "_ptr", tn) attr = $saved_method_name[ind] sub(/\(.*/, "", attr) print " static list<" tn "> " prefix attr ";" >> h_file # Store reference for use in determining destructor of *next* class class = current_class sub(/Class$/, "", class) all_types[class] = attr } } # Generate the private members. print "" >> h_file print " private:" >> h_file print "" >> h_file for (ind = 1; ind <= max_ind; ind++) { # Process all the set_ methods. if ( $saved_method_name[ind] ~ /^set_/ ) { attr = attr_name($saved_method_name[ind]) # Find the type of the parameter (there's only one in set_ methods) ps = param_start[ind] if ($ps == "const") param_type = ps+1 else param_type = ps # Generate a private attribute based on the type of param passed if ( $param_type ~ /Set\&$/ ) { tn = $param_type sub(/Set\&$/, "_ptr", tn) print " list<" tn "> " prefix attr ";" >> h_file } else { if ( $param_type ~ /UList\&$/ ) { tn = $param_type sub(/UList\&$/, "_ptr", tn) print " list<" tn "> " prefix attr ";" >> h_file } else { if ( $param_type ~ /_ptr$/ ) { print " " $param_type " " prefix attr ";" >> h_file } else { if ($param_type == "char*") { print " CORBA::String_var " prefix attr ";" >> h_file } else { pt = $param_type sub(/\&$/, "", pt) print " " pt " " prefix attr ";" >> h_file } } } } } # end of set_ methods # Deal with factory methods. if ( $saved_method_name[ind] ~ /_ref\(\);$/ ) { attr = $saved_method_name[ind] sub(/_ref\(\);$/, "", attr) retv = $ret_type[ind] print " " retv " " prefix attr ";" >> h_file } } # end of for loop # Print the field separator print "" >> h_file print "};" >> h_file print "" >> h_file print "#endif" >> h_file } # # C FILE # { # Output the _impl.cc file cc_file = current_class "_impl.cc" # Include the <class>_impl.h file h_incl_file = current_class "_impl" includes[h_incl_file] = 1 # If this class is a class proxy class (i.e. <class>Class) or a Factory, # we probably have a create_<class> method # which needs to include the header file defining the returned type. if ( current_class ~ /[A-Za-z]+Class/ || current_class ~ /Factory/ ) { for (ind = 1; ind <= max_ind; ind++) { if ($saved_method_name[ind] ~ /^create_/ ) { attr = typename($ret_type[ind]) sub(/_ptr$/, "_impl", attr) includes[attr] = 1 } } } include_list_ops = 0 if (current_class in all_classes || current_class in all_types) { include_list_ops = 1 } # If any of the methods return a set, include set ops header files. for (ind = 1; ind <= max_ind; ind++) { if ( $ret_type[ind] ~ /Set\*$/ || $ret_type[ind] ~ /UList\*$/ ) { include_list_ops = 1 break } } # Add includes for Package required by constructor. if (current_class ~ /Package$/ ) { for (ind = 1; ind <= max_ind; ind++) { if ($saved_method_name[ind] ~ /_ref\(\);/) { rt = typename($ret_type[ind]) sub(/_ptr/, "_impl", rt) includes[rt] = 1 } } } # Output the calculated includes. first_pass = 1 for (incs in includes) { if (first_pass) { print "#include \"" incs ".h\"" > cc_file first_pass = 0 } else { print "#include \"" incs ".h\"" >> cc_file } } if (include_list_ops) { print "#include \"copy_to_iseq.h\"" >> cc_file print "#include \"list_ops.h\"" >> cc_file } # Cleanup delete includes # Output the comment print "" >> cc_file print $cmmnt, $(cmmnt+1), $(cmmnt+2), $(cmmnt+3), $(cmmnt+4) >> cc_file print "" >> cc_file for (ind = 1; ind <= max_ind; ind++) { if ( $saved_method_name[ind] ~ /^all_of_type_/ || $saved_method_name[ind] ~ /^all_of_class_/ ) { # $saved_method_name[ind] ~ /^all_[a-z_]*_links()/ ) { tn = $ret_type[ind] if (class_is_association) { sub(/LinkSet\*$/, "_ptr", tn) } else { sub(/Set\*$/, "_ptr", tn) } attr = $saved_method_name[ind] sub(/\(.*/, "", attr) print "list<" tn "> " \ current_class "_impl::" prefix attr ";\n" >> cc_file } } # If the current class is a package, output the constructor implementation. if (current_class ~ /Package$/) { print current_class "_impl::" current_class "_impl() {" >> cc_file for (ind = 1; ind <= max_ind; ind++) { rt = typename($ret_type[ind]) sub(/_ptr$/, "", rt) attr = method_name_to_attr($saved_method_name[ind]) print " " rt "_impl* local_" attr " = new " rt "_impl;" >> cc_file print " " prefix attr " = local_" attr "->_this();" >> cc_file } print "};\n" >> cc_file } else { # If need to add class to <class>Class sequence. if (current_class in all_types) { print current_class "_impl::" current_class "_impl() {" >> cc_file print " " prefix all_types[current_class] ".push_back(" >> cc_file print " " full_type "::_duplicate(_this()));" >> cc_file print "};\n" >> cc_file } } # Output the destructor implementation. if (!class_is_association) { print current_class "_impl::~" current_class "_impl() {" >> cc_file for (ind = 1; ind <= max_ind; ind++) { rt = $ret_type[ind] if (rt ~ /_ptr$/ && current_class !~ /Factory$/ && $saved_method_name[ind] !~ /^create_/) { sub(/_ptr$/, "", rt) attr = method_name_to_attr($saved_method_name[ind]) print " if (!CORBA::is_nil(" prefix attr "))" >> cc_file print " CORBA::release(" prefix attr ");" >> cc_file } if (rt ~ /Set\*/) { # need another template to free set. } } if (current_class in all_types) { print " remove_list_elem(" \ prefix all_types[current_class] \ ", _this());" >> cc_file } if (current_class in all_classes) { print " remove_list_elem(" \ prefix all_classes[current_class] \ ", _this());" >> cc_file } print "};\n" >> cc_file } # Output the method declaration part. for (ind = 1; ind <= max_ind; ind++) { print $ret_type[ind] >> cc_file decl1 = decl_line1[ind] sub(/;$/, "", decl1) print current_class "_impl::" decl1 >> cc_file if (raises_exceptions[ind]) { print " throw(" >> cc_file excpt_next = excpt_start[ind] while ($excpt_next != ";") { print " " $excpt_next >> cc_file excpt_next++ } } # Holy moley. You've followed things so far? # Weell, now things get INTERESTING... # THE IMPLEMENTATIONS -> matched = 0 if (!class_is_association) { if ($saved_method_name[ind] ~ /^all_of_type_/ || $saved_method_name[ind] ~ /^all_of_class_/ || $ret_type[ind] ~ /Set\*$/ || $ret_type[ind] ~ /UList\*$/ ) { matched++ name = prefix $saved_method_name[ind] sub(/\(.*/, "", name) tn = $ret_type[ind] sub(/\*$/, "", tn) print "{ " tn "_var seq = new " tn ";" >> cc_file print " copy_to_seq(seq, " name ");" >> cc_file print " return seq._retn();" >> cc_file } if ( $saved_method_name[ind] ~ /^create_/ ) { matched++ rc = typename($ret_type[ind]) sub(/_ptr$/, "", rc) print "{ " rc "_impl* impl = new " rc "_impl;" >> cc_file print " " $ret_type[ind] " retval = impl->_this();" >> cc_file if (has_params[ind]) { # Loop through parameters, setting attributes. param_next = param_start[ind] do { if ($param_next == "const") { attr = $(param_next+2) param_next += 3 } else { attr = $(param_next+1) param_next += 2 } sub(/,$/, "", attr) print " impl->set_" attr "(" attr ");" >> cc_file } while ($param_next != ")") } # end has_params for (ind2 = 1; ind2 <= max_ind; ind2++) { if ($saved_method_name[ind2] ~ /^all_of_class_/) { attr = $saved_method_name[ind2] sub(/\(.*/, "", attr) rt = $ret_type[ind] sub(/_ptr$/, "", rt) print " " prefix attr ".push_back(" \ rt "::_duplicate(retval));" >> cc_file } } print " return retval;" >> cc_file } if ($saved_method_name[ind] ~ /^set_/ ) { matched++ attr = attr_name($saved_method_name[ind]) ps = param_start[ind] # if not const char* or a simple type from the DataTypes package.. if ( $ps == "const" && $(ps+1) != "char*" && $(ps+1) !~ /^Foundation::DataTypes::/ ) { print "{ set_list_from_seq(" prefix attr ", new_value);" >> cc_file } else { print "{ " prefix attr " = new_value;" >> cc_file } } if ($saved_method_name[ind] ~ /^unset_/ ) { matched++ # Work out the attributes name from method name attr = $saved_method_name[ind] sub(/^unset_/, "", attr) sub(/\(.*/, "", attr) # Yikes. Look at the previous set_methods parameter. tn = $param_start[ind-1] # Deal with unset_constrained_element if (tn == "const") { print "{ " prefix attr ".clear();" >> cc_file } else { sub(/_ptr$/, "", tn) print "{ if (!CORBA::is_nil(" prefix attr \ ")) CORBA::release(" prefix attr ");" >> cc_file print " " prefix attr " = " tn "::_nil();" >> cc_file } } if ($saved_method_name[ind] ~ /^add_/ ) { matched++ attr = $saved_method_name[ind] if (attr ~ /_before\($/) { sub(/^add_/, "", attr) sub(/_before\($/, "", attr) print "{ add_list_elem_before(" prefix attr \ ", new_element, before_element);" >> cc_file } else { # Work out the attributes name from method name sub(/^add_/, "", attr) sub(/\(.*/, "", attr) print "{ add_list_elem(" prefix attr ", new_element);" >> cc_file } } if ($saved_method_name[ind] ~ /^modify_/ ) { matched++ # Work out the attributes name from method name attr = $saved_method_name[ind] sub(/^modify_/, "", attr) sub(/\(.*/, "", attr) print "{ replace_list_elem(" prefix attr \ ", old_element, new_element);" >> cc_file } if ($saved_method_name[ind] ~ /^remove_/ ) { matched++ # Work out the attributes name from method name attr = $saved_method_name[ind] sub(/^remove_/, "", attr) sub(/\(.*/, "", attr) print "{ remove_list_elem(" prefix attr \ ", old_element);" >> cc_file } if ($saved_method_name[ind] ~ /_ref\(\);/ ) { matched++ rt = $ret_type[ind] sub(/_ptr$/, "", rt) attr = $saved_method_name[ind] sub(/_ref\(\);$/, "", attr) print "{ return " rt "::_duplicate(" prefix attr ");" >> cc_file # print "{ return " prefix attr ";" >> cc_file } # If the *next* method is a set_ one and # this one refers to the same attr # i.e. we have the one that returns the attrs value if (!matched && $saved_method_name[ind+1] ~ /^set_/ ) { ret_name = method_name_to_attr($saved_method_name[ind]) set_name = $saved_method_name[ind+1] sub(/^set_/, "", set_name) sub(/\(.*/, "", set_name) if ( ret_name == set_name ) { matched++ if ($ret_type[ind] == "char*") { print "{ CORBA::String_var str;" >> cc_file print " str = " prefix ret_name ";" >> cc_file print " return str._retn();" >> cc_file } else { if ( $ret_type[ind] ~ /\*$/ ) { rt = $ret_type[ind] sub(/\*$/, "", rt) print "{ " $ret_type[ind] " retv = new " rt ";" >> cc_file print " *retv = " prefix ret_name ";" >> cc_file print " return retv;" >> cc_file } else { print "\{ return " prefix ret_name ";" >> cc_file } } } } } # else class is an association if (!matched) { print "{ mico_throw(::CORBA::NO_IMPLEMENT());" >> cc_file } print "}" >> cc_file print "" >> cc_file } # end of method for loop } # end section { delete ret_type delete saved_method_name delete has_params delete param_start delete decl_line1 delete raises_exceptions delete excpt_start } |
From: Gerard F. <ger...@us...> - 2000-11-01 15:23:51
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/requirements In directory slayer.i.sourceforge.net:/tmp/cvs-serv20759 Modified Files: kuml_design_to_html.xsl Log Message: Fixed HTML bug Index: kuml_design_to_html.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/kuml_design_to_html.xsl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** kuml_design_to_html.xsl 2000/10/31 05:56:38 1.5 --- kuml_design_to_html.xsl 2000/11/01 15:23:40 1.6 *************** *** 254,262 **** <TABLE width = "100%" border = "2" frame = "box" rules = "none" cellspacing = "0"> <THEAD> - <TR colspan = "6"> - <DIV align = "center"> - <H2>SUB-REQUIREMENTS</H2> - </DIV> - </TR> <TR> <TH>ID</TH> --- 254,257 ---- |
From: Gerard F. <ger...@us...> - 2000-11-01 09:04:30
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/requirements In directory slayer.i.sourceforge.net:/tmp/cvs-serv14633 Modified Files: requirements_kumlgui.xml Log Message: Fixed typo in requirements_kumlgui.xml Index: requirements_kumlgui.xml =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/requirements_kumlgui.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** requirements_kumlgui.xml 2000/10/31 05:56:38 1.1 --- requirements_kumlgui.xml 2000/11/01 09:04:27 1.2 *************** *** 368,372 **** <REQUIREMENT product = "&APP;" req_id = "42" priority = "1"> <DESCRIPTION> ! &APP; shall prodide functionality for viewing and navigating diagrams at different levels of scale/detail. </DESCRIPTION> --- 368,372 ---- <REQUIREMENT product = "&APP;" req_id = "42" priority = "1"> <DESCRIPTION> ! &APP; shall provide functionality for viewing and navigating diagrams at different levels of scale/detail. </DESCRIPTION> |
From: Gerard F. <ger...@us...> - 2000-10-31 05:56:41
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/requirements In directory slayer.i.sourceforge.net:/tmp/cvs-serv30697 Modified Files: kuml_design.dtd kuml_design_to_html.xsl requirements.xml Added Files: requirements_kumlgui.xml requirements_kumllib.xml Log Message: Version 0.5 of requirements doc. -source document split into 3 (main doc. plus 2 external entities) -supports linking of reqs from project to product level (inheritance) -supports sub-requirements -new reqs added (Ed and Thomas) --- NEW FILE --- <?xml version="1.0" encoding = "ISO-8859-1" ?> <!-- ***************************************************************** --> <!-- WORKING DRAFT --> <!-- ***************************************************************** --> <!-- NOTE: ONLY THE REQUIREMENTS LIST MAINTAINER SHOULD COMMIT CHANGES --> <!-- TO THIS DOCUMENT. --> <!-- ***************************************************************** --> <!-- If you would like to propose a change to this document --> <!-- post your proposal to the kuml-devel mailing list --> <!-- (kum...@ba...). --> <!-- The current maintainer is Gerard Flynn <ger...@fr...> --> <PRODUCT name = "&APP;"> <DESCRIPTION> &APP; is a general purpose UML modeling tool. It will provide a powerful and easy to use user interface allowing the creation, modification and visualization of UML models represented as diagrams according to the notational conventions of UMLv1.3 chapter 3. It will also allow the user to navigate, view, create and modify models directly through table and/or tree based interfaces even if no diagrams or visualization elements have been defined. It will allow the storage of UML models as well as their accompanying presentation data in XMI files. It will be able to read model data from any XMI file which conforms to UMLv1.3. It will allow the exportation of diagrams in various graphical formats. </DESCRIPTION> <FULL_DESCRIPTION> <DETAIL> Based on KDE2/Qt2. </DETAIL> </FULL_DESCRIPTION> <REQ_LINK req_id = "11"/> <REQ_LINK req_id = "35"/> <REQ_LINK req_id = "14"/> <REQUIREMENT product = "&APP;" req_id = "7" priority = "1" status = "deleted"> <DESCRIPTION> &APP; is an end-user application which constitutes a general purpose UML modeling tool. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "8" priority = "1"> <DESCRIPTION> &APP; shall furnish an easy to use and intuitive GUI for creating and editing visual representations of UML models (diagrams). </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> <REQUIREMENT product = "&APP;" req_id = "8.1" priority = "1"> <!-- Was req 34 --> <DESCRIPTION> &APP; shall make clearly apparent to the user which actions will result in changes to the UML model and which actions will only change the visual presentations of that model. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> Ideally the application will never display a diagram in a way which suggests that the underlying model is not in a well-defined state (no dangling association line for example), even during user interaction. </NOTE> <NOTE> Separate tool bars might be provided for the two types of actions. </NOTE> <NOTE> A possible scenario for creating an association between 2 classes might be the following: <PAR>--the user selects an association creation tool</PAR> <PAR>--the user selects the first class member</PAR> <PAR>--the program changes the display in some way to indicate it is waiting for the second member of the association</PAR> <PAR>--the user selects the second class member</PAR> <PAR>--the program draws a line in some canonical form between the two classes</PAR> <PAR>--the user may select display tools to change the way the association is represented : class edge anchor points, diagonal lines, step lines or arcs, points by which the line passes, other visual attributes (color, thickness, etc.)</PAR> </NOTE> <NOTE> --the user should not be allowed to modify representations in ways that would conflict with ch. 3 of UMLv1.3 (at least not without warning). </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "8.2" priority = "2"> <!-- Was req 10 --> <DESCRIPTION> &APP; will be usable for completely documenting a model while maintaining diagram readability. This necessitates a highly flexible and user configurable mechanism for information hiding. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "8.3" priority = "2"> <!-- Was req 37 --> <DESCRIPTION> &APP; shall furnish a multi-level undo mechanism. The size of the undo history shall be customizable. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "8.4" priority = "2"> <!-- Was req 38 --> <DESCRIPTION> &APP; shall allow zooming and scaling of diagrams. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "8.5" priority = "2"> <!-- Was req 15 --> <DESCRIPTION> &APP; shall allow information sharing between diagrams. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> For example when a user adds a message to a colloboration diagram a corresponding method may be created if it does not yet exist in the object's class. </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "8.6" priority = "2"> <DESCRIPTION> &APP; shall provide user configurable functionality for information hiding. </DESCRIPTION> </REQUIREMENT> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "9" priority = "1" inherits = "35" status = "deleted"> <DESCRIPTION> &APP; shall allow the saving and loading of models and their corresponding visualization elements in XMI files. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "12" priority = "1"> <DESCRIPTION> &APP; shall respect the notational guidelines defined in UMLv1.3 </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "13" priority = "2"> <DESCRIPTION> &APP; shall support plugins for the exportation of diagrams in various graphic formats. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> <REQUIREMENT product = "&APP;" req_id = "13.1" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the exportation of diagrams in SVG format. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "13.2" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the exportation of diagrams in postscript format. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "13.3" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the exportation of diagrams in encapsulated postscript format. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "13.4" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the exportation of diagrams in PNG format. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "13.5" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the exportation of diagrams in GIF format. </DESCRIPTION> </REQUIREMENT> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "18" priority = "3"> <DESCRIPTION> &APP; shall be integrated in a complete IDE (kdevelop) using a component approach. &APP; will nonetheless be fully useable without the integrated IDE. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "19" priority = "2"> <DESCRIPTION> &APP; shall be integrated with KDE2. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> <REQUIREMENT req_id = "19.1" priority = "2"> <DESCRIPTION> &APP; shall furnish access to a KDE2 text editor as a component for editing the non-UML parts of project documentation. </DESCRIPTION> </REQUIREMENT> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "20" priority = "3" status = "deleted"> <!-- Superseded by requirement (3) --> <DESCRIPTION> &APP; shall furnish remote access to shared persistent model repositories. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "27" priority = "2"> <DESCRIPTION> &APP; shall support plugins for the generation of documents in various formats. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> <REQUIREMENT product = "&APP;" req_id = "27.1" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the generation of documents in postscript format. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "27.2" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the generation of documents in pdf format. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "27.3" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the generation of documents in ascii format. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "27.4" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the generation of documents in man format. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "27.5" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the generation of documents in texinfo format. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "27.6" priority = "2"> <DESCRIPTION> &APP; shall provide a plugin for the generation of documents in dvi format. </DESCRIPTION> </REQUIREMENT> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "32" priority = "1"> <DESCRIPTION> &APP; shall allow viewing and navigating UML models even if they contain no compatible presentation data. </DESCRIPTION> <RATIONALE> Provide a degree of limited compatibility with all applications which support XMI exported models. </RATIONALE> <DETAIL></DETAIL> <NOTE> May be done with a combination of hyperlinked table and tree views. </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "33" priority = "3"> <DESCRIPTION> &APP; shall allow the automatic generation of diagrams from UML model data alone. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL> User interface tools will be provided to allow the user to easily rearrange the automatically generated diagrams to suite his needs. </DETAIL> <DETAIL> The auto layout algorithm will be customizable. </DETAIL> <NOTE> This requires the use of some sort of auto-routing algorithm, perhaps similar to those used by circuit board layout tools. </NOTE> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "36" priority = "2"> <DESCRIPTION> &APP; shall allow printing of diagrams and documents. </DESCRIPTION> <REQUIREMENT product = "&APP;" req_id = "36.1" priority = "2"> <DESCRIPTION> &APP; shall allow the automatic scaling of diagrams or selected parts of diagrams to fit on the printed page. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "36.2" priority = "2"> <DESCRIPTION> &APP; shall furnish a print preview functionality. </DESCRIPTION> </REQUIREMENT> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "42" priority = "1"> <DESCRIPTION> &APP; shall prodide functionality for viewing and navigating diagrams at different levels of scale/detail. </DESCRIPTION> <REQUIREMENT product = "&APP;" req_id = "42.1" priority = "1"> <DESCRIPTION> &APP; shall allow zooming in diagrams. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "42.2" priority = "1"> <DESCRIPTION> &APP; shall allow scrolling of diagrams. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "42.3" priority = "2"> <DESCRIPTION> &APP; shall allow arbitrary scaling of diagrams. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&APP;" req_id = "42.4" priority = "2"> <DESCRIPTION> &APP; shall allow scaling of diagrams to fit external media. </DESCRIPTION> </REQUIREMENT> </REQUIREMENT> </PRODUCT> --- NEW FILE --- <?xml version="1.0" encoding = "ISO-8859-1" ?> <!-- ***************************************************************** --> <!-- WORKING DRAFT --> <!-- ***************************************************************** --> <!-- NOTE: ONLY THE REQUIREMENTS LIST MAINTAINER SHOULD COMMIT CHANGES --> <!-- TO THIS DOCUMENT. --> <!-- ***************************************************************** --> <!-- If you would like to propose a change to this document --> <!-- post your proposal to the kuml-devel mailing list --> <!-- (kum...@ba...). --> <!-- The current maintainer is Gerard Flynn <ger...@fr...> --> <PRODUCT name = "&LIB;"> <DESCRIPTION> <PAR> &LIB; is a component library for the manipulation of UML models and associated data. It will store UML models in accordance with UMLv1.3, respecting the syntax and static semantics (well-formedness rules) defined therein. It will implement the CORBA facility interface defined for the manipulation of UML models. </PAR> <PAR> It will implement a kUML specific CORBA interface for the storage and retrieval of presentation information which will be linked to UML model's via inheritance from the Foundation::Core::PresentationElement class defined in UMLv1.3. </PAR> <PAR> It will implement a kUML specific CORBA interface for the conversion of complete as well as partial UML models to XMI streams and the inverse operation (creation of models from XMI streams). </PAR> <PAR> &LIB; may be used independently of &APP;. It does not depend on any specific Desktop environment such as KDE or GNOME. </PAR> </DESCRIPTION> <REQ_LINK req_id = "35"/> <REQ_LINK req_id = "14"/> <REQUIREMENT product = "&LIB;" req_id = "21" priority = "1" status = "deleted"> <DESCRIPTION> &LIB; is a component library whose purpose is to support the use of UML models in special purpose applications. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&LIB;" req_id = "22" priority = "1"> <DESCRIPTION> &LIB; shall implement the CORBA Facility defined in UMLv1.3 for creating and manipulating UML models. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&LIB;" req_id = "23" priority = "1" inherits = "35" status = "deleted"> <!-- Superseded by inheritance from req. 35 --> <DESCRIPTION> &LIB; shall provide an API for importing/exporting UML models from/to XMI streams. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&LIB;" req_id = "25" priority = "2" status = "deleted"> <!-- Superseded by inheritance from req 14 --> <DESCRIPTION> &LIB; shall provide a facility for optionally verifying the static and dynamic semantics of models as defined in UMLv1.3. </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&LIB;" req_id = "26" priority = "1"> <DESCRIPTION> &LIB; shall not depend on graphic environments such as KDE or GNOME or their libraries (except for standalone XML libraries). </DESCRIPTION> <RATIONALE></RATIONALE> <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> <REQUIREMENT product = "&LIB;" req_id = "39" visibility = "internal" priority = "2" inherits = "16"> <DESCRIPTION> &LIB; shall furnish a framework for the development of code generation plugins. </DESCRIPTION> </REQUIREMENT> <REQUIREMENT product = "&LIB;" req_id = "40" visibility = "internal" priority = "2" inherits = "17"> <DESCRIPTION> &LIB; shall furnish a framework for the development of reverse engineering plugins. </DESCRIPTION> </REQUIREMENT> </PRODUCT> Index: kuml_design.dtd =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/kuml_design.dtd,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** kuml_design.dtd 2000/10/22 17:50:18 1.3 --- kuml_design.dtd 2000/10/31 05:56:38 1.4 *************** *** 69,73 **** <!-- A project or product requirement --> ! <!ELEMENT REQUIREMENT (DESCRIPTION,RATIONALE,(DETAIL|NOTE|COMMENT)*)> <!-- REQUIREMENT ATTRIBUTES --> <!-- ****************************************************************** --> --- 69,73 ---- <!-- A project or product requirement --> ! <!ELEMENT REQUIREMENT (DESCRIPTION,RATIONALE,(DETAIL|NOTE|COMMENT)*,(REQUIREMENT)*)> <!-- REQUIREMENT ATTRIBUTES --> <!-- ****************************************************************** --> *************** *** 89,97 **** <!-- ****************************************************************** --> <!ATTLIST REQUIREMENT ! product CDATA "project" ! req_id CDATA #REQUIRED ! priority CDATA "3" visibility (internal|external) "external" status (proposed|accepted|deleted) "proposed" > --- 89,104 ---- <!-- ****************************************************************** --> <!ATTLIST REQUIREMENT ! product CDATA "project" ! req_id CDATA #REQUIRED ! priority CDATA "3" visibility (internal|external) "external" status (proposed|accepted|deleted) "proposed" + inherits CDATA "0" + > + + <!-- Permits referencing a previously defined requirement --> + <!ELEMENT REQ_LINK EMPTY> + <!ATTLIST REQ_LINK + req_id CDATA #REQUIRED > Index: kuml_design_to_html.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/kuml_design_to_html.xsl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** kuml_design_to_html.xsl 2000/10/22 17:50:18 1.4 --- kuml_design_to_html.xsl 2000/10/31 05:56:38 1.5 *************** *** 46,49 **** --- 46,51 ---- <xsl:apply-templates select = "REQUIREMENT" mode = "full"/> + + <xsl:apply-templates select = "./REQUIREMENT/REQUIREMENT" mode = "full"/> <BR></BR> <xsl:apply-templates select = "PRODUCT"/> *************** *** 90,93 **** --- 92,97 ---- <xsl:apply-templates select = "REQUIREMENT" mode = "full"/> + <xsl:apply-templates select = "./REQUIREMENT/REQUIREMENT" mode = "full"/> + </xsl:template> *************** *** 117,120 **** --- 121,125 ---- <xsl:template name = "req_row"> <xsl:variable name = "anchor" select = "@req_id"/> + <xsl:variable name = "parent_anchor" select = "@inherits"/> <TR> <TD bgcolor = "{$color}"> *************** *** 137,140 **** --- 142,151 ---- <A href = "#req{$anchor}"><xsl:apply-templates select = "@status"/></A> </TD> + + <TD bgcolor = "{$color}"> + <xsl:if test = "@inherits != '0'"> + <A href = "#req{$parent_anchor}"><xsl:apply-templates select = "@inherits"/></A> + </xsl:if> + </TD> </TR> </xsl:template> *************** *** 234,237 **** --- 245,277 ---- </TD> </TR> + <TR> + <TD colspan = "2" align = "center"> + <H2>SUB-REQUIREMENTS</H2> + </TD> + </TR> + <TR> + <TD colspan = "2"> + <TABLE width = "100%" border = "2" frame = "box" rules = "none" cellspacing = "0"> + <THEAD> + <TR colspan = "6"> + <DIV align = "center"> + <H2>SUB-REQUIREMENTS</H2> + </DIV> + </TR> + <TR> + <TH>ID</TH> + <TH>Description</TH> + <TH>Visibility</TH> + <TH>Priority</TH> + <TH>Status</TH> + <TH>Inherits</TH> + </TR> + </THEAD> + <TBODY> + <xsl:apply-templates select = "REQUIREMENT" mode = "table"/> + </TBODY> + </TABLE> + </TD> + </TR> </TBODY> </TABLE> *************** *** 289,292 **** --- 329,346 ---- </xsl:template> + <xsl:template match = "REQ_LINK"> + <xsl:variable name = "link_id" select = "@req_id"/> + <TR> + <TD colspan = "6" bgcolor = "#cacaca"> + Product supports project requirement : <A href = "#req{$link_id}"> + <xsl:value-of select = "@req_id"/></A> + <P> + <xsl:for-each select = "/PROJECT/REQUIREMENT[@req_id = $link_id]"> + <xsl:value-of select = "./DESCRIPTION"/></xsl:for-each> + </P> + </TD> + </TR> + </xsl:template> + <xsl:template name = "top"> <DIV align = "center"> *************** *** 308,314 **** --- 362,370 ---- <TH>Priority</TH> <TH>Status</TH> + <TH>Inherits</TH> </TR> </THEAD> <TBODY bgcolor = "#cacaca"> + <xsl:apply-templates select = "REQ_LINK"/> <xsl:apply-templates select = "REQUIREMENT[@visibility = 'external']" mode = "table"> <xsl:sort select = "@priority"/> *************** *** 330,333 **** --- 386,390 ---- <TH>Priority</TH> <TH>Status</TH> + <TH>Inherits</TH> </TR> </THEAD> Index: requirements.xml =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/requirements.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** requirements.xml 2000/10/22 17:50:18 1.5 --- requirements.xml 2000/10/31 05:56:38 1.6 *************** *** 1,3 **** ! <?xml version="1.0" encoding = "ISO8859-1" ?> <!DOCTYPE PROJECT SYSTEM "kuml_design.dtd" [ <!-- ************************************************************* --> --- 1,3 ---- ! <?xml version="1.0" encoding = "ISO-8859-1" ?> <!DOCTYPE PROJECT SYSTEM "kuml_design.dtd" [ <!-- ************************************************************* --> *************** *** 9,12 **** --- 9,14 ---- <!ENTITY APP "kUMLGui"> <!ENTITY LIB "kUMLLib"> + <!ENTITY PRODUCT-KUMLGUI SYSTEM "requirements_kumlgui.xml"> + <!ENTITY PRODUCT-KUMLLIB SYSTEM "requirements_kumllib.xml"> ]> *************** *** 22,26 **** <!-- The current maintainer is Gerard Flynn <ger...@fr...> --> ! <PROJECT name = "kuml" version = "0.4"> <DESCRIPTION> The kUML project aims to produce a general purpose graphical UML modeling --- 24,28 ---- <!-- The current maintainer is Gerard Flynn <ger...@fr...> --> ! <PROJECT name = "kuml" version = "0.5"> <DESCRIPTION> The kUML project aims to produce a general purpose graphical UML modeling *************** *** 57,78 **** </DESCRIPTION> <RATIONALE></RATIONALE> ! <DETAIL> ! The system shall allow merging of changes made by different ! developers. ! </DETAIL> ! <DETAIL> ! The system shall furnish a mechanism allowing project ! administrators to limit access to models to authorized persons. ! </DETAIL> ! <DETAIL> ! The system shall provide a mechanism allowing developers to be informed ! of changes to models performed by others. ! </DETAIL> ! <NOTE> ! </NOTE> </REQUIREMENT> <REQUIREMENT product = "project" req_id = "4" priority = "3" status = "deleted"> ! <!-- Superseded by requirement (2) --> <DESCRIPTION> The system shall limit access to the model to authorized developers --- 59,98 ---- </DESCRIPTION> <RATIONALE></RATIONALE> ! <REQUIREMENT product = "project" req_id = "3.1" priority = "3"> ! <DESCRIPTION> ! The system shall allow merging of changes made by different ! developers. ! </DESCRIPTION> ! </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "3.2" priority = "3"> ! <DESCRIPTION> ! The system shall furnish a mechanism allowing project ! administrators to limit access to models to authorized persons. ! </DESCRIPTION> ! </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "3.3" priority = "3"> ! <DESCRIPTION> ! The system shall provide a mechanism allowing developers to be informed ! of changes to models performed by others. ! </DESCRIPTION> ! </REQUIREMENT> ! ! <REQUIREMENT product = "project" req_id = "3.4" priority = "3"> ! <!-- Was req 5 --> ! <DESCRIPTION> ! A project shall contain version information. ! </DESCRIPTION> ! <NOTE> ! It's not easy to say who does the version control, and also to what ! degree data will be versioned. This will have to be worked out later. Lets ! first agree that we need version control and we have to build 'things' into the ! system to realise that. ! </NOTE> ! </REQUIREMENT> ! </REQUIREMENT> <REQUIREMENT product = "project" req_id = "4" priority = "3" status = "deleted"> ! <!-- Superseded by requirement (3) --> <DESCRIPTION> The system shall limit access to the model to authorized developers *************** *** 90,107 **** </REQUIREMENT> - <REQUIREMENT product = "project" req_id = "5" priority = "3"> - <DESCRIPTION> - A project shall contain version information. - </DESCRIPTION> - <RATIONALE></RATIONALE> - <DETAIL></DETAIL> - <NOTE> - It's not easy to say who does the version control, and also to what - degree data will be versioned. This will have to be worked out later. Lets - first agree that we need version control and we have to build 'things' into the - system to realise that. - </NOTE> - </REQUIREMENT> - <REQUIREMENT product = "project" req_id = "6" priority = "3" status = "deleted"> <!-- Superseded by requirement (2) --> --- 110,113 ---- *************** *** 118,124 **** </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "11" priority = "3"> <DESCRIPTION> ! The system shall support all diagram types defined by UMLv1.3. </DESCRIPTION> <RATIONALE></RATIONALE> --- 124,130 ---- </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "11" priority = "1"> <DESCRIPTION> ! The system shall support diagram types defined by UMLv1.3. </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 126,129 **** --- 132,182 ---- <NOTE> </NOTE> + <REQUIREMENT product = "project" req_id = "11.1" priority = "1"> + <DESCRIPTION> + The system shall support class diagrams. + </DESCRIPTION> + </REQUIREMENT> + + <REQUIREMENT product = "project" req_id = "11.2" priority = "1"> + <DESCRIPTION> + The system shall support object diagrams. + </DESCRIPTION> + </REQUIREMENT> + + <REQUIREMENT product = "project" req_id = "11.3" priority = "2"> + <DESCRIPTION> + The system shall support use case diagrams. + </DESCRIPTION> + </REQUIREMENT> + + <REQUIREMENT product = "project" req_id = "11.4" priority = "2"> + <DESCRIPTION> + The system shall support sequence diagrams. + </DESCRIPTION> + </REQUIREMENT> + + <REQUIREMENT product = "project" req_id = "11.5" priority = "2"> + <DESCRIPTION> + The system shall support collaboration diagrams. + </DESCRIPTION> + </REQUIREMENT> + + <REQUIREMENT product = "project" req_id = "11.6" priority = "2"> + <DESCRIPTION> + The system shall support statechart diagrams. + </DESCRIPTION> + </REQUIREMENT> + + <REQUIREMENT product = "project" req_id = "11.7" priority = "2"> + <DESCRIPTION> + The system shall support activity diagrams. + </DESCRIPTION> + </REQUIREMENT> + + <REQUIREMENT product = "project" req_id = "11.8" priority = "2"> + <DESCRIPTION> + The system shall support implementation diagrams. + </DESCRIPTION> + </REQUIREMENT> </REQUIREMENT> *************** *** 143,162 **** </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "17" priority = "2"> ! <DESCRIPTION> ! The system shall support plugins for reverse engineering of code in ! various object-oriented programming languages. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL>a plugin for C++ will be developed</DETAIL> ! <DETAIL>a plugin for CORBA IDL will be developed</DETAIL> ! <DETAIL>a plugin for Java will be developed</DETAIL> ! <DETAIL>plugins for other languages may be developed by the kUML project ! or by third parties</DETAIL> ! <NOTE> ! Reverse engineering here means the creation of UML models from code ! written in various object-oriented programming languages. ! </NOTE> ! </REQUIREMENT> <REQUIREMENT product = "project" req_id = "28" priority = "2" status = "deleted"> --- 196,215 ---- </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "17" priority = "2"> ! <DESCRIPTION> ! The system shall support plugins for reverse engineering of code in ! various object-oriented programming languages. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL>a plugin for C++ will be developed</DETAIL> ! <DETAIL>a plugin for CORBA IDL will be developed</DETAIL> ! <DETAIL>a plugin for Java will be developed</DETAIL> ! <DETAIL>plugins for other languages may be developed by the kUML project ! or by third parties</DETAIL> ! <NOTE> ! Reverse engineering here means the creation of UML models from code ! written in various object-oriented programming languages. ! </NOTE> ! </REQUIREMENT> <REQUIREMENT product = "project" req_id = "28" priority = "2" status = "deleted"> *************** *** 171,175 **** </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "29" priority = "2" status = "deleted"> <!-- Superseded by requirement (17) --> <DESCRIPTION> --- 224,228 ---- </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "29" priority = "2" status = "deleted"> <!-- Superseded by requirement (17) --> <DESCRIPTION> *************** *** 180,184 **** <NOTE> </NOTE> ! </REQUIREMENT> <REQUIREMENT product = "project" req_id = "30" priority = "2" status = "deleted"> --- 233,237 ---- <NOTE> </NOTE> ! </REQUIREMENT> <REQUIREMENT product = "project" req_id = "30" priority = "2" status = "deleted"> *************** *** 193,197 **** </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "31" priority = "2" status = "deleted"> <!-- Superseded by requirement (17) --> <DESCRIPTION> --- 246,250 ---- </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "31" priority = "2" status = "deleted"> <!-- Superseded by requirement (17) --> <DESCRIPTION> *************** *** 202,568 **** <NOTE> </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "project" req_id = "35" priority = "1" status = "proposed"> ! <DESCRIPTION> ! The system shall allow the storage and retrieval of UML models and associated ! presentation data in XMI files. ! </DESCRIPTION> ! </REQUIREMENT> ! <PRODUCT name = "&APP;"> <DESCRIPTION> ! &APP; is a general purpose UML modeling tool. It will provide a ! powerful and easy to use user interface allowing the creation, modification ! and visualization of UML models represented as diagrams according to the ! notational conventions of UMLv1.3 chapter 3. It will also allow the user to ! navigate, view, create and modify models directly through table and/or tree based ! interfaces even if no diagrams or visualization elements have been defined. It ! will allow the storage of UML models as well as their accompanying presentation ! data in XMI files. It will be able to read model data from any XMI file which ! conforms to UMLv1.3. It will allow the exportation of diagrams in various ! graphical formats. </DESCRIPTION> ! <FULL_DESCRIPTION> ! <DETAIL> ! Based on KDE2/Qt2. ! </DETAIL> ! </FULL_DESCRIPTION> ! ! <REQUIREMENT product = "&APP;" req_id = "7" priority = "1"> ! <DESCRIPTION> ! &APP; is an end-user application which constitutes a general purpose UML ! modeling tool. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "8" priority = "2"> ! <DESCRIPTION> ! &APP; shall furnish an easy to use and intuitive GUI for creating and ! editing visual representations of UML models (diagrams). ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "9" priority = "1"> ! <DESCRIPTION> ! &APP; shall allow the saving and loading of models and their ! corresponding visualization elements in XMI files. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "10" priority = "2"> ! <DESCRIPTION> ! &APP; will be usable for completely documenting a model while ! maintaining diagram readability. This necessitates a highly flexible and user ! configurable mechanism for information hiding. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! <REQUIREMENT product = "&APP;" req_id = "12" priority = "1"> ! <DESCRIPTION> ! &APP; shall attempt to respect the notational guidelines defined in ! UMLv1.3 ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "13" priority = "2"> ! <DESCRIPTION> ! &APP; shall support plugins for the exportation of diagrams in various graphic ! formats (svg, ps, eps, png, gif, etc.) ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "14" priority = "2"> ! <DESCRIPTION> ! &APP; shall provide a facility for optionally verifying the static and ! dynamic semantics of models as defined in UMLv1.3. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "15" priority = "2"> ! <DESCRIPTION> ! &APP; shall allow information sharing between diagrams. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! For example ! when a user adds a message to a colloboration diagram a corresponding method ! may be created if it does not yet exist in the object's class. ! </NOTE> ! </REQUIREMENT> ! ! ! <REQUIREMENT product = "&APP;" req_id = "18" priority = "3"> ! <DESCRIPTION> ! &APP; shall be integrated in a complete IDE (kdevelop) using a ! component approach. &APP; will nonetheless be fully useable without ! the integrated IDE. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! <REQUIREMENT product = "&APP;" req_id = "19" priority = "2"> <DESCRIPTION> ! &APP; shall be integrated with KDE2. </DESCRIPTION> - <RATIONALE></RATIONALE> - <DETAIL></DETAIL> - <NOTE> - </NOTE> </REQUIREMENT> ! <REQUIREMENT product = "&APP;" req_id = "20" priority = "3" status = "deleted"> ! <!-- Superseded by requirement (3) --> ! <DESCRIPTION> ! &APP; shall furnish remote access to shared persistent model ! repositories. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "27" priority = "2"> ! <DESCRIPTION> ! &APP; shall support plugins for the generation of documents in ! various formats (pdf, ps, dvi, ascii, man, texinfo, etc.). ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "32" priority = "1"> ! <DESCRIPTION> ! &APP; shall allow viewing and navigating UML models ! even if they contain no compatible presentation data. ! </DESCRIPTION> ! <RATIONALE> ! Provide a degree of limited compatibility with all applications ! which support XMI exported models. ! </RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! May be done with a combination of hyperlinked table and tree views. ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "33" priority = "3"> ! <DESCRIPTION> ! &APP; shall allow the automatic generation of ! diagrams from UML model data alone. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL> ! User interface tools will be provided to allow the user to ! easily rearrange the automatically generated diagrams to suite ! his needs. ! </DETAIL> ! <DETAIL> ! The auto layout algorithm will be customizable. ! </DETAIL> ! <NOTE> ! This requires the use of some sort of auto-routing algorithm, ! perhaps similar to those used by circuit board layout tools. ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "34" priority = "1"> ! <DESCRIPTION> ! &APP; shall make clearly apparent to the user which ! actions will result in changes to the UML model and which ! actions will only change the visual presentations of that ! model. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! Ideally the application will never display a diagram in a way ! which suggests that the underlying model is not in a ! well-defined state (no dangling association line for example), ! even during user interaction. ! </NOTE> ! <NOTE> ! Separate tool bars might be provided for the two types of actions. ! </NOTE> ! <NOTE> ! A possible scenario for creating an association between 2 ! classes might be the following: ! <PAR>--the user selects an association creation tool</PAR> ! <PAR>--the user selects the first class member</PAR> ! <PAR>--the program changes the display in some way to indicate it is waiting for ! the second member of the association</PAR> ! <PAR>--the user selects the second class member</PAR> ! <PAR>--the program draws a line in some canonical form between the two classes</PAR> ! <PAR>--the user may select display tools to change the way the association is ! represented : class edge anchor points, diagonal lines, ! step lines or arcs, points by which the line passes, ! other visual attributes (color, thickness, etc.)</PAR> ! </NOTE> ! <NOTE> ! --the user should not be allowed to modify representations in ways that ! would conflict with ch. 3 of UMLv1.3 (at least not without warning). ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&APP;" req_id = "36" priority = "2"> <DESCRIPTION> ! &APP; shall allow printing of diagrams and documents. </DESCRIPTION> - <DETAIL> - The application shall allow the automatic scaling of diagrams or - selected parts of diagrams to fit on the printed page. - </DETAIL> </REQUIREMENT> ! <REQUIREMENT product = "&APP;" req_id = "37" priority = "2"> <DESCRIPTION> ! &APP; shall furnish a multi-level undo mechanism. The size ! of the undo history shall be customizable. </DESCRIPTION> </REQUIREMENT> ! <REQUIREMENT product = "&APP;" req_id = "38" priority = "2"> <DESCRIPTION> ! &APP; shall allow zooming and scaling of siagrms. </DESCRIPTION> </REQUIREMENT> - - ! </PRODUCT> - <PRODUCT name = "&LIB;"> - <DESCRIPTION> - <PAR> - &LIB; is a component library for the manipulation of UML models - and associated data. It will store UML models in accordance with - UMLv1.3, respecting the syntax and static semantics (well-formedness rules) - defined therein. It will implement the CORBA facility interface defined - for the manipulation of UML models. - </PAR> - <PAR> - It will implement a kUML specific CORBA - interface for the storage and retrieval of presentation information which - will be linked to UML model's via inheritance from the - Foundation::Core::PresentationElement class defined in UMLv1.3. - </PAR> - <PAR> - It will implement a kUML specific CORBA interface for the conversion of complete - as well as partial UML models to XMI streams and the inverse operation - (creation of models from XMI streams). - </PAR> - <PAR> - &LIB; may be used independently of &APP;. It does not depend on any - specific Desktop environment such as KDE or GNOME. - </PAR> - </DESCRIPTION> ! <REQUIREMENT product = "&LIB;" req_id = "21" priority = "1"> ! <DESCRIPTION> ! &LIB; is a component library whose purpose is to support the use ! of UML models in special purpose applications. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&LIB;" req_id = "22" priority = "1"> ! <DESCRIPTION> ! &LIB; shall implement the CORBA Facility defined in UMLv1.3 for creating and ! manipulating UML models. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&LIB;" req_id = "23" priority = "1"> ! <DESCRIPTION> ! &LIB; shall provide an API for importing/exporting UML models ! from/to XMI streams. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&LIB;" req_id = "25" priority = "2"> ! <DESCRIPTION> ! &LIB; shall provide a facility for optionally verifying the static ! and dynamic semantics of models as defined in UMLv1.3. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&LIB;" req_id = "26" priority = "1"> ! <DESCRIPTION> ! &LIB; shall not depend on graphic environments such as KDE or GNOME ! or their libraries (except for standalone XML libraries). ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&LIB;" req_id = "39" visibility = "internal" priority = "2"> ! <DESCRIPTION> ! &LIB; shall furnish a framework for the development of code generation ! plugins. ! </DESCRIPTION> ! </REQUIREMENT> ! ! <REQUIREMENT product = "&LIB;" req_id = "40" visibility = "internal" priority = "2"> ! <DESCRIPTION> ! &LIB; shall furnish a framework for the development of reverse ! engineering plugins. ! </DESCRIPTION> ! </REQUIREMENT> - </PRODUCT> <DEFINITION.priority priority = "1"> --- 255,321 ---- <NOTE> </NOTE> ! </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "35" priority = "1" status = "proposed"> <DESCRIPTION> ! The system shall allow the storage and retrieval of UML models and associated ! presentation data in XMI files. </DESCRIPTION> ! </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "14" priority = "2"> ! <DESCRIPTION> ! The system shall provide facilities for optionally verifying the static and ! dynamic semantics of models as defined in UMLv1.3. ! </DESCRIPTION> ! <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> ! <NOTE> ! </NOTE> ! </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "41" priority = "2"> ! <DESCRIPTION> ! The system shall support the management of use case data both as UML use-case ! diagrams and as user definable use case documents. It will manage ! information exchange and referential intergrity between the two representations. ! </DESCRIPTION> ! <REQUIREMENT product = "project" req_id = "41.1" priority = "2"> <DESCRIPTION> ! The system shall support the storage and retrieval of user definable use case documents ! using XML files. </DESCRIPTION> </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "41.2" priority = "3"> <DESCRIPTION> ! The system shall provide version and change management support for use ! case documents. </DESCRIPTION> </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "41.3" priority = "3"> <DESCRIPTION> ! The system shall allow the integration of components from a test ! environment (KTest) so that test cases may be appended/edited for ! selected use cases. </DESCRIPTION> </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "41.4" priority = "3"> <DESCRIPTION> ! The system shall prodide a means of viewing test cases related to a ! given use case. </DESCRIPTION> </REQUIREMENT> ! </REQUIREMENT> + &PRODUCT-KUMLGUI; ! &PRODUCT-KUMLLIB; <DEFINITION.priority priority = "1"> |
From: Gerard F. <ger...@us...> - 2000-10-22 18:17:01
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/requirements In directory slayer.i.sourceforge.net:/tmp/cvs-serv19251 Modified Files: kuml_design.dtd kuml_design_to_html.xsl requirements.xml Log Message: Updated requirements document: version 0.4 Index: kuml_design.dtd =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/kuml_design.dtd,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** kuml_design.dtd 2000/10/17 19:15:48 1.2 --- kuml_design.dtd 2000/10/22 17:50:18 1.3 *************** *** 28,32 **** > <!ATTLIST PROJECT ! name CDATA #REQUIRED > --- 28,33 ---- > <!ATTLIST PROJECT ! name CDATA #REQUIRED ! version CDATA #REQUIRED > Index: kuml_design_to_html.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/kuml_design_to_html.xsl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** kuml_design_to_html.xsl 2000/10/17 19:15:48 1.3 --- kuml_design_to_html.xsl 2000/10/22 17:50:18 1.4 *************** *** 21,24 **** --- 21,26 ---- <A name = "product_project"></A> <H1><CENTER>PROJECT REQUIREMENTS for <xsl:value-of select = "@name"/></CENTER></H1> + <H2><CENTER> + <FONT color = "#0000ff">Document version <xsl:value-of select="@version"/></FONT></CENTER></H2> <DIV align = "center"> <TABLE width = "80%"> Index: requirements.xml =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/requirements.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** requirements.xml 2000/10/17 19:15:48 1.4 --- requirements.xml 2000/10/22 17:50:18 1.5 *************** *** 22,26 **** <!-- The current maintainer is Gerard Flynn <ger...@fr...> --> ! <PROJECT name = "kuml"> <DESCRIPTION> The kUML project aims to produce a general purpose graphical UML modeling --- 22,26 ---- <!-- The current maintainer is Gerard Flynn <ger...@fr...> --> ! <PROJECT name = "kuml" version = "0.4"> <DESCRIPTION> The kUML project aims to produce a general purpose graphical UML modeling *************** *** 38,44 **** </DESCRIPTION> ! <REQUIREMENT product = "project" req_id = "2" priority = "1"> <DESCRIPTION> ! The system shall be able to open/edit/show/whatever a <TERM>project</TERM>. </DESCRIPTION> <RATIONALE></RATIONALE> --- 38,45 ---- </DESCRIPTION> ! <REQUIREMENT product = "project" req_id = "2" priority = "1" status = "deleted"> ! <!-- This requirement has been superseded by requirements (7), (8) and (9) --> <DESCRIPTION> ! The system shall be able to open/edit/show a <TERM>project</TERM>. </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 52,90 **** <REQUIREMENT product = "project" req_id = "3" priority = "3"> <DESCRIPTION> ! The system shall be able to store the project in such a way that ! merging changes made by different developers is possible. </DESCRIPTION> <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> <NOTE> ! <PAR> ! Ok, this is a different approach. I'm not talking about CVS here and i'm not ! talking about locking packages or diagrams. So if one guy adds a new method to ! a class and another adds another it should be possible to merge the class and ! have a new one that contains both methods. If one guy changes a diagram and ! raises a class a bit, and another lowers the same class that should result in a ! conflict. ! </PAR> ! Now suppose the diagram data is stored in ascii and the position is stored as ! follows: ! <BR/> ! Class X pos (x,y,w,h) ! than this could be perfectly handled by for instance CVS (i'm using CVS here as ! an example, i'm not saying that it should be implemented this way, or that we ! should use CVS!). Two developers change the same line and end up with different ! values. ! <BR/> ! ***** MyChanges *** ! Class X pos (1,1,50,50) ! ----- HisChanges --- ! Class X pos (9,9,50,50) ! <PAR> ! The last guy checking in will get the job of solving the conflict and will ! choose one of the two lines. It's really ! no difference from what's happening now with C++ code.</PAR> ! </NOTE> </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "4" priority = "3"> <DESCRIPTION> The system shall limit access to the model to authorized developers --- 53,78 ---- <REQUIREMENT product = "project" req_id = "3" priority = "3"> <DESCRIPTION> ! The system shall furnish concurrent access to a centralized persistent repository ! of UML models and their associated presentation data. </DESCRIPTION> <RATIONALE></RATIONALE> ! <DETAIL> ! The system shall allow merging of changes made by different ! developers. ! </DETAIL> ! <DETAIL> ! The system shall furnish a mechanism allowing project ! administrators to limit access to models to authorized persons. ! </DETAIL> ! <DETAIL> ! The system shall provide a mechanism allowing developers to be informed ! of changes to models performed by others. ! </DETAIL> <NOTE> ! </NOTE> </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "4" priority = "3" status = "deleted"> ! <!-- Superseded by requirement (2) --> <DESCRIPTION> The system shall limit access to the model to authorized developers *************** *** 110,114 **** <NOTE> It's not easy to say who does the version control, and also to what ! gradation data will be versioned. This will have to be worked out later. Lets first agree that we need version control and we have to build 'things' into the system to realise that. --- 98,102 ---- <NOTE> It's not easy to say who does the version control, and also to what ! degree data will be versioned. This will have to be worked out later. Lets first agree that we need version control and we have to build 'things' into the system to realise that. *************** *** 116,123 **** </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "6" priority = "3"> <DESCRIPTION> ! The system shall inform developers of changes in the model performed by ! other developers. </DESCRIPTION> <RATIONALE></RATIONALE> --- 104,112 ---- </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "6" priority = "3" status = "deleted"> ! <!-- Superseded by requirement (2) --> <DESCRIPTION> ! The system shall provide a mechanism allowing developers to be informed of changes in the ! model performed by other developers. </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 141,148 **** <REQUIREMENT product = "project" req_id = "16" priority = "2"> <DESCRIPTION> ! The system shall permit code generation in C++. </DESCRIPTION> <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> <NOTE> </NOTE> --- 130,142 ---- <REQUIREMENT product = "project" req_id = "16" priority = "2"> <DESCRIPTION> ! The system shall support plugins for automatic code generation in various ! object-oriented languages. </DESCRIPTION> <RATIONALE></RATIONALE> ! <DETAIL>a plugin for C++ will be developed</DETAIL> ! <DETAIL>a plugin for CORBA IDL will be developed</DETAIL> ! <DETAIL>a plugin for Java will be developed</DETAIL> ! <DETAIL>plugins for other languages may be developed by the kUML project or ! by third parties</DETAIL> <NOTE> </NOTE> *************** *** 151,163 **** <REQUIREMENT product = "project" req_id = "17" priority = "2"> <DESCRIPTION> ! The system shall permit reverse engineering of C++ code. </DESCRIPTION> <RATIONALE></RATIONALE> ! <DETAIL></DETAIL> <NOTE> </NOTE> </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "28" priority = "2"> <DESCRIPTION> The system shall permit code generation in Java. --- 145,165 ---- <REQUIREMENT product = "project" req_id = "17" priority = "2"> <DESCRIPTION> ! The system shall support plugins for reverse engineering of code in ! various object-oriented programming languages. </DESCRIPTION> <RATIONALE></RATIONALE> ! <DETAIL>a plugin for C++ will be developed</DETAIL> ! <DETAIL>a plugin for CORBA IDL will be developed</DETAIL> ! <DETAIL>a plugin for Java will be developed</DETAIL> ! <DETAIL>plugins for other languages may be developed by the kUML project ! or by third parties</DETAIL> <NOTE> + Reverse engineering here means the creation of UML models from code + written in various object-oriented programming languages. </NOTE> </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "28" priority = "2" status = "deleted"> ! <!-- Superseded by requirement (16) --> <DESCRIPTION> The system shall permit code generation in Java. *************** *** 169,173 **** </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "29" priority = "2"> <DESCRIPTION> The system shall permit reverse engineering of Java code. --- 171,176 ---- </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "29" priority = "2" status = "deleted"> ! <!-- Superseded by requirement (17) --> <DESCRIPTION> The system shall permit reverse engineering of Java code. *************** *** 179,185 **** </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "30" priority = "2"> <DESCRIPTION> ! The system shall permit interface generation in Corba IDL. </DESCRIPTION> <RATIONALE></RATIONALE> --- 182,189 ---- </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "30" priority = "2" status = "deleted"> ! <!-- Superseded by requirement (16) --> <DESCRIPTION> ! The system shall permit interface generation in CORBA IDL. </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 189,195 **** </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "31" priority = "2"> <DESCRIPTION> ! The system shall permit reverse engineering of Corba IDL interfaces. </DESCRIPTION> <RATIONALE></RATIONALE> --- 193,200 ---- </REQUIREMENT> ! <REQUIREMENT product = "project" req_id = "31" priority = "2" status = "deleted"> ! <!-- Superseded by requirement (17) --> <DESCRIPTION> ! The system shall permit reverse engineering of CORBA IDL interfaces. </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 199,202 **** --- 204,214 ---- </REQUIREMENT> + <REQUIREMENT product = "project" req_id = "35" priority = "1" status = "proposed"> + <DESCRIPTION> + The system shall allow the storage and retrieval of UML models and associated + presentation data in XMI files. + </DESCRIPTION> + </REQUIREMENT> + <PRODUCT name = "&APP;"> <DESCRIPTION> *************** *** 243,247 **** <DESCRIPTION> &APP; shall allow the saving and loading of models and their ! corresponding visualization elements. </DESCRIPTION> <RATIONALE></RATIONALE> --- 255,259 ---- <DESCRIPTION> &APP; shall allow the saving and loading of models and their ! corresponding visualization elements in XMI files. </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 263,269 **** </REQUIREMENT> ! <REQUIREMENT product = "&APP;" req_id = "12" priority = "3"> <DESCRIPTION> ! The system shall attempt to respect the notational guidelines defined in UMLv1.3 </DESCRIPTION> --- 275,281 ---- </REQUIREMENT> ! <REQUIREMENT product = "&APP;" req_id = "12" priority = "1"> <DESCRIPTION> ! &APP; shall attempt to respect the notational guidelines defined in UMLv1.3 </DESCRIPTION> *************** *** 277,282 **** <REQUIREMENT product = "&APP;" req_id = "13" priority = "2"> <DESCRIPTION> ! &APP; shall permit the exportation of diagrams in various graphic ! formats (ps, eps, png, gif, etc.) </DESCRIPTION> <RATIONALE></RATIONALE> --- 289,294 ---- <REQUIREMENT product = "&APP;" req_id = "13" priority = "2"> <DESCRIPTION> ! &APP; shall support plugins for the exportation of diagrams in various graphic ! formats (svg, ps, eps, png, gif, etc.) </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 313,317 **** <REQUIREMENT product = "&APP;" req_id = "18" priority = "3"> <DESCRIPTION> ! &APP; shall be integrated in a complete IDE (kdevelop). </DESCRIPTION> <RATIONALE></RATIONALE> --- 325,331 ---- <REQUIREMENT product = "&APP;" req_id = "18" priority = "3"> <DESCRIPTION> ! &APP; shall be integrated in a complete IDE (kdevelop) using a ! component approach. &APP; will nonetheless be fully useable without ! the integrated IDE. </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 331,335 **** </REQUIREMENT> ! <REQUIREMENT product = "&APP;" req_id = "20" priority = "3"> <DESCRIPTION> &APP; shall furnish remote access to shared persistent model --- 345,350 ---- </REQUIREMENT> ! <REQUIREMENT product = "&APP;" req_id = "20" priority = "3" status = "deleted"> ! <!-- Superseded by requirement (3) --> <DESCRIPTION> &APP; shall furnish remote access to shared persistent model *************** *** 344,349 **** <REQUIREMENT product = "&APP;" req_id = "27" priority = "2"> <DESCRIPTION> ! The system shall support the generation of documents (possibly using ! Kugar? http://www.thekompany.com/projects/kugar). </DESCRIPTION> <RATIONALE></RATIONALE> --- 359,364 ---- <REQUIREMENT product = "&APP;" req_id = "27" priority = "2"> <DESCRIPTION> ! &APP; shall support plugins for the generation of documents in ! various formats (pdf, ps, dvi, ascii, man, texinfo, etc.). </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 355,359 **** <REQUIREMENT product = "&APP;" req_id = "32" priority = "1"> <DESCRIPTION> ! The application shall allow viewing and navigating UML models even if they contain no compatible presentation data. </DESCRIPTION> --- 370,374 ---- <REQUIREMENT product = "&APP;" req_id = "32" priority = "1"> <DESCRIPTION> ! &APP; shall allow viewing and navigating UML models even if they contain no compatible presentation data. </DESCRIPTION> *************** *** 370,374 **** <REQUIREMENT product = "&APP;" req_id = "33" priority = "3"> <DESCRIPTION> ! The application shall allow the automatic generation of diagrams from UML model data alone. </DESCRIPTION> --- 385,389 ---- <REQUIREMENT product = "&APP;" req_id = "33" priority = "3"> <DESCRIPTION> ! &APP; shall allow the automatic generation of diagrams from UML model data alone. </DESCRIPTION> *************** *** 379,382 **** --- 394,400 ---- his needs. </DETAIL> + <DETAIL> + The auto layout algorithm will be customizable. + </DETAIL> <NOTE> This requires the use of some sort of auto-routing algorithm, *************** *** 387,391 **** <REQUIREMENT product = "&APP;" req_id = "34" priority = "1"> <DESCRIPTION> ! The application shall make clearly apparent to the user which actions will result in changes to the UML model and which actions will only change the visual presentations of that --- 405,409 ---- <REQUIREMENT product = "&APP;" req_id = "34" priority = "1"> <DESCRIPTION> ! &APP; shall make clearly apparent to the user which actions will result in changes to the UML model and which actions will only change the visual presentations of that *************** *** 423,426 **** --- 441,469 ---- </REQUIREMENT> + <REQUIREMENT product = "&APP;" req_id = "36" priority = "2"> + <DESCRIPTION> + &APP; shall allow printing of diagrams and documents. + </DESCRIPTION> + <DETAIL> + The application shall allow the automatic scaling of diagrams or + selected parts of diagrams to fit on the printed page. + </DETAIL> + </REQUIREMENT> + + <REQUIREMENT product = "&APP;" req_id = "37" priority = "2"> + <DESCRIPTION> + &APP; shall furnish a multi-level undo mechanism. The size + of the undo history shall be customizable. + </DESCRIPTION> + </REQUIREMENT> + + <REQUIREMENT product = "&APP;" req_id = "38" priority = "2"> + <DESCRIPTION> + &APP; shall allow zooming and scaling of siagrms. + </DESCRIPTION> + </REQUIREMENT> + + + </PRODUCT> *************** *** 431,439 **** and associated data. It will store UML models in accordance with UMLv1.3, respecting the syntax and static semantics (well-formedness rules) ! defined therein. It will implement the Corba facility interface defined for the manipulation of UML models. </PAR> <PAR> ! It will implement a kUML specific Corba interface for the storage and retrieval of presentation information which will be linked to UML model's via inheritance from the --- 474,482 ---- and associated data. It will store UML models in accordance with UMLv1.3, respecting the syntax and static semantics (well-formedness rules) ! defined therein. It will implement the CORBA facility interface defined for the manipulation of UML models. </PAR> <PAR> ! It will implement a kUML specific CORBA interface for the storage and retrieval of presentation information which will be linked to UML model's via inheritance from the *************** *** 441,450 **** </PAR> <PAR> ! It will implement a kUML specific Corba interface for the conversion of complete as well as partial UML models to XMI streams and the inverse operation (creation of models from XMI streams). </PAR> <PAR> ! &LIB; may be used independently of KumlGui. It does not depend on any specific Desktop environment such as KDE or GNOME. </PAR> --- 484,493 ---- </PAR> <PAR> ! It will implement a kUML specific CORBA interface for the conversion of complete as well as partial UML models to XMI streams and the inverse operation (creation of models from XMI streams). </PAR> <PAR> ! &LIB; may be used independently of &APP;. It does not depend on any specific Desktop environment such as KDE or GNOME. </PAR> *************** *** 465,471 **** <REQUIREMENT product = "&LIB;" req_id = "22" priority = "1"> <DESCRIPTION> ! &LIB; shall provide an API for creating and manipulating UML models. ! This API would preferably be standardized and would ideally be that presented ! in UMLv1.3. </DESCRIPTION> <RATIONALE></RATIONALE> --- 508,513 ---- <REQUIREMENT product = "&LIB;" req_id = "22" priority = "1"> <DESCRIPTION> ! &LIB; shall implement the CORBA Facility defined in UMLv1.3 for creating and ! manipulating UML models. </DESCRIPTION> <RATIONALE></RATIONALE> *************** *** 508,511 **** --- 550,567 ---- </REQUIREMENT> + <REQUIREMENT product = "&LIB;" req_id = "39" visibility = "internal" priority = "2"> + <DESCRIPTION> + &LIB; shall furnish a framework for the development of code generation + plugins. + </DESCRIPTION> + </REQUIREMENT> + + <REQUIREMENT product = "&LIB;" req_id = "40" visibility = "internal" priority = "2"> + <DESCRIPTION> + &LIB; shall furnish a framework for the development of reverse + engineering plugins. + </DESCRIPTION> + </REQUIREMENT> + </PRODUCT> *************** *** 523,530 **** --- 579,589 ---- </DEFINITION.priority> + <!-- <DEFINITION.term term = "project"> A project is a systemModel possibly with some additional information. </DEFINITION.term> + + --> <DEFINITION.term term = "UMLv1.3"> |
From: Gerard F. <ger...@us...> - 2000-10-17 19:15:51
|
Update of /cvsroot/kuml/kuml/docs/developer/analysis/requirements In directory slayer.i.sourceforge.net:/tmp/cvs-serv32504 Modified Files: kuml_design.dtd kuml_design_to_html.xsl requirements.xml Log Message: Added COMMENT element to requirements DTD Index: kuml_design.dtd =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/kuml_design.dtd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** kuml_design.dtd 2000/10/14 04:15:33 1.1 --- kuml_design.dtd 2000/10/17 19:15:48 1.2 *************** *** 50,53 **** --- 50,59 ---- <!ELEMENT NOTE (#PCDATA|PAR|TERM|BR|A)*> + <!-- An indiviual developer's comment on a requirement. Non-normative. --> + <!ELEMENT COMMENT (#PCDATA|PAR|TERM|BR|A)*> + <!ATTLIST COMMENT + author CDATA #REQUIRED + > + <!-- An explanation for the reason for including the requirement. Non-normative. --> <!ELEMENT RATIONALE (#PCDATA|PAR|TERM|BR|A)*> *************** *** 62,66 **** <!-- A project or product requirement --> ! <!ELEMENT REQUIREMENT (DESCRIPTION,RATIONALE,(DETAIL|NOTE)*)> <!-- REQUIREMENT ATTRIBUTES --> <!-- ****************************************************************** --> --- 68,72 ---- <!-- A project or product requirement --> ! <!ELEMENT REQUIREMENT (DESCRIPTION,RATIONALE,(DETAIL|NOTE|COMMENT)*)> <!-- REQUIREMENT ATTRIBUTES --> <!-- ****************************************************************** --> Index: kuml_design_to_html.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/kuml_design_to_html.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** kuml_design_to_html.xsl 2000/10/14 05:14:57 1.2 --- kuml_design_to_html.xsl 2000/10/17 19:15:48 1.3 *************** *** 221,231 **** </UL> </TD> ! </TR> ! <TR> <TD colspan = "2"> <xsl:apply-templates select = "NOTE"/> </TD> </TR> ! </TBODY> </TABLE> </DIV> --- 221,236 ---- </UL> </TD> ! </TR> ! <TR> <TD colspan = "2"> <xsl:apply-templates select = "NOTE"/> </TD> + </TR> + <TR> + <TD colspan = "2" bgcolor = "#00caca"> + <xsl:apply-templates select = "COMMENT"/> + </TD> </TR> ! </TBODY> </TABLE> </DIV> *************** *** 249,252 **** --- 254,261 ---- <P><STRONG>Note <xsl:number value = "position()"/>:</STRONG><xsl:apply-templates/></P> </xsl:template> + + <xsl:template match = "COMMENT"> + <P><STRONG> Comment by <xsl:value-of select = "attribute::author"/>:</STRONG> <xsl:apply-templates/></P> + </xsl:template> <xsl:template match = "PAR"> Index: requirements.xml =================================================================== RCS file: /cvsroot/kuml/kuml/docs/developer/analysis/requirements/requirements.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** requirements.xml 2000/10/14 05:14:57 1.3 --- requirements.xml 2000/10/17 19:15:48 1.4 *************** *** 6,12 **** them. --> <!-- ************************************************************* --> ! <!ENTITY PROJECT "KUml"> ! <!ENTITY APP "KUmlGui"> ! <!ENTITY LIB "KUmlLib"> ]> --- 6,12 ---- them. --> <!-- ************************************************************* --> ! <!ENTITY PROJECT "kUML"> ! <!ENTITY APP "kUMLGui"> ! <!ENTITY LIB "kUMLLib"> ]> *************** *** 24,28 **** <PROJECT name = "kuml"> <DESCRIPTION> ! The kuml project aims to produce a general purpose graphical UML modeling tool called herein &APP; as well as a component library, &LIB;, which will allow the manipulation of UML models and --- 24,28 ---- <PROJECT name = "kuml"> <DESCRIPTION> ! The kUML project aims to produce a general purpose graphical UML modeling tool called herein &APP; as well as a component library, &LIB;, which will allow the manipulation of UML models and *************** *** 30,39 **** of course make use of the functionality offered by &LIB; but &LIB; will in no way depend on &APP; and may be used in any application which requires ! access to UML model information. The kuml project is based on version 1.3 of the UML standard <TERM>UMLv1.3</TERM> as defined in the document <A href = "ftp://ftp.omg.org/pub/docs/formal/00-03-01.pdf"> ftp://ftp.omg.org/pub/docs/formal/00-03-01.pdf</A>. ! Both kuml products aim for full compliance with this standard. </DESCRIPTION> --- 30,39 ---- of course make use of the functionality offered by &LIB; but &LIB; will in no way depend on &APP; and may be used in any application which requires ! access to UML model information. The kUML project is based on version 1.3 of the UML standard <TERM>UMLv1.3</TERM> as defined in the document <A href = "ftp://ftp.omg.org/pub/docs/formal/00-03-01.pdf"> ftp://ftp.omg.org/pub/docs/formal/00-03-01.pdf</A>. ! Both kUML products aim for full compliance with this standard. </DESCRIPTION> *************** *** 435,439 **** </PAR> <PAR> ! It will implement a kuml specific Corba interface for the storage and retrieval of presentation information which will be linked to UML model's via inheritance from the --- 435,439 ---- </PAR> <PAR> ! It will implement a kUML specific Corba interface for the storage and retrieval of presentation information which will be linked to UML model's via inheritance from the *************** *** 441,445 **** </PAR> <PAR> ! It will implement a kuml specific Corba interface for the conversion of complete as well as partial UML models to XMI streams and the inverse operation (creation of models from XMI streams). --- 441,445 ---- </PAR> <PAR> ! It will implement a kUML specific Corba interface for the conversion of complete as well as partial UML models to XMI streams and the inverse operation (creation of models from XMI streams). *************** *** 516,524 **** <DEFINITION.priority priority = "2"> ! Goal for kuml version 1.0. </DEFINITION.priority> <DEFINITION.priority priority = "3"> ! Possible goal for kuml versions > 1.0. </DEFINITION.priority> --- 516,524 ---- <DEFINITION.priority priority = "2"> ! Goal for kUML version 1.0. </DEFINITION.priority> <DEFINITION.priority priority = "3"> ! Possible goal for kUML versions > 1.0. </DEFINITION.priority> |
From: Gerard F. <ger...@us...> - 2000-10-16 04:07:40
|
Update of /cvsroot/kuml/kuml/libkuml/test_client In directory slayer.i.sourceforge.net:/tmp/cvs-serv20340 Log Message: Imported Freecase-0.4 test_client. Status: Vendor Tag: freecase Release Tags: freecase-0_4-final N kuml/libkuml/test_client/Makefile N kuml/libkuml/test_client/test_client.cc N kuml/libkuml/test_client/runMe No conflicts created by this import ***** Bogus filespec: - ***** Bogus filespec: Imported ***** Bogus filespec: sources |
From: Gerard F. <ger...@us...> - 2000-10-16 04:04:26
|
Update of /cvsroot/kuml/kuml/libkuml/uml In directory slayer.i.sourceforge.net:/tmp/cvs-serv18775 Log Message: Imported freecase-0.4 as base for kuml uml repository. Status: Vendor Tag: freecase Release Tags: freecase-0_4-final N kuml/libkuml/uml/README.txt N kuml/libkuml/uml/start_fcd N kuml/libkuml/uml/TODO.txt N kuml/libkuml/uml/freecase N kuml/libkuml/uml/Makefile N kuml/libkuml/uml/.gdb_init N kuml/libkuml/uml/CHANGES.txt N kuml/libkuml/uml/DESIGN.txt N kuml/libkuml/uml/Reflective/Makefile N kuml/libkuml/uml/Reflective/Reflective.cc N kuml/libkuml/uml/Reflective/Reflective.h N kuml/libkuml/uml/Reflective/Reflective_impl.cc N kuml/libkuml/uml/Reflective/Reflective_impl.h N kuml/libkuml/uml/main/Makefile N kuml/libkuml/uml/main/main.cc N kuml/libkuml/uml/idl-1.3/BehavioralElements.idl N kuml/libkuml/uml/idl-1.3/Foundation.idl N kuml/libkuml/uml/idl-1.3/ModelManagement.idl N kuml/libkuml/uml/idl-1.3/Reflective.idl N kuml/libkuml/uml/idl-1.3/Makefile N kuml/libkuml/uml/tools/split_cc.tcl N kuml/libkuml/uml/tools/split_h.tcl N kuml/libkuml/uml/tools/apply_sed N kuml/libkuml/uml/tools/apply_patches N kuml/libkuml/uml/tools/split_uch.tcl N kuml/libkuml/uml/tools/move_files N kuml/libkuml/uml/Foundation/AssociationClass_impl.h N kuml/libkuml/uml/Foundation/AssociationEndClass_impl.h N kuml/libkuml/uml/Foundation/AAssociationConnection_impl.h N kuml/libkuml/uml/Foundation/ABehavioralFeatureParameter_impl.h N kuml/libkuml/uml/Foundation/ABindingArgument_impl.h N kuml/libkuml/uml/Foundation/AChildGeneralization_impl.h N kuml/libkuml/uml/Foundation/AClientClientDependency_impl.h N kuml/libkuml/uml/Foundation/ACommentAnnotatedElement_impl.h N kuml/libkuml/uml/Foundation/AConstrainedElement2StereotypeConstraint_impl.h N kuml/libkuml/uml/Foundation/Flow_impl.h N kuml/libkuml/uml/Foundation/AssociationEnd_impl.cc N kuml/libkuml/uml/Foundation/AssociationEnd_impl.h N kuml/libkuml/uml/Foundation/AConstrainedElementConstraint_impl.h N kuml/libkuml/uml/Foundation/ADefaultElementTemplateParameter3_impl.h N kuml/libkuml/uml/Foundation/Association_impl.cc N kuml/libkuml/uml/Foundation/Association_impl.h N kuml/libkuml/uml/Foundation/BehavioralFeatureClass_impl.h N kuml/libkuml/uml/Foundation/ADeploymentLocationResident_impl.h N kuml/libkuml/uml/Foundation/AModelElement2TemplateParameter2_impl.h N kuml/libkuml/uml/Foundation/BehavioralFeature_impl.cc N kuml/libkuml/uml/Foundation/BehavioralFeature_impl.h N kuml/libkuml/uml/Foundation/ClassClass_impl.h N kuml/libkuml/uml/Foundation/Class_impl.cc N kuml/libkuml/uml/Foundation/Class_impl.h N kuml/libkuml/uml/Foundation/ClassifierClass_impl.h N kuml/libkuml/uml/Foundation/AModelElementTaggedValue_impl.h N kuml/libkuml/uml/Foundation/AImplementationLocationResidentElement_impl.h N kuml/libkuml/uml/Foundation/AModelElementTemplateParameter_impl.h N kuml/libkuml/uml/Foundation/Foundation.h N kuml/libkuml/uml/Foundation/Classifier_impl.cc N kuml/libkuml/uml/Foundation/Classifier_impl.h N kuml/libkuml/uml/Foundation/ANamespaceOwnedElement_impl.h N kuml/libkuml/uml/Foundation/AOwnerFeature_impl.h N kuml/libkuml/uml/Foundation/AParameterType_impl.h N kuml/libkuml/uml/Foundation/AParentSpecialization_impl.h N kuml/libkuml/uml/Foundation/AParticipantSpecification_impl.h N kuml/libkuml/uml/Foundation/DataTypeClass_impl.h N kuml/libkuml/uml/Foundation/DataType_impl.cc N kuml/libkuml/uml/Foundation/DataType_impl.h N kuml/libkuml/uml/Foundation/DependencyClass_impl.h N kuml/libkuml/uml/Foundation/Dependency_impl.cc N kuml/libkuml/uml/Foundation/Dependency_impl.h N kuml/libkuml/uml/Foundation/ElementClass_impl.h N kuml/libkuml/uml/Foundation/APowertypePowertypeRange_impl.h N kuml/libkuml/uml/Foundation/APresentationSubject_impl.h N kuml/libkuml/uml/Foundation/Binding_impl.h N kuml/libkuml/uml/Foundation/Element_impl.cc N kuml/libkuml/uml/Foundation/Element_impl.h N kuml/libkuml/uml/Foundation/AQualifierAssociationEnd_impl.h N kuml/libkuml/uml/Foundation/ARequiredTagStereotype_impl.h N kuml/libkuml/uml/Foundation/AResidentElementResidence_impl.h N kuml/libkuml/uml/Foundation/ASourceFlowSource_impl.h N kuml/libkuml/uml/Foundation/ASpecificationMethod_impl.h N kuml/libkuml/uml/Foundation/AStereotypeExtendedElement_impl.h N kuml/libkuml/uml/Foundation/Feature_impl.cc N kuml/libkuml/uml/Foundation/AStructuralFeatureType_impl.h N kuml/libkuml/uml/Foundation/FeatureClass_impl.h N kuml/libkuml/uml/Foundation/Feature_impl.h N kuml/libkuml/uml/Foundation/ATargetFlowTarget_impl.h N kuml/libkuml/uml/Foundation/GeneralizableElementClass_impl.h N kuml/libkuml/uml/Foundation/ASupplierSupplierDependency_impl.h N kuml/libkuml/uml/Foundation/ATypeAssociationEnd_impl.h N kuml/libkuml/uml/Foundation/AbstractionClass_impl.h N kuml/libkuml/uml/Foundation/Abstraction_impl.h N kuml/libkuml/uml/Foundation/GeneralizableElement_impl.cc N kuml/libkuml/uml/Foundation/GeneralizableElement_impl.h N kuml/libkuml/uml/Foundation/GeneralizationClass_impl.h N kuml/libkuml/uml/Foundation/BindingClass_impl.h N kuml/libkuml/uml/Foundation/Generalization_impl.h N kuml/libkuml/uml/Foundation/MethodClass_impl.h N kuml/libkuml/uml/Foundation/CommentClass_impl.h N kuml/libkuml/uml/Foundation/Comment_impl.h N kuml/libkuml/uml/Foundation/ComponentClass_impl.h N kuml/libkuml/uml/Foundation/Method_impl.cc N kuml/libkuml/uml/Foundation/Method_impl.h N kuml/libkuml/uml/Foundation/ModelElementClass_impl.h N kuml/libkuml/uml/Foundation/Component_impl.h N kuml/libkuml/uml/Foundation/CorePackage_impl.h N kuml/libkuml/uml/Foundation/DataTypesPackage_impl.h N kuml/libkuml/uml/Foundation/ElementResidenceClass_impl.h N kuml/libkuml/uml/Foundation/ElementResidence_impl.h N kuml/libkuml/uml/Foundation/ExtensionMechanismsPackage_impl.h N kuml/libkuml/uml/Foundation/FlowClass_impl.h N kuml/libkuml/uml/Foundation/FoundationPackageFactory_impl.h N kuml/libkuml/uml/Foundation/FoundationPackage_impl.h N kuml/libkuml/uml/Foundation/NodeClass_impl.h N kuml/libkuml/uml/Foundation/Node_impl.h N kuml/libkuml/uml/Foundation/PermissionClass_impl.h N kuml/libkuml/uml/Foundation/Permission_impl.h N kuml/libkuml/uml/Foundation/PresentationElementClass_impl.h N kuml/libkuml/uml/Foundation/PresentationElement_impl.h N kuml/libkuml/uml/Foundation/RelationshipClass_impl.h N kuml/libkuml/uml/Foundation/ModelElement_impl.cc N kuml/libkuml/uml/Foundation/ModelElement_impl.h N kuml/libkuml/uml/Foundation/NamespaceClass_impl.h N kuml/libkuml/uml/Foundation/Relationship_impl.h N kuml/libkuml/uml/Foundation/TemplateParameterClass_impl.h N kuml/libkuml/uml/Foundation/TemplateParameter_impl.h N kuml/libkuml/uml/Foundation/UmlConstraintClass_impl.h N kuml/libkuml/uml/Foundation/UmlConstraint_impl.h N kuml/libkuml/uml/Foundation/Namespace_impl.cc N kuml/libkuml/uml/Foundation/Namespace_impl.h N kuml/libkuml/uml/Foundation/OperationClass_impl.h N kuml/libkuml/uml/Foundation/Operation_impl.cc N kuml/libkuml/uml/Foundation/Operation_impl.h N kuml/libkuml/uml/Foundation/ParameterClass_impl.h N kuml/libkuml/uml/Foundation/UsageClass_impl.h N kuml/libkuml/uml/Foundation/Usage_impl.h N kuml/libkuml/uml/Foundation/AAssociationConnection_impl.cc N kuml/libkuml/uml/Foundation/Parameter_impl.cc N kuml/libkuml/uml/Foundation/Parameter_impl.h N kuml/libkuml/uml/Foundation/ABehavioralFeatureParameter_impl.cc N kuml/libkuml/uml/Foundation/ABindingArgument_impl.cc N kuml/libkuml/uml/Foundation/AChildGeneralization_impl.cc N kuml/libkuml/uml/Foundation/AClientClientDependency_impl.cc N kuml/libkuml/uml/Foundation/Stereotype_impl.cc N kuml/libkuml/uml/Foundation/StereotypeClass_impl.h N kuml/libkuml/uml/Foundation/ACommentAnnotatedElement_impl.cc N kuml/libkuml/uml/Foundation/AConstrainedElement2StereotypeConstraint_impl.cc N kuml/libkuml/uml/Foundation/AConstrainedElementConstraint_impl.cc N kuml/libkuml/uml/Foundation/ADefaultElementTemplateParameter3_impl.cc N kuml/libkuml/uml/Foundation/Makefile N kuml/libkuml/uml/Foundation/ADeploymentLocationResident_impl.cc N kuml/libkuml/uml/Foundation/AImplementationLocationResidentElement_impl.cc N kuml/libkuml/uml/Foundation/Stereotype_impl.h N kuml/libkuml/uml/Foundation/StructuralFeatureClass_impl.h N kuml/libkuml/uml/Foundation/AModelElement2TemplateParameter2_impl.cc N kuml/libkuml/uml/Foundation/AModelElementTaggedValue_impl.cc N kuml/libkuml/uml/Foundation/StructuralFeature_impl.cc N kuml/libkuml/uml/Foundation/StructuralFeature_impl.h N kuml/libkuml/uml/Foundation/AModelElementTemplateParameter_impl.cc N kuml/libkuml/uml/Foundation/AOwnerFeature_impl.cc N kuml/libkuml/uml/Foundation/TaggedValueClass_impl.h N kuml/libkuml/uml/Foundation/TaggedValue_impl.cc N kuml/libkuml/uml/Foundation/TaggedValue_impl.h N kuml/libkuml/uml/Foundation/UmlAssociationClassClass_impl.h N kuml/libkuml/uml/Foundation/UmlAssociationClass_impl.cc N kuml/libkuml/uml/Foundation/UmlAssociationClass_impl.h N kuml/libkuml/uml/Foundation/UmlAttributeClass_impl.h N kuml/libkuml/uml/Foundation/UmlAttribute_impl.cc N kuml/libkuml/uml/Foundation/UmlAttribute_impl.h N kuml/libkuml/uml/Foundation/ANamespaceOwnedElement_impl.cc N kuml/libkuml/uml/Foundation/AParameterType_impl.cc N kuml/libkuml/uml/Foundation/AParentSpecialization_impl.cc N kuml/libkuml/uml/Foundation/AParticipantSpecification_impl.cc N kuml/libkuml/uml/Foundation/UmlInterfaceClass_impl.h N kuml/libkuml/uml/Foundation/UmlInterface_impl.cc N kuml/libkuml/uml/Foundation/UmlInterface_impl.h N kuml/libkuml/uml/Foundation/isequence_extensions.h N kuml/libkuml/uml/Foundation/sequence_extensions.h N kuml/libkuml/uml/Foundation/Flow_impl.cc N kuml/libkuml/uml/Foundation/AssociationClass_impl.cc N kuml/libkuml/uml/Foundation/AssociationEndClass_impl.cc N kuml/libkuml/uml/Foundation/BehavioralFeatureClass_impl.cc N kuml/libkuml/uml/Foundation/ClassClass_impl.cc N kuml/libkuml/uml/Foundation/ClassifierClass_impl.cc N kuml/libkuml/uml/Foundation/AbstractionClass_impl.cc N kuml/libkuml/uml/Foundation/DataTypeClass_impl.cc N kuml/libkuml/uml/Foundation/DependencyClass_impl.cc N kuml/libkuml/uml/Foundation/ElementClass_impl.cc N kuml/libkuml/uml/Foundation/APowertypePowertypeRange_impl.cc N kuml/libkuml/uml/Foundation/APresentationSubject_impl.cc N kuml/libkuml/uml/Foundation/ASourceFlowSource_impl.cc N kuml/libkuml/uml/Foundation/FeatureClass_impl.cc N kuml/libkuml/uml/Foundation/GeneralizableElementClass_impl.cc N kuml/libkuml/uml/Foundation/GeneralizationClass_impl.cc N kuml/libkuml/uml/Foundation/MethodClass_impl.cc N kuml/libkuml/uml/Foundation/ModelElementClass_impl.cc N kuml/libkuml/uml/Foundation/NamespaceClass_impl.cc N kuml/libkuml/uml/Foundation/OperationClass_impl.cc N kuml/libkuml/uml/Foundation/ParameterClass_impl.cc N kuml/libkuml/uml/Foundation/AQualifierAssociationEnd_impl.cc N kuml/libkuml/uml/Foundation/StereotypeClass_impl.cc N kuml/libkuml/uml/Foundation/StructuralFeatureClass_impl.cc N kuml/libkuml/uml/Foundation/Abstraction_impl.cc N kuml/libkuml/uml/Foundation/TaggedValueClass_impl.cc N kuml/libkuml/uml/Foundation/UmlAssociationClassClass_impl.cc N kuml/libkuml/uml/Foundation/UmlAttributeClass_impl.cc N kuml/libkuml/uml/Foundation/UmlInterfaceClass_impl.cc N kuml/libkuml/uml/Foundation/ARequiredTagStereotype_impl.cc N kuml/libkuml/uml/Foundation/makefile.mk N kuml/libkuml/uml/Foundation/AResidentElementResidence_impl.cc N kuml/libkuml/uml/Foundation/Generalization_impl.cc N kuml/libkuml/uml/Foundation/ASpecificationMethod_impl.cc N kuml/libkuml/uml/Foundation/AStereotypeExtendedElement_impl.cc N kuml/libkuml/uml/Foundation/AStructuralFeatureType_impl.cc N kuml/libkuml/uml/Foundation/ASupplierSupplierDependency_impl.cc N kuml/libkuml/uml/Foundation/ATargetFlowTarget_impl.cc N kuml/libkuml/uml/Foundation/ATypeAssociationEnd_impl.cc N kuml/libkuml/uml/Foundation/BindingClass_impl.cc N kuml/libkuml/uml/Foundation/Binding_impl.cc N kuml/libkuml/uml/Foundation/CommentClass_impl.cc N kuml/libkuml/uml/Foundation/Comment_impl.cc N kuml/libkuml/uml/Foundation/ComponentClass_impl.cc N kuml/libkuml/uml/Foundation/Component_impl.cc N kuml/libkuml/uml/Foundation/CorePackage_impl.cc N kuml/libkuml/uml/Foundation/DataTypesPackage_impl.cc N kuml/libkuml/uml/Foundation/ElementResidenceClass_impl.cc N kuml/libkuml/uml/Foundation/ElementResidence_impl.cc N kuml/libkuml/uml/Foundation/ExtensionMechanismsPackage_impl.cc N kuml/libkuml/uml/Foundation/FlowClass_impl.cc N kuml/libkuml/uml/Foundation/Foundation1.cc N kuml/libkuml/uml/Foundation/FoundationPackageFactory_impl.cc N kuml/libkuml/uml/Foundation/FoundationPackage_impl.cc N kuml/libkuml/uml/Foundation/NodeClass_impl.cc N kuml/libkuml/uml/Foundation/Node_impl.cc N kuml/libkuml/uml/Foundation/PermissionClass_impl.cc N kuml/libkuml/uml/Foundation/Permission_impl.cc N kuml/libkuml/uml/Foundation/PresentationElementClass_impl.cc N kuml/libkuml/uml/Foundation/PresentationElement_impl.cc N kuml/libkuml/uml/Foundation/RelationshipClass_impl.cc N kuml/libkuml/uml/Foundation/Usage_impl.cc N kuml/libkuml/uml/Foundation/Relationship_impl.cc N kuml/libkuml/uml/Foundation/TemplateParameterClass_impl.cc N kuml/libkuml/uml/Foundation/TemplateParameter_impl.cc N kuml/libkuml/uml/Foundation/UmlConstraintClass_impl.cc N kuml/libkuml/uml/Foundation/UmlConstraint_impl.cc N kuml/libkuml/uml/Foundation/UsageClass_impl.cc N kuml/libkuml/uml/Foundation/copy_to_seq.h N kuml/libkuml/uml/Foundation/copy_to_iseq.h N kuml/libkuml/uml/Foundation/list_ops.h N kuml/libkuml/uml/Foundation/Foundation2.cc N kuml/libkuml/uml/Foundation/Foundation3.cc N kuml/libkuml/uml/Foundation/Foundation4.cc N kuml/libkuml/uml/Foundation/tmp.h No conflicts created by this import ***** Bogus filespec: - ***** Bogus filespec: Imported ***** Bogus filespec: sources |
From: Gerard F. <ger...@us...> - 2000-10-14 11:12:09
|
Update of /cvsroot/kuml/kuml In directory slayer.i.sourceforge.net:/tmp/cvs-serv3502 Removed Files: test1 Log Message: Removed test file --- test1 DELETED --- |
From: Gerard F. <ger...@us...> - 2000-10-14 09:51:40
|
Update of /cvsroot/kuml/kuml In directory slayer.i.sourceforge.net:/tmp/cvs-serv2851 Modified Files: test1 Log Message: This is another test for the kuml-cvs list Index: test1 =================================================================== RCS file: /cvsroot/kuml/kuml/test1,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** test1 2000/10/14 09:46:08 1.1 --- test1 2000/10/14 09:51:34 1.2 *************** *** 0 **** --- 1 ---- + test2 |
From: Gerard F. <ger...@us...> - 2000-10-14 09:46:11
|
Update of /cvsroot/kuml/kuml In directory slayer.i.sourceforge.net:/tmp/cvs-serv31097 Added Files: test1 Log Message: This is just a test for the kuml-cvs list --- NEW FILE --- |