Home
Bouml user manual - Fedora Project Packages GIT repositories
Contents
1. drawing mode Allows to draw the class using a rectangle or an icon class to draw a rectangle whatever the stereotype of the class control to draw the control icon whatever the stereotype of the class boundary to draw the boundary icon whatever the stereotype of the class entity to draw the entity icon whatever the stereotype of the class actor to an actor whatever the stereotype of the class natural the draw the class depending on its the stereotype show context To indicate if the context where the class is defined must be written and if yes how The context may be the UML context which is the path of the class in the browser or the C namespace or the Java package or at least the Id module In case the class has an associated artifact the namespace package module is the one specified by the package containing the artifact else by the package containing the class itself Obviously nothing is written in case the namespace package module is not specified For instance the package Package2 specify the C namespace nsp the Java package jpck the python package ppck and the Idl module mdl The C picture is depending on the show context El context UML C namespace Java package Python package Id module Ei Package1 G1 _JPackage2 Packagel Package C jpck c ppck c fijClass views p i Ac hide attributes To hide or not the attributes it is also possible to specify the
2. ype direction out mutililty ordering unordered efect none In state l s_contral T unique standard exception stream description Editar The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The proposed types are the non class types defined in the first tab of the generation settings more all the classes defined in the project with their localization to distinguish synonymous classes You are not limited to the proposed list and any form even invalid for th target language s may be given The button type shows a menu proposing e if the current type of the pin is a class to select this class in the browser e if the pin is not read only and if a class is selected in the browser to set the type to be this class e if the view containing the activity is not read only to create a class and to choose it The direction multiplicity ordering effect in state default value is control unique exception and stream are the standard UML 187 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html properties The flags exception and stream are exclusive choose standard to be not exception nor stream The editor button visible above and associated here to the default value and description allows to edit the def
3. Pre condition Post condition omen 180 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The button variable shows a menu proposing e if the current variable is set to select this attribute or relation in the browser e if the action is not read only and if a class attribute or relation is selected in the browser to set the variable to be the selected element e if the class is not read only to create a new attribute and to choose it Activity read variable value action dialog tab C This tab allows to specify the pre and post condition in C but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog is ih e Umi variable Oc C Java Properties Fre condition Post condition wen Activity read variable value action dialog tab Java This tab allows to specify the pre and post condition in Java but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog 2 karalaika Umi variable Gel c Java Properties Fre condition Post condition Activity clear variable value action Activity write variable value action Activity add variable value action Activity remove variable value action The dialog is equals to the read variable value action case Activity call behavior action dialog tab Uml 181 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOU
4. A component diagram may contain component package fragment notes texts diagram icons and the relations Note that the association between components does not appears in the browser there are establish deleted throw the component diagrams or when you edit the component from where the relation start To place these elements in the diagram use the buttons on the top to create a new element or choose from the already defined ones tl click at the appropriate position in the diagram or grab the element from the browser into the diagram To add required and provided interface indications use the appropriate button click on the component move the mouse click down and release the click on an alre placed or or nowhere in this least case BOUML will ask you to select a class from the list set by editing the component OrderEntry and Account are available for the component Store because Customer and Order are nested in Store The scale may be changed from 30 up to 200 To allows to see the relation kinds even with a small scale the size of the arrows is unmodified fit allows to set the largest scale allowing to show all the picture as it is possible Because of the scrollbar management hitting several times 311 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html on fit may give several scales Classically the left mouse click may be used to select an element or several when the control key is down
5. A right mouse click on a note show the following menu 283 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Upper Lower Echt Color of text Font b Edit drawing settings select linked items Remove from view The font may be changed by default the font is the one used to write the other texts The color of the text may be changed a text is black by default Edit drawing settings allows to change the fill color Select linked items select all the items connected this the current one through any line in the previous picture this select all except the package the text upper diagram and the use case diagram icon Text Text is another way to write a text contrary to the note a text is written alone see upper diagram on the picture below by default a text contains blabla a text cannot be empty The edition of a text is done like for a note A text is resizeable a resize 1s not automatically done when the contains is modified A right mouse click on a text show the following menu Color Font Select linked tems Remove from view Diagram icon A diagram icon is a shortcut to a diagram this allows to quickly navigate through the diagram without limitation a actor or some othe item kinds may be associated to only one diagram The used icon indicates the diagram kind but its name is not written A double mouse left click on a diagram icon opens the
6. Definition final class Enum ea One nee TWO Result after substitution Default definition Not generated in Php Standard class 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html ee N E Umi Parametrized C Java Php io Properties M final l external f caomment final ivisibility labstract class name lextends F implements members Definition Result after gt substitution Default definition Nat generated in Php visibility produce an empty string when the visibility except if this one is package If you want to generate Php 4 set the visibility to package final produce an empty string when the check box final is not checked else produce final abstract produce an empty string when the check box abstract is not checked else produce abstract The external check box must be used when the class must not be defined in Php by BOUML but you want to specify the name of the class to no follow the Uml C Php Python Idl name members produce the declaration of the class members relations attributes operations and extra members following the browser order items produces the enumeration items of an enum other members are not produced extend is replaced by the class inheritance implement is replaced by the interface inheritance The forms property are replaced by the value of the c
7. Flow dialog tab Java This tab allows to give the Java definition of the flow but in fact BOUML doesn t check the syntax this is just a convention Flow dialog lt 3 PT ae Lim Oci c Java Properties weight guard Editor selection Editor transformation i Editor Menu delete The menu entry delete is only present when the flow is not read only Delete the flow associated get and set operations when they exist and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu select X To select the target of the flow Menu mark See mark Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the flows 205 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Default stereotypes dialog pmp a a a cetawore cect aki Mer Drawing A flow is drawn in a diagram with a line may be with the associated labels flow s name stereotypes the stereotype interrupt is specially managed and allows to show a zigzag the weight the guard the selection and transformation depending on the drawing ssettings To add a new flow between elements select the flow through the buttons on the top of the diagram sub window click on the start element with the left mouse button move th
8. Interruptible region menus The interruptible region menu appearing with a right mouse click on its representation in the browser is something like these supposing the region not read only 167 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html nor deleted see also menu in a diagram Interruptible region add nasheed EE activity meee add expansion region add activity action add object node edit duplicate set it nested In regian abave extract it from current parent region delete Sati Menu add These entries of the menu allow to add a nested region or an activity node activity action object node or control node Menu edit edit allows to show modify the region properties In case the region is read only the fields of the dialog are also read only Interruptible region dialog tab Uml Interruptible Activity Region d cacie ss name i Jinterruptibie region Stereotype description Editar OK Cancel The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external edito
9. stereotype is replaced by the stereotype translated in C first tab of the generation setting dialog multiplicity is replaced by the multiplicity see the UML tab h_value is replaced in the header file by the initial value of the relation see the UML tab mutable produce an empty string when the check box mutable is not checked else produce mutable volatile produce an empty string when the check box volatile is not checked see the UML tab else produce volatile association produce the association class The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted When the check box virtual is checked the inheritance is virtual 81 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Refer to the generation settings and the C Generator for more details and explanation of the other keywords Relation dialog tab Java This tab allows to give the Java definition of the relation it is visible only when Java is set through the Languages menu For an association or an aggregation without multiplicity ee Oo T Lim c Java io User ROLE 1 T transient S comment visibility static final transient volatile type nmame value Declaration protected C2 thet2z Result after substitution Default declaration Not generated in J
10. When you are several working on the same project you have to choose between two ways To share the same project files In this case all the users work on the same project files this means that no one has a copy of the project files This is possible because when you do a save only the modified files are written However this suppose at most one user may modify a given project fil modifications made by several will quickly be done There are two way to allow at most one user to modify a file to use the write permission set using your OS difficult under Windows with the help of File Control or to use Project Control File Control File control is a plug out mainly dedicated to be an interface between BOUML and a file control like Clearcase CVS or Subversion etc however to use a file control may affect the write permission of the files Project control Project control is a tool managing an applicative write permission optionally memorized in the project files associated to the packages This allows to set the write permission independently of the OS you use To use project images In this case each user has an own copy of the project and sometimes all the modifications done in parallel are grouped You may adopt two strategies to allows any user to modify any part of the project in this case you will have to merge the modifications by yourself or to allow only one user to modify a given project file Even the Project files
11. When you push the button default declaration the form specified through the generation settings is proposed this last may be modified as you want even to produce illegal source code When you do not want to have this attribute defined in Idl empties the declaration manually or using the button not generated in Idl It is possible to follow the visibility as it is set in the UML Tab or to change it replacing visibility by the desired one type is replaced by the class pointed by the attribute see the UML tab name is replaced by the attribute s name see the UML tab stereotype is replaced by the translation in Id of the attribute s stereotype see the UML tab multiplicity is replaced by the multiplicity of the attribute see the UML tab Refer to the generation settings and Id generator for more details and explanation of the other keywords Menu duplicate The menu entry duplicate clone the attribute Menu add These entries allow to produce get and set operations on the attribute contrarily to the similar operations made by hand these two ones 107 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html are linked to the associated attribute to be updated or deleted when the attributes is deleted The default name of the operation characteristics are set through the generation settings By default the get and set operations generated for the Stop s attribute name are C inline con
12. a Requested Order y flow me BRecelve Order axe e eflows e flow EHOFiNI Order Ship Order E4O gt Close Order B Ep eI BOSend Invoice flows BAOMake Payment EH bAccept Payment BClnvoice Process Order 162 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Note the activity sub elements are forced to be inside their activity rectangle So when you want to draw in a diagram both an activity and some of its elements I strongly recommend to add first the activity then the elements else when you add the activity the elements may be moved to be inside the rectangle broking their respective positions A right mouse click on a activity in a diagram calls the following menu supposing the activity editable Process Order add parameter LIEPer lower edit drawing settings edit activity select in browser set associated diagram remove from view delete from model Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a activity in a diagram all the settings are set to default show conditions defaut activity color drawing language default cw cw show conditions Allows to sho
13. activity diagram Stereotypes component diagram stereotypes deployment diagram stereotypes Drawing 248 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Sequence Diagrama a se n writen ma jacCo vertically namporary opin gi uchar int A sequence diagram may contain actors classes instances part of the model or only graphical fragment notes texts diagram icons and the operations messages To place these elements in the diagram use the buttons on the top to create a new element or choose from the already defined ones tl click at the appropriate position in the diagram or grab the element from the browser into the diagram To add an operation message select the appropriate button the synchronous asynchronous state may be changed through operation message edit menu click on the sender with the left mouse button except for the self operation message move the mouse to the receiver maintaining the mouse button down then mouse button up BOUML doesn t fix the vertical size of the rectangle representing the activity duration you are the master To do this click down the mouse button on the top or bottom and move the mouse The size of an activity bar is updated when you try to move a message above t top or below the bottom of the bar When you move vertically a message operation out of its current activity duration rectangle a new one is automatically added is need
14. int index bypass_commentls while tindex n gen javaadecl_hody87tTda0 2 java Operation dialog tab Php This tab allows to give the Php definition of the operation it is visible only if Php is set through the Language menu i Operation dialog 2 umi C Java Php Properties M final comment final visibility labstract static function name pOl ipil lp2 body Definition ffentry to produce the html code receiving chapter number path rank in the mother and level in the browser tree public function html pfiz rank level Result atter body substitution Edit body Default definition Nat generated in Php Edit parameters In BOUML the generated code is obtained by the substitution of macros in a text only the Definition part is editable the other one help you to see what will be generated for Php supposing you do not modify the Php code generator When you push the button Default definition the form specified through the generation settings is proposed adding all the operation parameters given in the UML tab These forms may be modified as you want even to produce illegal source code When you do not want to have this operation defined in Php empties the definition manually or using the button not generated in Php visibility produce the visibility see the UML tab except if the visibility is package use this case to gener
15. long optin octet p e instances drawing mode to draw an instance in the standard way or tu use one of the icons actor boundary control or entity e show operations full definition to show all the operation profile or just its name may be with the arguments specified at the operation level in the diagram see edit e write class instance horizontally To write the instance type and name on the same line or on two lines Browser Menu duplicate Clone the diagram in a new one Browser Menu delete The delete entry is only present when the diagram is not read only Delete the diagram and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Browser Menu tools The menu entry tool 1S only present in case at least a plug out may be applied on the diagram The selected tool is called and applied on the current diagram Picture menu The diagram menu appearing with a right mouse click out off any item in the diagram picture is something like these supposing th diagram not read only 241 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Sequence diagram menu Transform to flat activity bars Edit drawing settings Select diagram in browser Select all Ctri a Find selected browser element Copy optimal picture part Copy visible picture part sa
16. A Python type definition may be a class or an enum defined through a class depending on the stereotype and its translation in Python see generation settings In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Python code generator are o docstring is replaced by the description of the class placed between and followed by a newline If the description is empty nothin produced By default set through the generation settings docstring is used rather than comment or description e comment is replaced by the description of the class adding 350 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e description is replaced by the class description without adding e name is replaced by the class s name If needed the package path is produced the code generator tale into account the imports associated to the depdencies and the ones writtent by hand directly in the artifact definition e f inherit is replaced by the class inheritance members is replaced by the code generated for all the class s members relations attributes operations extra members and nested classes following the browser order e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the class if not found for the container of the class an other class of a class view etc In t
17. Diagram Drawing Settings dialog ase component deployment state activity color 1 show packages name in tab ne default class color default note colar show packages context default package color Transparent automatic labels position yes default fragment color Transparent winte fow label horizantalty no default subject color Transparent show opaque action definition no default use case color default duration color Transparent draw all relations yes default continuation color draw shadow default component calor default node color yes show infarmatian nate yes defaultartifact color umil drawing language OK Cancel Cancel 30 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a Diagram Drawing Settings dialog nent deployment state activi color 1 color 2 iy D e Fe default state color default state action color Transparent Gefault acthvity colar Transparent default activity region colar Transparent default activity action color Transparent default parameter and pin color i cu This dialog allows to specify how the diagrams must be drawn by default at the package level you may specify all the drawing sett because a package may contain indirectly all the kinds of diagram Except at project level you may choose default for each value in
18. Pre condition Post condition Activity opaque action dialog tab C This tab allows to specify the activity action behavior and the pre and post condition in C but in fact BOUML doesn t check the syntax this is just a convention 177 of 402 17 02 2008 11 48 Activity opaque action dialog tab Java file E uml BOUML bouml_4 2 doc TOUT html Behavior Editor Pre condition Post condition This tab allows to specify the activity action behavior and the pre and post condition in Java but in fact BOUML doesn t check the syntax this is just a convention Activity accept event action dialog tab Uml 178 of 402 stereotype Activity Action dialog Qo Java Properties i L Lim Jal Behavior Editor Fre condition Post condition Activity Action dialog 2 kakalak Umil trigger Ocl trigger C trigger Java Properties Jaction description Editar 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Activity accept event action dialog tab Ocl The Ocl tab allows to specify the trigger and the pre and post condition using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog amp kakalak Umi trigger Ocl trigger C trigger Java Properties M unmarshall l time event trigger Pre condition Post condition
19. When you push the button default declaration the form specified through the generation settings depending on the stereotype of the class the stereotype and multiplicity of the relation and of course the language is proposed this last may be modified as you want even to produce illegal source code When you do not want to have this relation defined in Idl empties the declaration manually or using the button not generated in Idl It is possible to follow the visibility as it is set in the UML Tab or to change it replacing visibility by the desired one type is replaced by the class pointed by the relation see the UML tab name is replaced by the relation s role name see the UML tab The check box truncatable is available when the relation is an attribute or a generalization or a realization and allows to produce the Idl keyword truncatable The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Refer to the generation settings and Id generator for more details and explanation of the other keywords Menu duplicate The menu entry duplicate clone the relation in the two directions when the relation is bi directional The name of the role s is empty in the new relation s Menu add These entries allow to produce get and set operations on the relation contrarily to the similar operations made by hand these tw
20. delete from model Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a node in a diagram all the settings are set to default Diagram Drawing Settings d skak color expansion node color default cn To specify the fill color Menu tools Appears only when at least one plug out is associated to the expansion nodes To apply a plug out on the node 174 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Previous activity Next activity action 175 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Activity Actions An activity action is an activity node In the browser an activity action is placed in an activity or an activity region and may contain pins parameter sets and flows El Sactivity Bchinterruptible region BOraction A 9 pin flows t cflow gt o other pin E EH expansion region B action flows EXaction 4 eflow gt There are several kinds of action Bouml doesn t propose all the kinds defined in UML but the main ones opaque accept event read variable value clear variable value write variable value add variable value remove variable value call behavior call operati
21. description Inepending on the used k yboard pedalboard their coupling and the set stops none or several pipes will sin Editar ie 3 The stereotype of a use cases doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu edit drawing settings l i quence collaboration object state e Leararen show packages name in tab etaun drawing language tetau show packages context default instances drawing mode default automatic labels position default show operations full definition default draw all relations default write name type horizontally i default class drawing mode default draw all relations default default draw shadow default 48 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html u Diagram Drawing Settings dialo ski use case
22. oconst static var name value Declaration Var Sthecz o Result after substitution Default declaration Not generated In Php In C2 comment visibility const static var iname value Declaration protected thec Result after substitution Default declaration Not generated In Php In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for Php supposing you do not modify the Php code generator 83 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html When you push the button default declaration the form specified through the generation settings depending on the stereotype and multiplicity and of course the language is proposed this last may be modified as you want even to produce illegal source code When you do not want to have this relation defined in Php empties the declaration manually or using the button not generated in Php It is possible to follow the visibility as it is set in the UML Tab or to change it replacing visibility by the desired one to not generate the visibility set it to package static produce an empty string when the relation is not an class relation see the UML tab else produce static const produce an empty string when the relation is not read only see the UML tab else produce const var produc
23. Copy all the diagram elements equivalent to a optimal windows size followed by a copy visible picture part then a restore of the original windows size Picture Menu copy visible picture part Put the visible part of the current diagram in the clipboard copy it is a screen copy the current scale have impact on the picture quality It is also possible to print all not only the visible part the current diagram on printer or a file through the button 268 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Picture Menu save optimal picture part To save all the diagram elements in a file equivalent to a optimal windows size followed by a save visible picture part then a restore of the original windows size Picture Menu save visible picture part To save the visible part of the current diagram in a file it is a screen copy the current scale have impact on the picture quality Picture Menu set preferred size and scale To memorize the current diagram sub window size and the current scale These ones will be used the next time the diagram will be opened Picture Menu set preferred scale To memorize the current scale These one will be used the next time the diagram will be opened Picture Menu restore preferred size and scale In case a preferred sub window size and preferred scale was set follow them Picture Menu unset preferred and scale To stop to define a preferred size and scale was set
24. E uml BOUML boumlL 4 2 doc TOUT html 23 Diagram Drawing Settings dialo ns s oration object state activity lcolor 1 color 2 default note color default d default use case color default default package color default F default fragment color default default subject color default default duration colar default default continuation color default 7 default state calor default default state action color default foso q a TEE E F 4 Default activity colar default activity region color default This dialog allows to specify how the sub diagrams must be drawn by default Refer to drawing for the settings concerning the use cases Menu delete The delete entry is only present when the use case is not read only Delete the use case and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu referenced by To know who reference the use case through a dependency or an inheritance show a dialog for instance Referenced By dialog amp epN on swell is relerenced by lt generalization gt external events key down coe Menu mark See mark Menu tools The menu entry tool 1S only present in case at least a plug out may be applied on the use case The selected tool is
25. E uml BOUML boumlL 4 2 doc TOUT html Component view A component view may contains components and component diagrams in any order EiComponent view i Order 4 Customer Product Hicomponent diagram Menus The menu appearing with a right mouse click on a component view in the browser is something like this supposing it is not read only nor deleted Component view new component diagram hew component enit edit drawing settings Menu edit Component view stereotype description Editor The stereotype of a component view doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu edit drawing settings 43 of 402 17 02 2008 11 48 44 of 402 file E uml BOUML bouml_4 2 doc TOUT html W Diagram Drawing Settings dialo ois W Diagram Drawing Settings dialo os component sator component cotor show
26. Edit Edit drawing settings Select operation in browser Select linked items select label Label default position Go to new overiapping bar Go to parent bar Remove from view Message Menu edit edit allows to edit the message In case the diagram is read only the fields of the dialog are also read only a Message dialog lt 3 ah ile message Hoptin p uchar int Message type E synchronous asynchronous When the arguments are specified they replace the operation s parameter s without any check The proposed messages are the operations defined on the message receiver more the current one but you may also give any other message It is possible to change the synchronous asynchronous state It is also possible to specify explicitly the message operation arguments is possible to give then on several lines obviously in this BOUML produce the appropriate indent 244 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a Message dialog Peppi message lopin p uchar int Message ype AR O E synchronous C asynchronous When the arguments are specified they replace the operation s parameter s without any check The button message allows to create a new operation in the class of the instance and to select this new operation If the current message is an operation th button also allows to select this operation in the browser Message Menu edit drawing settings This
27. Properties M inline C declaration Editor C definition Editor The declaration part is generated in the definition of the class containing the extra member except if the inline toggle is set in this case the generation is made after the class definition as for an inline operation The definition part is produced in the source file rather than in the header one For instance with EM ifdef endif 133 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html BEM ar ifdef op amp endif Editor Limi ice Java icll User M inline C ifdef NEEDED declaration dee Editar C definitian Editor Umil ice Java al User l inline declaration Editar C definition and Lim C Java idi User E follow uml public public protected private const l volate F friend l virtual inline S comment friend static virtual typel name const volatile Declaration void opt Result after SUBSHUHON Default declaration From detinition Not generated in C inline Sityps iclass name ii i T 7 E conzt volatile ithrow istationl i l Definition Result after substitution Default definition From declaration Not generated in C The generated code for the class is
28. The multiplicity and stereotype may be used to produce the appropriate code with a natural and intuitive way For instance the C s relation theC2 with the stereotype vector and multiplicity will produce depending on the generation settings C Java Idl vector lt C2 gt theC2 protected Vector theC2 private sequence lt C2 gt theC2 With the stereotype vector and the multiplicity 12 the C s relation theC2 will produce depending on the generation settings C Java Idl C2 theC2z 12 protected C2 theC2 private sequence lt C2 12 gt theC2 Refer to the C Generator Java generator Php Generator Python Generator and Id generator for additional information Menus The relation menu appearing with a right mouse click on its representation in the browser is something like these supposing it is not read only nor deleted see also menu in a diagram theCe CandCr edit duplicate add get operation add set operation add get and set operation delete select C2 mark tool 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Menu edit edit allows to show modify the relations properties In case the relation is read only the fields of the dialog are also read only Relation dialog tab Uml The tab Uml is a global tab independent of the language Relation dialog sB bx bem Bea Url c Java IBL Properties name kme O oe association stereotype fo associ
29. This dialog allows to specify how the items of the diagram must be drawn by default you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level drawing language default default note color default instances drawing mode default default class instance defautt color show operations full definitian yes default duration color default write name type horizontally default default continuation color defautt draw all relations defaut default fragment color defautt draw shadow default e drawing language to indicate in which language the operations must be written when the full definition is showed see below like for the class drawing in a class diagram For instance the class C has the operation op returning an uchar supposed translated unsigned char in C char in Java and octet in Idl and having the input parameter p having the type uchar and only in Idl a second out parameter p2 of the same type Depending on the drawing language 240 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Sequence Diagram i XJ eat E O B BS ey DA ob fiors is E drawing language UML oplin puchar int int oplunsigned char p t drawing language C Int opichar p drawing language Java opi p opip
30. code generator to generate the relative path of the automatically included files relative to the directory specified by the generation settings The first Java tab allows to set the default Java file content associated to an artifact it is visible only if Java is set through the menu Languages GenerationSettings dialog generated reversed a file default definition file extension content generate Javadoc style comment jocoment Fipablic f final i abstract clars name f ent ends inp ement z esters Chak donauit er aor i aan if ipubiiel int f face fi namei Ete i enii j ieai fi comment i publici Fifinal flatetract enum name implements oi Si items Einar hth i members iccemment tipublicifinal clase f iname camer l Enua panen private int value papile int value return value cu The first Php tab allows to set the default Php file content associated to an artifact it is visible only if Php is set through the menu Languages 223 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a GenerationSettings dialog a 15 generated reversed file extension i comment FiTinali Fivisibility Fiabetraect ciage tiname tient ends ti iapiements i E maabara i iccoment visibility interface i members Hiccmmeant final fivieibility clase pF items The first Python
31. sequence collaboration object state RY i A drawing language default write namectype horzontally default show packages name in tab default show operations full definition default show hierarchical rank default show packages context detaut write nametype horizontally default packag ngs name intak fault show packages nameintab default automatic labels position default show packages context default draw all relations detaut draw shadow defaut draw all relations default i E ce collaboration object state activity color 1 ce collaboration object state lactivity color 1 errs r show packages name in tab default show packages name in tab default show packages context default i show packages context default automatic tabels position default lt automatic labels position deraut write transition horizontally default write flow label horizontally defaut show fransitton definition default show opague action definition default draw all relations default draw all relations default draw shadew default I draw shadow default show state activities default draw state s regions horizontally default show Information note deraut drawing language defaut drawing language default 49 of 402 17 02 2008 11 48 file
32. 0 align center F align center verticaly 8e align center horzontaly If all the selected elements has the same kind for instance all are a class you edit their drawing settings globally 282 of 402 17 02 2008 11 48 Multiple selection menu Select linked tems Align Copy selected Ctrl c Cut selected Ctriex remove from view Remove selected from view Suppr Delete selected Control d coit drawing setting and for instance when the elements are classes in a class diagram drawing language lt unchanged gt drawing mode lt unchanged gt show context lt unchanged gt hide attributes lt unchanged gt hide operations lt unchanged gt f show members full dedinitian unchanged ai show members visibility lt unchanged gt show parameter direction unchanged show parameter name lt unchanged gt show information nate unchanged file E uml BOUML boumlL 4 2 doc TOUT html The settings valuing lt unchanged gt are not changed for the selected elements in the other case the same value is set for all the elements Note A note may contain any text a note is resizeable To change the text of a note choose the edit entry of its menu or double click on it this open a window containing the text close the window to end the edition A right click on the edited note calls a dialog allowing some text manipulations thanks Qt boum Beeseesiesks
33. 402 of 402 17 02 2008 11 48
34. CppsetingsCmd AFI BASE FileWriter Aun lniSettings AFI BASE IdiSettings md API BASE JavaSettings AFI BASE JavasettingsCmd AP BASE Main API USER MiscGlobalGmd AP BASE Oninstancecmd AP BASE PackageGiobalGmd AFI BASE l kal si olbaeoaricgtoar TAD ECE 220 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Menu delete The menu entry delete is only present when the artifact is not read only Delete the artifact and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu generate The menu entry generate is only present when the artifact is a source artifact Allows to call the C generator Java generator Php Generator and Id generator Menu edit The menu entry edit is only present when the artifact is not read only and is a source artifact Allows to edit one of the generated files for instance the header file ce S e a E i UmlArtifact h oo pem i ifndef _UMLARTIFACT_H tdefine _UMLARTIFACT_H Itinclude UmlBase rtifact h finclude lt qcestring h gt f This class manages artifacts iff You can modify it as you want except the constructor jclass UmlArtifact public UmlBaseArtifact public Umla rtifact void id const QCString amp n UmiBaseArtifact id nmi il ffentry to produce the html code receiving c
35. I do not like very much this polling but this works even QT isn t compiled with the thread support Browser Menu edit drawing settings This dialog allows to specify how the items of the diagram must be drawn by default you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level a Diagram Drawing Settings dialo oo ka b ii i calor diagram color i Diagram Drawing Settings d sss wi ackages name in tab default e packag default activity color default show package context default z default activity region color default automatic labels position default j j efault agti jan calar default x write fow label horizontally default default activity action calor show opaque action definition default default parameter and pin color default draw all relations default me default note color draw shadow default default package color show information note default Woda default fragment color UY drawing language default e show packages context To indicate if the context where the package is defined must be written and if yes how The context may be the UML conte which is the path of the package in the browser or the C namespace or the Java package or at least the Idl module See package context e automatic labels position To ask
36. Picture Menu format By default the diagram s canvas size is 840 x 1188 points corresponding to an iso A4 format 210 4 x 297 4 all the available formats are e iso AS 592 x 840 e iso A4 840 x 1188 e iso A3 1188 x 1680 e iso A 1680 x 2376 e iso Al 2376 x 3364 e iso AO 3364 x 4756 e USA A 864 x 1116 e USA B 1116 x 1728 e USA C 1728 x 2236 e USA D 2236 x 3456 e USA E 3456 x 4472 Each format also exists in landscape Picture Menu undo changes Undo all the changes made since the diagram was opened the last time Note that the diagram is restored independently of the the pr saving Obviously the deleted browser items was not restored 269 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the diagrams Default stereotypes dialog 2 alley ae class diagram PO stereotypes object diagram P stereotypes collaboration diagram PO stereotypes Sequence diagram Stereotypes use case diagram slereotypes state diagram stereotypes activity diagram Stereotypes component diagram Stereotypes deployment diagram Sterentypes Drawing organ jaj xj afk E BEJ ee es et te scale 100 2 ie Se Console A class diagram may contain classes packages fragment notes texts diagram icons and the relations To place these elements in
37. See mark 36 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Menu tools The menu entry tool not present above is present in case at least a plug out may be applied on the use case view Previous package Next class view 37 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Class view A class view is used to design the classes and may contain classes class instances states activities class diagrams object diagrams sequence diagrams and collaboration diagrams in any order G Pg Cass view H H Aass jaQassinstance ACass Sldass Diagram FeJObject Diagram Eg Sequence Diagram elcollaboration Diagram AiO lt cmachine gt gt AStaleMachine Hf FAnActivity A class view may have an associated deployment view in this case the menu of the sub classes propose a shortcut to create an artifact 1 the associated deployment view refer to class menu Menus The menu appearing with a right mouse click on a class view in the browser is something like this supposing it is not read only nor deleted New class diagram New sequence diagram New collaboration diagram New object diagram New class New class Instance New state machine New activity Edit Edit class settings Edit drawing settings Delete bear Generate Tool Select associated deployment view The menu entry select associated deployment view is only present when the class v
38. a multiple selection may also be done defining a region using the mouse left click out of any element and moving the mouse with the click and maintaining the clic down The diagram s elements may be moved after a left mouse click on an element and maintaining the click down during the mous move The right mouse click is used to show context dependent menus control s is a shortcut to save the project control a is a shortcut to select all the diagram s elements control d is a shortcut to delete the selected element s the model is affected suppr is a shortcut to remove the selected element s from the diagram these elements are not deleted control c is a shortcut to copy the selected diagram s elements control x is a shortcut to cut remove from view the selected diagram s elements control v is a shortcut to paste the selected diagram s elements control z and control u are a shortcut of undo control r and control y are a shortcut of redo the keyboard arrows allow to move the selected items When several diagram s elements are selected the menu appearing on a left mouse click allows to align them Multiple selection menu select linked items T align top copy selected Ctri c Qo align botom cut selected Cirit remove from view E align lett remove selected fram view Suppr align right delete selected Contral d align center F align center verticaly ge align center horzontaly Fragment A fragment is resizeab
39. are Ascii files I may be difficult to merge several version of the same file I know several companies use this way but it is possible to not have to merge the modifications using the write protection through File control or Project control and to resynchronize the model using Project Synchro To work without merge Let s suppose Bruno Olivier and Annie work on the same project and decide to use Project Control and Project Synchro At the beginning an unique image of the project exist If the project already exists using Project Control you give the write access of the package to at most one person If you start from scratch with an empty project immediately create at least a sub package for each this may be changed later Because the project itself is used to memorize generation settings and other global information I propose you to decide immediately what are the settings and to protect the package supporting the project this means it is not owned by Bruno Olivier or Annie When the write accesses are set duplicate the project files in fact the directory of the project to have three images and perhaps a fo image placed under a file controller Bruno Olivier and Annie work each on its private image and don t change the write accesses excep to loose the write access or to get the write access to a protected package s not own by the others since the last synchronization Sometimes for instance because Annie define a class used by
40. atta or J The form in from of also in uml allows to specify the name of the operation in Idl the same rule is followed in UML if also in uml is set Drawing A relation is drawn in a diagram with a line may be with an arrow and the associated labels relation s name stereotypes ri multiplicity ies Project Windows Jools Miscellaneous Help jsuawn briser Diagram DAE Erel afk a pE aa e eee O a ase scale 100 i e FaClass view at BEC lt generalisation gt C3 tedir_a self_bi_dir tadir_b self_bi_dir tatheCe CandC2 Sew mono Or rizie swthec CandC2 Fa r a self_mono_dir th lt efriend gt gt lt dependency gt Ca Bca a iDiagram When a class inherits a template class the actuals are indicated as a label of the realization 93 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html lt W String gt To add a new relation between classes select the appropriate relation through the buttons on the top of the diagram sub window click o the start class with the left mouse button move the mouse each time the mouse button is raised a new line break is introduced at least click on the end class To abort a relation construction press the right mouse button or do a double click with the left mouse button A line may be broken during its construction of after clicking on the line with the left mouse button and moving the mouse with the mo
41. edit edit drawing settings duplicate delete mark tool k Browser Menu show show allows to show the diagram picture and edit it in case it is not read only Browser Menu edit edit allows to show modify the diagram properties In case the diagram is read only the fields of the dialog are also read only sequence diagram dialog tab Uml 239 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Sequence diagram dialog 2 mpe ey bt en name Piston set stereotype description Editor The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of a diagram doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Browser Menu edit drawing settings
42. exists thanks to Qt The implementation of BOUML is compatible with Qt version 2 4 up to at least the 3 3 but the Qt 4 releases can t be used because thee releases are compatible with the previous The documentation 1S written with OpenOffice org writer many thanks for this powerful and pleasant office suite The screen copies are made with Ksnapshot and sometimes modified by Le Gimp to have burred areas thanks to the authors for these practical tools Some of the examples given in this documentation spoke about the organs describing an organ is very easy for me in French not English I get the English translation of the words associated to the organs from a Marya J Fancey documentation thanks to her Copyright BOUML is a free software distributed on the Internet http bouml free fr Copyleft 2004 2008 by Bruno Pag s This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License as published by the Free Software Foundation either version 2 or at your option any later version This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the wu MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details The complete text of the GNU General Public License can be found in this document appendix Copying and distribution of the documentation or a part of the documentation and scre
43. for instance the standard headers files are never taken into account and the synonym types confusing When the C code reverse has a problem for instance when it reads a C function definition it produces a warning in the trace window The trace windov automatically opened by BOUML it may also be manually opened through the Tools menu To do simple substitution on the read files edit the package where the C reverse will be started perhaps the project itself to add a user property through the tab User with the key file and the value must be the absolute pathname of a file Each line of the specified file must contain e just an identifier in this case this identifier will be ignored during reverse This is like define identifier ea form identifier value in this case the identifier will replaced by the value during reverse The value must a token for instance an other identifier a float a string etc This is like define identifier value Warning the lines must not contains spaces or tabs Previous C generator Next Java generator 332 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Java generator The Java code generator is a plug out directly written in C The generated sources follows the definition made in BOUML at the artifact class operation relation attribute extra member levels When the code generation is applied on a artifact associated to seve
44. formed by the sub directories produce an equivalent tree of sub packages on whose the needed class view and deployment view are made to support the classes and artifacts When a type is referenced but not defined in the reverse files a class having the same nam defined under an additional package named unknown Obviously the Php code reverse tries to produce the definitions made in BOUML at the artifact class operation relation attribute levels When it is possible it creates a relation rather than an attribute The Php code reverse works in two steps during the first step it scans all the files to establish the list of defined types then the second step may reverse the files When the Php code reverse has a problem for instance on a syntax error it produces a warning in the trace window The trace window is automatically opene BOUML it may also be manually opened through the Tools menu The reversed files are considered composed in three parts e a header without class definition and containing lt php This part if placed at the beginning of the generated artifact e only classes interfaces definition this part start with the first class or interface and stops before the first form which is not a class nor an interface The classes and interfaces must be at the toplevel level this means not embedded in a if or other form This part produces definition in the definition of the artifact e the rest if the file proba
45. html State diair menu Edit drawing setings Select diagram in browser Select all Cirlea Optimal scale Optimal window size Copy optimal picture part Copy visible piche part Sava optimal picture part pre Save visible picture part png Save optimal plclure part vg Save visible picture part v Sel preferred size and scale Set preferred scale size unset Restore preferred size and scale Unset preferred size and scale Format k Unde all changes Picture Menu edit drawing settings see edit drawing settings Picture Menu select all Select all the items of the current diagram may also be done through control a Picture Menu optimal scale similar to the fit scale button change scale to see all the diagram s elements at great as possible Picture Menu optimal window size change the size of the windows to see all the diagram s elements with the current scale Picture Menu copy optimal picture part Copy all the diagram elements equivalent to a optimal windows size followed by a copy visible picture part then a restore of the original windows size Picture Menu copy visible picture part Put the visible part of the current diagram in the clipboard copy it is a screen copy the current scale have impact on the picture quality It is also possible to print all not only the visible part the current diagram on printer or a file through the button Picture Menu save optimal picture part To save all the diagr
46. is replaced by the enum s items e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the class if not found for the container of the class an other class of a class view etc In the special case where the class is declared external its C type declaration must contains at least one line indicating how the name of the class is generated the other lines will be added in the header file of the components referencing the class By default the first line 327 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html only contain name meaning that the name is produced unchanged the only allowed keywords are name Name and NAME For instance you want to define the external class string and you want to automatically generate include lt string gt followed by using namespace std you just have to create the class string to set it external in C and to have the declaration form name include lt string gt using namespace std If you don t want to use the namespace and ask to write std string the declaration must be std name include lt string gt Operation The C definition of an operation is set through the Uml and C tabs of the operation dialog The indentation of the first line of the declaration definition give the indentation added to the visibility specification in the class definition for all the operation dec
47. is set through the menu Languages For a standard attribute Attribute dialog lt 9 spim ppe mil Ken Java idi User Visibility follow uml orotected public protected C private l mutable comment static mutable volatile const type name ivalue Declaration f the name of the stop ff JE Reeds are trumpet cromorne Plutes are bourdon rherflote Result after If Principal are imontre prestant substitution Ji Strings are viola unda maris JE Mutation are nazard thierce J Compound are mixture cornet string name Default declaration Not generated in G For an enumeration s item 100 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a ee Enum item dialog Lil Ken Java ii User Siname value l comment Declaration Compound have more than one pipe souding per note Default declaration Not generated in C canei In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for C supposing you do not modify the C code generator Result ater substitution When you push the button default declaration the form specified through the generation settings is proposed this last may be modified as you want even to produce illegal source code When you do
48. lower edit drawing setings edit activity action select In browser select variable in browser set associated diagram remove from view delete from madel call behavior action aod pin upper Iwer edit drawing settings edit activity action select in browser select behavior in browser set associated diagram set associated diagram from behavior remove from view delete fram model select operation in browser delete from madel call operation action add pin Upper lower edit drawing settings edit activity action select In browser set associated diagram remove from view These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a activity action in a diagram all the settings are set to default show opaque definition defaut show Information note defaut defaut OK Cancel action color default drawing language show opaque definition To write an opaque action s name or its behavior show information note to show or not the conditions drawing language Allows to specify the used language used to indicate opaque action behavior or the conditions action color To specify the fill color Menu select X in browser Appears
49. members file E uml BOUML bouml_4 2 doc TOUT html comment public final labstract class amp name extends implements members S aomment final visibility labstract class name extends implements members i comment visibility interface name members Interface default declaration Enum default declaration comment final visibility class items The first Python tab allows to define the default Python class definition depending on the stereotype and to use Python 2 2 classes or not by default 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a GenerationSettings dialog es class name inherit Class default docstring members classes of Python 2 2 Enum defaut docetring members comment i eeif name ccoamentitiself tiname fi eterest ype GenerationSettings dialog 3 2r eifnder _fiNANE A Bo dainui bdefine Mara M EOE r i en Etcomment labstract localjinterface eiinherit Interface default fej members t declaration comment abstract custom valuetype name finherit Valuetype default members declaration i comment struct name Struct default members declaration ER S commentjunion name switch switch Union default members i declaration comment enum name En
50. rator Glass a_referenced elass produced by the C generator ci This lass manages artifacts Result after kaion G You can modify it as you want xcept the constructor _ Jelass UmlArtifact public UmlBaseaArtifact sUmlArtifact shtml S8Eind F In BOUML the generated code is obtained by the substitution of macros in a text only the Definition part is editable the other one help you to see what will be generated for C supposing you do not modify the C code generator 215 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html When you push the button default declaration the form specified through the generation settings is proposed this last may be modified as you want even to produce illegal source code When you do not want to generate the C header file for instance for the main empties the declaration manually or using the button not generated in C NAME produce the artifact name capitalized Name produce the artifact name with the first letter capitalized at least name produce the artifact name without modification comment is replaced by the artifact description adding description is replaced by the artifact description without adding includes is replaced by the automatically generated include and using forms done by the C code generator not made by the dialog which produce a fixed form It is also a good place to a
51. relation attribute levels When it is possible it creates a relation rather than an attribute A artifact is created for each type definition then a future Java code generation may not produce a list of files similar to the reversed ones The Java code reverse works in two steps during the first step it scans all the files to establish the list of defined types then the second step may reverse the files When the Java code reverse has a problem for instance on a syntax error it produces a warning in the trace window The trace window is automatically opene BOUML it may also be manually opened through the Tools menu When the reverse is done the number of reversed classes operations attributes and relations is written for instance in case I reverse a full JDK Java distribution Bouml tmp vide vide prj Project Windows Tools Miscellaneous Help lig aage Trace Ra gi fai S browser Ewide Bl EEEE Java reverse done E icom org 12678 classes z java 98594 attributes fi Jsun 30659 relations a _javax 112970 operations E sunw i unknown See also Java catalog Previous Java generator Next Java catalog 339 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Java catalog Java Catalog is a plug out directly written in C Java catalog is a very practical tool allowing you to import classes into BOUML An imported class comes in BOUML without the bo
52. select class in browser Appears when the type of the pin is a class to select it in the browser Menu tools Appears only when at least one plug out is associated to the pins To apply a plug out on the pin Parameter set drawing 193 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html A parameter set is a rectangle drawn around the corresponding pins it is highly recommended to place the pins on the same are to have a pretty result pin other pin A right mouse click on a pin in a diagram calls the following menu supposing the pin editable upper lower edit drawing settings edit parameter set select in browser delete fram model Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a set in a diagram all the settings are set to default parameter Set color default To specify the fill color Menu tools Appears only when at least one plug out is associated to the parameter sets To apply a plug out on the set Previous activity region Next activity object 194 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Activity object Note pins are activity object they are described with
53. to synchronize them or a part of them it is also possible to start the tool given a list of project images in parameter To avoid inconsistencies you can t apply Project Synchro several times on a given project and you can t use it on a project while it is edited by BOUML or by Project Control if this is the case a message warns you Synchro project lt R xX The project home bruno umbpr is edited by the users having these BOUML_IC 2 Synchro project a5 The project is already locked by Project control or Project syneha the directory home bruno umlpralliock exists A project directory must also not contain bak files these temporary files are present when BOUML or File Synchro crash during the modification of the files 387 of 402 17 02 2008 11 48 When only one project image is load the aspect is the following Synchro proj es x tmppr contains bak fles Project synchro Project Style Help home bruno um IE or Package BL jPackage Package Package pi Packages i Package JPackage4 af Packages B Ja i JPackaget Packages ai ad bruno 2 bruna 2 bruna 2 bruna bruna 2 bruna 2 Project synchro pha Style Help e a Packaget p i Package Package Package B _ jPackage Package EJPackage4 EI Packages s Packages B jPackages oe Packages Jb afjen tmp D inci a sre B j
54. uml BOUML boumlL 4 2 doc TOUT html javacawt Image jave awtinage e automatic labels position To ask BOUML to move or to not move the associated labels on the relations in a diagram when the relation is edited or associated class pictures moved etc Browser Menu duplicate Clone the diagram in a new one Browser Menu delete The delete entry is only present when the diagram is not read only Delete the diagram and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Browser Menu tools The menu entry tool iS only present in case at least a plug out may be applied on the diagram The selected tool is called and applied on the current diagram Picture menu The diagram menu appearing with a right mouse click out off any item in the diagram picture is something like these supposing th diagram not read only Object diagram menu Edit drawing settings Select diagram in browser Select all Ctri a Find selected browser element Copy optimal picture part Copy visible picture part save optimal picture part png Save visible picture part png Save optimal picture part svg Save visible picture part svg Optimal scale Optimal window size Set preferred size and scale Set preferred scale size unset Format b Lindo all changes Picture Menu edit dra
55. uml BOUML boumlL 4 2 doc TOUT html Drawing Sequence diagrams A class instance is drawn in a sequence diagram as a rectangle or an icon depending on the class s stereotype and the drawing settings the value of the attributes and relations don t appears sd Faja afe E O0 Boa a pe O ea ioo p D Oo Entity Boundary opto Actor A right mouse click on a class instance in a sequence diagram calls the following menu supposing the instance editable pascal kiarn Upper i Lower Edit Become mortal Edit drawing settings select in browser select class In browser Exit from madel Remove from view Delete from model Please refer to the chapter sequence diagram for more details Collaboration diagrams A class instance is drawn in a collaboration diagram as a rectangle the value of the attributes and relations don t appears x eat EE ABAD iocs fit A right mouse click on a class instance in a collaboration diagram calls the following menu supposing the instance editable sandrine Woman Upper Lower Edit drawing settings Edit select in browser Select class in browser Exit from madel Remove from view Delete from model Please refer to the chapter collaboration diagram for more details 140 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Object diagrams A class instance is drawn in a collaboration diagram as a rectangle the
56. uml BOUML bouml_4 2 doc TOUT html Umi Parametrzed c Java io User T public comment public final abstract class name extends implements E y S members i Definition Class Dict lt V E gt sae kOY Result ater value substitution Default definition Mot generated in Java Generic instantiation Umi Parametrized instantiate Cr Java ip User M public comment public final abstract class name extends implements w imembersji Definition Class theredheaded extends Dict lt String String gt Result after substitution Default definition Mot generated in Java For a JDK 5 enum class with the stereotype enum Url Parametrzed C Java io User M public M final comment public final fabstract enum name implements e _ etitems Definition members enum Enum 1 0 Resultater TS substitution attr Operi Default definition Not generated in Java Edit annotation For a class with the Java stereotype enum_pattern 59 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Umi Parametrized C aval IDL User M external f comment a public final class name members j private int value public int value return value i Definition public static name fromInt int valua Switch valus
57. 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a GenerationSettings dialog ma A m name valwe icommenti ficeififinane filtype i name i stereot ype Enumeration item comment self mame value default definition i jame get Name r default definition get ht also in uml Ber epee name set Name a default definition Ope ea Sietatic fl abetrect def Fidonetring f boty setae dation bidocetr ing boty multiplicity 1 S comment ireadonly S attribut ltype name or unspecifie multiplicity comment readonly attribute sterectype lt i type gt name or ab X probably a comment readonly lattribute stereotypel lt type multiplicity gt name number multiplicity 1 comment visibility type name or unspecile Attribute default declaration in valuetype multiplicity commant visibility sterectypel lt typel gt or a b M probablya lcomment visibility stereotype lt typel multiplicity gt name number multiplicity lcomment const type name value or unspeciie Constant default multiplicity comment oconst sterectypel lt itypel gt name value declaration of a b X probablyal lcomment conet stereotypel lt F typel timultiplicity gt F name value number The third Id tab allows to set t
58. 2 doc TOUT html Menu select associated artifact This menu entry is present when the class have an associated artifact to quickly select this one the current class may also be quickly selected from its associated artifact Menu select associated component Menu select an associated component This menu entry is present when the class have an associated component s to quickly select this one the current class may also be quickly selected from its associated component Menu referenced by To know who reference the current class Menu mark See mark Menu delete The menu entry delete is only present when the class is not read only Delete the class and all its children and all the representation of them in the opened diagrams After that it is possible to undelete ther from the browser until you close the project obviously the deleted items are not saved Menu generate To generate source code for the languages for whose the class and the associated artifact have a definition Menu tool The menu entry tool 1S only present in case at least a plug out may be applied on a class The selected tool is called and applied on the current class Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the classes 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html d Default stereotypes dialog 2 n ss a bea bb Package Class UseCase Artifact Views Diagra
59. 4 2 doc TOUT html not found for the class containing the relation etc Dependency A dependency having the stereotype friend produce a C friend declaration of the pointed class With an other stereotype the dependency may produce an include of the artifact associated to the target class and you can choose to place this include in the header or source file by editing the dependency usingn the tab C Inheritance The class inheritance are managed at the class level o type is replaced by the name of the inherited class more the actuals if the generated class instantiate a template Extra member The C definition of an extra member is set through the C tabs of the extra member dialog No macros Previous deployment diagram Next C reverse 331 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html C reverse The C code reverse is a plug out directly written in C as the C generator Note that the C code reverse cannot be used as a C code round trip and doesn t allows to update already defined classes having at least one member Furthermore the preprocessing phase 1S not made by the C code reverse whose ignore all the preprocessor forms but some substitutions may be asked see at the end of this chapter The C code reverse plug out may be applied only on packages When you start the C code reverse it asks you for directories enter the directories then choose can
60. BOUML bouml_4 2 doc TOUT html a Diagram Drawing Settings dialo asus class sequence collaboration object state act drawing language default hited z write nametype horizontally default show operations full definition default show packages name in tab default show hierarchical rank default x show packages context default write nametype horizontally show packages name in tab default eee l 7 automatic labels position default show packages context draw all relations default craw all relations draw shadow defaut draw shadow default show packages name in tab default show packages name in tab default h ckages context default show packag n show packages context deraut automatic labels position default automatic labels position default write transition horizantally default show transition definition show opaque action definition default draw all relations default draw all relations default write flaw label horizontally default default draw shadow show state activities default how information nate draw state s regions horizontally default Show miormatan drawing language drawing language 41 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a Diagram Drawing Settings dialo se kab l ii Jence collaboration abject st
61. BOUML to move or to not move the associated labels on the relations in a diagram when the relation is edited or 1 associated Activity pictures moved etc e write flow label horizontally to write the flow description on only one line or each information on a different line 297 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e show opaque action definition to write the name of an opaque action or its behavior definition e show information note to show or not the notes associated to the condition selection and transformation and also to write or not the activity s conditions e drawing language to indicate which language must be used to write the definitions Browser Menu duplicate Clone the diagram in a new one Browser Menu delete The delete entry is only present when the diagram is not read only Delete the diagram and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Browser Menu tools The menu entry tool is only present in case at least a plug out may be applied on the diagram The selected tool is called and applied on the current diagram Picture menu The diagram menu appearing with a right mouse click out off any item in the diagram picture is something like these supposing th diagram not read only Activity dlagram menu Edit
62. C header C source class EM ifdef NEEDED ifdef NEEDED def decl void EM op public void opt endif tendif In case the extra members and op are inline all is generated in the header file 134 of 402 17 02 2008 11 48 135 of 402 file E uml BOUML boumlL 4 2 doc TOUT html C header class EM ifdef NEEDED decl pub lac void op endif hi ifdef NEEDED i 7 der inline void EM op endif Extra member dialog tab Java The tab Java allows to specify the code generated in Java it is visible only if Java is set through the menu Languages for instance with EM2 init B AEM en Leas Umi C Java ell iser L Init static H new Hashtable Javea and Umi C Java ict User l transient comment i visibility static final transient type i Declaration protected Hashtable ht Result after substitution Default declaration Nat generated in Java The generated code for EM2 is 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html class EM2 protected Hashtable ht static H new Hashtable Extra member dialog tab Php The tab Php allows to specify the code generated in Php it is visible only if Php is set through the menu Languages a7 Extra Class Member dialog 4 ale Extra membe
63. Click on Vfisible Hidden to change the constraint visibility vee lel ll element constraint a aer j TO r TUL aiaj bi 129V e visibility AFI BASE UmiBaseClasslember volatile AP BASEsUmiBaseClasshember all API USER Umiltem annotation constraint API USER UmiClassMiember apply AFI BASE UmlBaseltem bypass comment AF USER Unlltem chapter API USER Limilltem chapterp API USER Umilltem es an ll ce oes Te Pee Pa ee AI bb 27 Er Specify visible elements rather than hidden ones Show all Hide all Hide inherited class color To specify the fill color Menu individual attribute visibility To specify the hidden written attributes of the class through the following dialog 74 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Settings dialog S E visible _abstiract boai _Java_fnal bool Epp extemal bool _idl_ custom bool _idl_local bool _fava_external bool _javea_pubile bool classes LmiCtass en Show all Hide all Hide private ones Hos Private and protected ones T Specify visible members rather than hidden ones If you set specify visible members rather than hidden ones when you will add new attributes these ones will not be added in the cla picture Menu individual operation visibility To specify the hidden written operations of the class through the following dialog 23 Settings dialog salsa ba sleah iia Hidden a
64. Olivier you have to synchronize the parallel developments In this case using File Synchro Annie Olivier and may be Bruno get the modifications done by the others When the project is synchronized it 391 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html possible to change the write access from a user to an other one obviously this must be made on all the images or on one image anc copying it in the others Obviously like in any development when an element is removed from the model by Bruno for instance a class he has to ask for Olivie and Annie except if this element was not yet delivered to them To move an element inside the browser is not a problem an elem referenced through an internal key not through its location In a similar way an element may be renamed because the key doesn t contains the name but this may have impact in the body of the operations where the renaming is not taken into account by BOUML itself Previous Project synchro Next Project files 392 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Project files A project is saved in an own directory through several files all of them are text files this may help you to do some searches or chat directly in the files after a backup or of course to use a software configuration management The files are lt project name gt prj contains the top level package and project level data for instance the gener
65. User Stereotype description Editor on The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support State action dialog tab Ocl The Ocl tab allows to specify the state action expression using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention 148 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html State Action dialog 2g harsi ik State action dialog tab C This tab allows to specify the state action expression in C but in fact BOUML doesn t check the syntax this is just a convention State Action dialog 2604 ih Um oa Rica Java User State action dialog tab Java This tab allows to sp
66. a diagram calls the following menu supposing the region editable ado expansion node upper lower edit drawing settings edit expansion region select in browser set associated diagram remove from view delete from model Menu add expansion node These entries of the menu allow to add an expansion node Menu edit drawing settings 172 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a region in a diagram all the settings are set to default expansion region color tefault co To specify the fill color Menu set associated diagram set associated diagram allows to automatically open the current diagram when a double mouse click is made on the region representation in a diagram or the browser After that the only way to edit the region is to choose the edit entry in the menu Menu tools Appears only when at least one plug out is associated to the regions To apply a plug out on the region Interruptible region drawing An interruptible activity region is drawn in a diagram as a dashed rectangle with rounded corners A right mouse click on a region in a diagram calls the following menu supp
67. a project with you I insist the better way is to exit BOUML after the dialog acknowledge to define BOUML_ID then to restart BOUML After this annoyance you may use BOUML open an already created project or create a new one Be a E ry Project Windows Jools Languages Miscellaneous Help ELLE browser J lypical Execution B deploy aje E BB oO 9 BS te Dw oe ane E it a AP BASE z _ BERAPI BASE class vl Bau 7 PEAT RESE HE Peseta to gat tha item on pE lt lt enum_pattern gt aRelatiank plug_out which the plug out mE lt lt enum _pattem gt aDirection hate ala hai aA conmect port_number wes Aie Maes A B lt lt enum_pattern gt gt avisibllity iia items aH lt lt enum _pattern anlteme in eH lt lt struct gt UmiParameter HH LinBase Acwa Farameter interactions E LiniBaseFormaiParameter Castine aH UmiTypeSpec definitions and HE LinBase Anbete firien wre generalisation LimiCiass not shown Lt od Bakir oe lsReadtnty peSet_isReadOnly lal ow defaultValue waset_Defaultv alue mtype owset_ Type oe getOperation teaddGetOperation esetOperation S addSetOperation amis CopMutable i set_isCooMutable oelsJavalransient bai returns a new attribute named s created under parent feset_isJavalransient mase In case it cannot be created the name s already used or maset idiCase invalid parent cannot contain it etc re
68. a work based on the Pr independent of having been made by running the Program Whether that is true depends on what the Program does 1 You may copy and distribute verbatim copies of the Program s source code as you receive it in any medium provided that conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty keep intact all th notices that refer to this License and to the absence of any warranty and give any other recipients of the Program a copy of this Licer along with the Program You may charge a fee for the physical act of transferring a copy and you may at your option offer warranty protection in exchange for fee 2 You may modify your copy or copies of the Program or any portion of it thus forming a work based on the Program and copy distribute such modifications or work under the terms of Section 1 above provided that you also meet all of these conditions a You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change b You must cause any work that you distribute or publish that in whole or in part contains or is derived from the Program or any thereof to be licensed as a whole at no charge to all third parties under the terms of this License c If the modified program normally reads commands interactively when run you must cause it when started running for such interacti use in the most ordinary way
69. any line set associated diagram allows to automatically open the current diagram when a double mouse click is made on the use case representation in a diagram o browser After that the only way to edit the use case is to choose the edit entry in the menu Previous deployment view 51 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Next class 52 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Class A class may contain nested classes relations attributes operations extra members and dependencies on packages The order of the class s sub items is very important because it is followed by the C Java Php python Idl generators AS UmiClassDiagram reegeneralisations UmlBaseClassDiagram oe UmiClassDiagram oeskKind owmemo_ref owref_index maidiagrams Initialization The representation of a class in the browser indicates if the class is abstract or is a template class furthermore a nested class icon ha reduced size EAgiClass view o StandardClass BtEmbeddedClass SeEmbeddedlemplateClass A AbstractCiass EfTemplateClass A class is the support to define all kinds of class depending on the languages the stereotype specify what a class is The way a stereotype translated for each language is configured and is specified through the generation settings You can set a default list of stereotypes for the classes and their relations through the edit default stereotype ent
70. applied Currently the state machine generator only generates C definitions When you apply this plug out on a state machine a class having the same name removing non legal characters is created or updated in case it already exist in the same class view to implement it This class doesn t contain static attributes and may have several instances Each sub state is managed through an own sub class the tree of the states and the associated classes is the same For each trigger whatever the state waiting for it an operation having the same name the C trigger must have a legal C name the C guards must be legal C forms etc is defined Currently the triggers can t have parameters and a transition can t several triggers You must apply these operations on the instance of the class implementing the state machine to simulate the event returned value is true until the final state is reached The operation starting the execution is named create the only legal trigger for a transition from an initial pseudo state A trigger s name can t start by the character _ allowing me to produce operations and attrib starting by _ without collision For instance in case you apply the state machine generator on the following state machine Boum home bruno uml EX state starte for ce pene wht ples Project Windows Jools Miscellaneous Help FESSER browser Diagram jaj xl p ae jak ETO oe O SY MH e 6 OCO gt O gt Bi O cmaching gt
71. bouml_4 2 doc TOUT html on the current set Default stereotypes The dialog allowing to set the default stereotypes Default stereotypes dialog 5 em i i i 9 pied eb ee Sb Package Class UseCase Artfact Views Diagrams Activities others activity action Stereotypes ke ul maita pin stereotypes epe Activity action drawing Depending on its stereotype a activity action is drawn in a diagram as a rectangle a convex pentagon or a concave pentagon result value read i insertAt timer gt variable value action Requested Order m target y int request call behavior m fu param in ou param target action in_param out_param h Z By default the name of an action is its kind this one is written inside the action except if the action is an opaque action and you ask to see the code If the action has pre and or post condition these ones are show except if you ask to not show the conditions 191 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html A right mouse click on a activity action in a diagram calls the following menu supposing the activity action editable adc pin upper lower edit drawing setings edit activity action select In browser select linked items set associated diagram remove from view delete from model Menu add pin To add a pin Menu edit drawing settings read variable value action add pin Upper
72. by the package xx forms dependent on the package specifications associated to the BOUML package containing the deployment view where the artifact is defined e fimport is replaced by import forms specified by dependencies stereotypes import from classes produced by the artifact to classes or packages e definition is replaced by the definition of the classes associated to the artifact e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the artifact if not found for the deployment view containing the artifact if not found in the package containing the deployment view etc Class The Java definition of a class is set through the Uml Parametrized Instantiate and Java tabs of the class dialog A Java type definition may be a class an interface or an enum may be defined through a class depending on the stereotype and translation in Java see generation settings In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Java code generator are e comment is replaced by the description of the class adding e description is replaced by the class description without adding e public produce public when the class is declared public o final produce final when the class is declared final e fabstract produce abstract when the class is abstract e name is replaced by the class s name 334 o
73. class instance a sequence diagram object diagram or collaboration diagram may contain modeled class instances and graphical classes instances out of the model Refer to class instance for more information _ State A state represents a state machine a sub machine a composite state or a simple state A state may contains e state diagrams e sub states e regions e pseudo states e transitions e actions e receive signals an action with the stereotype receive signal 17 02 2008 11 48 e send signals an action with the stereotype send signal Refer to state and for more information Pseudo State A pseudo state may be final state for reasons of simplification initial 8 deep history shallow history sh join K fork junction choice entry point exit point terminate A pseudo state may contains e transitions Refer to pseudo state for more information Activity An activity may contains e activity diagrams e parameters e activity nodes e expansion and interruptible activity regions Refer to activity for more information im Expansion region An expansion region may contains e expansion and interruptible activity sub regions e om expansion nodes e control nodes e action nodes e object nodes Refer to region for more information 18 of 402 file E uml BOUML boumlL 4 2 doc TOUT html 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html i Interruptible
74. code recalving chapter number path rank in the m ther and level in the browser tree Result ater virtual void htmi qcstring pfix uneigned int rank unsigned int level Substitution Default declaration From definkion Not generated in C Edit cairarrseters S inlinel itype folaseii imamel i isit Siti ltelsi loonet f volatile atatienl ect Definition Void Unitperation html octeering unsigned int unsigned int Result ater E body Substitution F contextual boty indent Edit Gosh Default deimitian From declaration Not generated it Cet Edt parameters ce In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration and Definition part are editable the other one help you to see what will be generated for C supposing you do not modify the C code generator You can see above that the definition doesn t contains the name of the parameters whose aren t used to avoid C compiler warnings When you push the button Default declaration or Default definition the form specified through the generation settings is proposed adding all the operation parameters given in the UML tab without any modifier These forms may be modified as you want even t produce illegal source code but more probably to add type modifiers etc The buttons From definition and From declaration allow to produce the declaration definition from the definition declaration
75. convention State Action dialog Sekam Wri oai Java User oen Activity object dialog tab Java This tab allows to specify the selection in Java but in fact BOUML doesn t check the syntax this is just a convention 196 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html State Action dialog 2 605 2 h Url oct cH ava User Menu duplicate The menu entry duplicate clone the activity object without its children Menu referenced by To know who reference the current activity object through a transition Menu mark See mark Menu delete The menu entry delete is only present when the activity object is not read only Delete the activity object and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry tool is only present in case at least a plug out may be applied on a activity object The selected tool is called and applied on the current activity object Default stereotypes The dialog allowing to set the default stereotypes 197 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html act acter tivity obj d Ei adeli fR Stereotypes Drawing An activity object is drawn in a diagram as a rectangle with its stereotype it type if set and its se
76. current class for the UML point of view the UML definition of an operation is the one written under the browser winc when the operation is selected in the browser The operation named __init__ has a special management in Python it is used to place the initializations or the instance attributes and relations The python generator add the definition of this operation when it doesn t exist A class operation is underlined an abstract one is written in italic It is possible to move an operation from a class into an other except for the get and set operations associated to a relation or an attribute BEC owoper ass ig ov ahstracrOper Menus The operation menu appearing with a right mouse click on its representation in the browser is something like these supposing it is not read only nor deleted 116 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html edit duplicate Menu edit edit allows to show modify the operation properties including the body In case the operation is read only the fields of the dialog are read only Operation dialog tab Uml The tab Uml is a global tab independent of the language W Operation dialog Ural c dave Properties class UmlOperation AP USER name htrnil Stereotype value type voia pubic protected C private C package class operation abstract T force body generation parameters exceptions Type 1 OE erin
77. current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of a diagram doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Browser Menu edit drawing settings This dialog allows to specify how the items of the diagram must be drawn by default you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level a Diagram Drawing Settings dialo ss eael sikh j pE Diagram Drawing Settings dialo ss kablik diagran coor diagram coor drawing language default classes drawing mode default bi hide classes attributes default default class color default ANE hide classes operations default show classes members full definition default 7 show members visibility default defa
78. depend on the class drawing settings options drawing language hide operation show full members definition member max width and show member visibility and also on the class menu entry individual operation visibility For instance in a class diagram the drawing language is UML the full member definitions and visibility are shown and the attributes are hidden UmiOperation in id tem Jd nn isting sKind string memo_ref void polis string Int rank uint void C ere A bool void genava seine string vold ae LS a fig a 7 changing the drawing language to Java 130 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Previous attribute Next extra member 131 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Extra member An extra member is an alien allowing you to specify directly the generated code for each language This allows to manage non UML items for instance C pre processor directives Java attribute initializations etc An extra member is created through the class menu called from the browser stop add amirini add operation add embedded chass BGG ETa M mgE eht dupicait set embecied in Siop ind teiete referenced by mapi generate todd Menus The extra member menu appearing with a right mouse click on its representation in the browser is something like these supposing it is not read only nor del
79. diagram the open entry of the diagram icon menu does the same thing A right mouse click on a diagram icon show the following menu Overall short cul upper lower open select diagram in browser select linked Items remove from view The other diagram s elements have an own chapter refer to them 284 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Previous class diagram Next state diagram 285 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html State diagram Boum home bruno uml EX state state prj ace eens Wh lea Project Windows Tools Miscellaneous Help susty browser Diagram Enp igg jak Onone otee s 0O00 E Cle machine gt gt ReadAmount 7 S O selec tamnount otherAmount t amount t abort E enterAmeunt y abori t ok He abort F i Fa E COeemachine gt gt SM 2 _J lt emachine gt gt telephone _ lt lt machine gt gt Processes The state diagrams may be placed in a state A state diagram is created through the new state diagram entry of the state browser menus Browser menu The node menu appearing with a right mouse click on its representation in the browser is something like these supposing the diagram not read only nor deleted piaaeaer shia an edit edit drawing settings duplicate delete mark tool Browser Menu show show allows to show the diagram picture and edit it in case it is not r
80. done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu edit drawing settings Wi Diagram Drawing Settings dialo use case object SEQUENCE collaboration state use case f L show packages name in tab detaut write nametype horizontally default show packages context default show packages name in tab detar automatic labels position default show packages context deut draw all relations default automatic labels position etau class drawing mode defaut draw all relations deraut draw shadow default draw shadow deraut i draw default drawing language defaut rawing language show operations full definition default instances drawing mode defauit show hierarchical rank default show operations full definition default write nametype horizontally j default write name type horizontally defautt show packages nameintab default show packages context default h draw all relations default draw all relations default i fault draw shadaw default draw shadow default Cancel OK Cancel 35 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html i Diagram Drawing Settings di ska 2 CASE object seg
81. drawing settings Select diagram in browser Select all Ctri a Find selected browser element Copy optimal picture part Copy visible picture part Save optimal picture part png Save visible picture part png Save optimal picture part svg Save visible picture part svg Optimal scale Optimal window size Set preferred size and scale set preferred scale size unset Restore oreferred size and scale Unset prefered size and scale Format t Unda all changes Picture Menu add classes of the selected class view Only appears when a class view is selected in the browser all the classes of the class view whose are not yet present in the diagram are added in the diagram allowing to not have to do several drag amp drop from the browser to ass these classes but the position of the classes is probably not the good one Picture Menu edit drawing settings see edit drawing settings Picture Menu select all Select all the items of the current diagram may also be done through control a Picture Menu find selected browser element To find in the diagram a representation of the elements selected in the browser Picture Menu optimal scale Similar to the fit scale button change scale to see all the diagram s elements at great as possible Picture Menu optimal window size Similar to the button HH change the size of the windows to see all the diagram s elements with the current scale Picture Menu copy optimal picture part
82. drawing settings Select dlagrarn in browser Select all Ctri a Find selected browser element Copy optimal picture pert Copy visible picture part Save optimal picture part png Save visible picture part png Save optimal picture part svg Save visible picture part svg Optimal scale Optimal window size Set preferred size and scale set preferred scale size unset Restore oreferred size and scale Unset prefered size and scale Format Unda all changes Picture Menu edit drawing settings see edit drawing settings 298 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Picture Menu select all Select all the items of the current diagram may also be done through control a Picture Menu find selected browser element To find in the diagram a representation of the elements selected in the browser Picture Menu optimal scale similar to the fit scale button change scale to see all the diagram s elements at great as possible Picture Menu optimal window size change the size of the windows to see all the diagram s elements with the current scale Picture Menu copy optimal picture part Copy all the diagram elements equivalent to a optimal windows size followed by a copy visible picture part then a restore of the original windows size Picture Menu copy visible picture part Put the visible part of the current diagram in the clipboard copy it is a screen copy the current scale have im
83. e set Description to Moc ing InputName h Project Settings settings For wind Release E aDirection h anlternikind A aRelationkind h alvisibility h ClazsGlobalCmd h CrodF amily hi CopSettings h CopSettingsCrnid h mes Dialog h IdiSettings h ldg ettingsCmd h Z JavaSethings A B JavaSettingsCrmd h MiscGlobalCmd h Z OnlnstanceCmd h E FackageGlobalCmd h I i A A L Input file Description Commands General Custom Build trop gprosDialog A Mocting Inputh arrie 4 Zqtdir2 bin moc exe InputDir InputNamel h o 11 Outputs tilnputDitimoc input amel cpp Directory Files Dependencies area Previous Use case wizard Next Project control 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Project control This tool manages an applicative write access to the project files without using the may be existing operating system capabilities The goal is to give the write access of a the project files to at most one user per file to avoid to merge modifications made by several users The tool Project synchro associated to project control allows you to synchronize a repository project with the modifications made by several users supposing each package modified by at most one user Because of the way the project data are saved by BOUML see project files the write access are managed at package level and each information a
84. editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which looks each second at the file contents to get the new definition until the dialog is closed I do not like ve much this polling but this works even QT isn t compiled with the thread support The default button visible above associated to the description allows to set the description with a default contain specified through the generation settings Useful to generate comments compatible Java Doc or Doxygen for instance Relation dialog tab C This tab allows to give the C definition of the relation it is visible only when C is set through the Languages menu For an association or an aggregation without multiplicity Relation dialog lt 3 Lim Kes Java IBL User ROLE 1 r Visibility follow uml protected public protected private F mutable comment static mutable volatile const type name value Declaration c2 theca Result after substitution Default declaration Not generated In C ROLE Visibility follow uml protected public protected private M mutabie Sfoomment static mutable volatile const type name ivalue Declaration ec thet Result alter substitution Default declaration Not generated in C for a generalization r
85. entry tool is only present in case at least a plug out may be applied on the diagram The selected tool is called and applied on the current diagram o O Picture menu The diagram menu appearing with a right mouse click out off any item in the diagram picture is something like these supposing th diagram not read only 308 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Component diagram MaM u Edit drawing settings Select diagram in browser Select all Ctri a Find selected browser element Copy optimal picture part Copy visible picture part Save optimal picture part png Save visible picture part png Save optimal picture part svg Save visible picture part svg Optimal scale Optimal window size Set preferred size and scale set preferred scale size unset Restore oreferred size and scale Unset preferred size and scale Format Unda all changes Picture Menu edit drawing settings see edit drawing settings Picture Menu select all Select all the items of the current diagram may also be done through control a Picture Menu find selected browser element To find in the diagram a representation of the elements selected in the browser Picture Menu optimal scale similar to the fit scale button change scale to see all the diagram s elements at great as possible Picture Menu optimal window size Similar to the button H change the size of the windows to see all the diagram s element
86. ficaces default throw new Error I i private nama int v value w j j final class IntegerValues 2 2ero x One saa TR as_ Three as BevVeral private int value public int value return value public static IntegerValues fromInt int value switch value as 28FO One _ Two Three as BeVeral default throw new Error private IntegerValues int v value vj Hi Default definition Not generated in Java Edit annotation Standard class ml Parametrized C Java OL User M public M final S comment public final labstract class name extends implements Definition fimembers f This class manages classes notes that the class ClassiItem is a mother class of the class s children ff You can modify it as you want except the constructor Result afar 71358 UmlClass extends UmlBaseClass UmlClass substitutian skind meno ref x shtml shtml write Default definition Not generated in Java public produce an empty string when the check box public is not checked else produce public final produce an empty string when the check box final is not checked else produce final 60 of 402 17 02 2008 11 48 61 of 402 file E uml BOUML boumlL 4 2 doc TOUT html The external check box must be used when the class must not be defined in Java by BOUML but you want to specify
87. fill color Note Remove from view A note may contain any text a note is resizeable To change the text of a note choose the edit entry of its menu or double click on it this open a window containing the text close the window to end the edition 272 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html boumi 2 Pep ry se is under edition A right click on the edited note calls a dialog allowing some text manipulations thanks Qt A right mouse click on a note show the following menu Color of text Font b Edit drawing settings select linked items Remove from view The font may be changed by default the font is the one used to write the other texts The color of the text may be changed a text is black by default Edit drawing settings allows to change the fill color Select linked items select all the items connected this the current one through any line in the previous picture this select all except the package the text upper diagram and the use case diagram icon Text Text is another way to write a text contrary to the note a text is written alone see upper diagram on the picture below by default a text contains blabla a text cannot be empty The edition of a text is done like for a note A text is resizeable a resize 1s not automatically done when the contains is modified A right mouse click on a text show the following menu Remove from view Dia
88. for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu duplicate The menu entry duplicate clone the region without its children Menu set it nested in the region above The menu entry set it nested in the region above is present when the previous element in the browser is a region allows to move the region inside Menu extract it from current parent region The menu entry extract it from current parent region is present when the region is nested in an other one allows to extract the region and place it in its grand parent Menu mark See mark Menu delete The menu entry delete is only present when the region is not read only Delete the region and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry tool is only present in case at least a plug out may be applied on an expansion region The selected tool is called and applied on the current region
89. generation settings custom produce an empty string when the check box custom is not checked else produce custom custom is available when the stereotype of the class is valuetype in Idl see generation settings The external check box must be used when the class must not be defined in Idl by BOUML but you want to specify the name of the class to not follow the Uml C Java name and or the included files needed to use it Not yet implemented in the Idl generator members produce the declaration of the class members relations attributes operations and extra members following the browser order Refer to the generation settings for more details The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Menu duplicate The menu entry duplicate clone the class and all its children including the nested classes The self relations a self relation is a relation between a class and itself are specially managed they became a self relation to the clone For instance if the initial situation is the following 64 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Project Windows Jools Miscellaneous Help jee aw Ke Diagram DB Ei otf SAE b e ee a o abi fioc 4 ma EE B FaClass view E Diagram Bec Raat peop tec lt list gt gt the e s lt unidirect
90. gt ReadAnnount E _seber Amnon otherAmount T amount abort F C enter mnamt abort t ok E S S abort fi lleemachine gt gt SM oe H _ lt emachine gt gt telephone amp _ lt lt machine gt gt Processes N 4 you will obtain these definitions 362 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html SE Pacass view B4_eanachines gt Readfanounl Be Freed Aurea BS Any State BBtReatAmount State 2 S select Amount_ State pe generalisation Any State oo Ler Amour ceamnount eakport oe _Upper El SrenterAmount_State te peneralisation gt s Any State Erari owok Wi pper E seleclanount_ state E_enteramount_state s e cyeneralisalion gt Any State myereate est ee upper i _readamount state Oe ReadAmount eotherAnourrt Deanin 0k ecreale ow _Sel_currentStale en final _current_stale lt directional aggregation Having an instance of ReadAmount you must first call create to execute the initial transition then you may call otherAmount etc When you modify the state machine then you recall this plug out the classes are updated The classes operations and attributes produced by a previous state machine definition but now useless are deleted Warning if a state or other elements is renamed or was moved to have a new parent the corresponding class or class member is deleted and a new one is created If you add classes or class memb
91. ha nested inferruptible region Elkan action ER sis a an olher pin a parameter set 7 ef siepentency gt other Package Boa send signal action o target H ai accept event action timer Can activity phjert J lt lt talastore gt gt a datastore CL lt lt ctentralfutfers gt a central butter shvoee o fj Component view E Component E sulbComponent t a eneraizatiom cip sdependency gt cmp EElComponent Diagram Deployment view E Artifact alependency art A node 2 beptoyment Diagram subPackage tependency gt other Package ilependenty gt ACass siependency gt an action file E uml BOUML boumlL 4 2 doc TOUT html All the browser items may have a description a stereotype sometime without special meaning for BOUML the default stereotypes may be defined for some types of item and user properties The browser item s stereotype may be showed hidden through the Miscellaneous menu 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The bold font is used when an item is modifiable an item is read only when you do not have the write permission for the file s supporting it see Project files The system items supporting of the plug out s API for instance UmlBaseClass are also read only this help you to not modify them to have a chance to remain compatible with the future versions When you create a new item this last is placed at the end of the items of the sa
92. in browser select linked Items delete fram model Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a parameter in a diagram all the settings are set to default parameter noce color default 164 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Menu select class in browser Appears when the type of the parameter is a class to select it in the browser Previous pseudo state Next activity region 165 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Activity region There are two kind of regions expansion region and interruptible region both may be placed under an activity or a region In the browser an expansion region may contain sub activity regions expansion nodes and activity nodes activity action object node or control node In the browser an interruptible region may contain sub activity regions and activity nodes activity action object node or control node E sacthvity Binterruptible region TSinterruptible region iexpansion region Btpexpansion region auexpansion node imexpansion region T interruptible region The region s properties are exposed below Expansion region me
93. level for the attributes relations and operations of the classes defined in the class view default means that the visibility of the upper level is followed which itself may be default etc up to the project level When you create a new class view the visibilities are set to default Menu edit drawing settings 39 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html SEQUENCE communication object slate activity drawing language default Glasses drawing made a fa E 4 i Diagram Drawing Settings dialo cola 3 hide classes attributes hide classes operations 3 i EL ie 3 4 show classes members full definition drawing language default g i i ie show classes members visibility EL E E 4 show classes members stereotype show attribute multiplicity show operations full definition defaut show attribute initialization mace members width show operation parameter direction default write namebype horizontally defaut show operation parameter name defaull draw all relatlans default show packages ein tab default P hack draw all relations defaun show classes and packages context defaull automatic labels position default show Information note defaull draw shadow default TEE draw shadow default 40 of 402 17 02 2008 11 48 file E uml
94. lower Edit pseudo state select in browser select linked items remove from view delete from model tool Menu tools Appears only when at least one plug out is associated to the pseudo state kind To apply a plug out on the pseudo state Previous state action Next activity 154 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Activity Activity In the browser an activity is placed in a class view a use case view or a use case and may contain parameters expansion and interruptible activity regions activity nodes activity action object node or control node and activity diagrams amp PaClass view E 2an activity Slactivity diagram a parameter parameter stream parameter exception an interruptible activity region man expansion region an activity action an accept timer event action i an accept event action amp Can activity object initial final Sa flow final ra merge Sa decision a fork aa join The activity s properties are exposed below Activity parameter To simplify in Bouml a parameter is both a UML parameter and a UML parameter node this means that the properties of a parameter also contains the properties of a parameter node In the browser a parameter is placed under its activity and may contains flows A flow can t directly connect two parameters a parameter is connected through a flow to an expansion node or an activity node
95. lt executable gt gt an other Artifact Hil lt lt cpu gt gt a Node il lt lt device gt gt an other Node A deployment diagram is created through the new deployment diagram entry of the deployment view browser menus Browser menu The node menu appearing with a right mouse click on its representation in the browser is something like these supposing the diagram not read only nor deleted Deployment Diagram show edit edit drawing settings duplicate delete mark tool 315 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Browser Menu show show allows to show the diagram picture and edit it in case it is not read only Browser Menu edit edit allows to show modify the diagram properties In case the diagram is read only the fields of the dialog are also read only deployment diagram dialog tab Uml hace ope We esa Deployment diagram dialog lt 3 Gi User name fe Deployment Diagram Stereotype description Editar The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of a diagram doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance X
96. menu Color of text Font b Edit drawing settings select linked items Remove from view The font may be changed by default the font is the one used to write the other texts The color of the text may be changed a text is black by default Edit drawing settings allows to change the fill color Select linked items select all the items connected this the current one through any line in the previous picture this select all except the package the text upper diagram and the use case diagram icon Text Text is another way to write a text contrary to the note a text is written alone see upper diagram on the picture below by default a text contains blabla a text cannot be empty The edition of a text is done like for a note A text is resizeable a resize 1s not automatically done when the contains is modified A right mouse click on a text show the following menu Remove from view Diagram icon A diagram icon is a shortcut to a diagram this allows to quickly navigate through the diagram without limitation a actor or some othe item kinds may be associated to only one diagram The used icon indicates the diagram kind but its name is not written A double mouse left click on a diagram icon opens the diagram the open entry of the diagram icon menu does the same thing A right mouse click on a diagram icon show the following menu 263 of 402 17 02 2008 11 48 264 of 402 URPET lower open
97. on the namespace specifications associated to the package containing the deployment view where the artifact is defined The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Artifact dialog tab C source This tab is only available for the source artifacts and allows to give the definition of the C source file generated for the artifact it visible only if C is set through the menu Languages artifact dialog amp as ca ib wibbii sede bee ml C header C source Java Source d sourne Associated classes Associated artifacts User comment s includes tinclude UmlCom h Source ile jyinciude UmlClass h definition inamespace_start 5 members namespace end Editor Default definition Mot generated in C cae finclude a needed file h ff produced by the C generator include UmlCom h Result ater j inelude UmlClass h substitution l osUmlArtifect thtmi 4 5 sUmlArtifact skind When you push the button default declaration the form specified through the generation settings is proposed this last may be modified 216 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html as you want even to produce illegal source code When you do not want to generate the C source file for instance the artifact is only assoc
98. only in the first case the link is doesn t have an associated relation Object link edit select relation in browser Object link select labels Edit labels default position Geometry Ctri l b geometry Coil k Remove from view remove from view Link Menu edit edit allows to choose the relation supported by the link the available relations depends on the type of each extremities the current relation set is shown by the selection 279 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a Object link dialog 45 To set the association select one clicking on a cellule or on the first column then press Ok To unset the association press Unset then press Ok Class Inst j1 mothe CVEnererson Fa Bruno Person father Evelyne Person a Arung Person husband wife Evelyne Person ja Evelyne Person mother Bruna Person 15 _ Evelyne Person father Bruna Person e Evelyne Person husband wife Bruna Person New Unset OK Cancel Link Menu select relation in browser Is of course only available when the relation is set Message Menu select labels Of course only available when the relation is set to select the labels relation s name stereotypes role s and multiplicity ies associated to the relation Useful when you are lost after many label movings Message Menu labels default position Of course only available when the relation is set to place the roles s name ass
99. parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Browser Menu edit drawing settings This dialog allows to specify how the items of the diagram must be drawn by default you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level diagram color diagram color E packages name in tab default default note color default show package context default 7 d automatic labels position default i default component color default draw all relations default draw shadow default ug default package colar default draw component as icon default show component s required and default provided Interfaces fama g default fragment colar default show component s realizations default e package name in tab to indicate if the packages s name must be written in the tab which is the small rectangle on the top aeaut eat KE g F e show package context to indicate if the context where the packages are defined must be written it is not the case just above The context may be the UML co
100. placed in a use case view a use case or a class view 5 FaUse Case View l FalCollaboration Diagram ECoUse Case FaCollaboration Diagram FaClass view FalCollaboration Diagram A collaboration diagram is created through the new collaboration diagram entry of the use case view use case and class view browser menus Browser menu The node menu appearing with a right mouse click on its representation in the browser is something like these supposing the diagram not read only nor deleted show edit edit drawing settings duplicate delete mark tool Browser Menu show show allows to show the diagram picture and edit it in case it is not read only Browser Menu edit edit allows to show modify the diagram properties In case the diagram is read only the fields of the dialog are also read only collaboration diagram dialog tab Uml 253 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html name fkey dawn stereotype description Editor The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of a diagram doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc f
101. second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support The C Java Php Python and Idl tabs visible only 1 these languages are all set in the Languages menu allow to specify the directory where the generation are made and the namespace package module i Package dialog eesti a Package dialog Lim bt Java Php IBL Properties Lim cH Java Pho IBL Properties The generation directories may be relative in case the root directory The generation directory may be relative in case the root directory is specified through the project menu entry edit generation settings is Spectied through the project menu entry edit generation settings headers directory directory Browse Set it absolute Browse Set it absolute SUCES directory package 3 Browse Set it absolute NAMeSPace 22 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html F a Package dialog i Package dialog 2 Lim C Java Php IDL Properties Lim C Java Python Properties The generation directory may be relative in case the root directory The generation directory may be relative in case the root directory is speciied through the project menu entry edit generation settings is S peciied through the project menu entry edit generation setti
102. select diagram in browser select linked items remove from view Previous sequence diagram Next class diagram file E uml BOUML bouml_4 2 doc TOUT html The other diagram s elements have an own chapter refer to them 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Class diagram organ w a x i afk E BEJ e es ei ote scale 100 2 me a WindShest E y The class diagrams may be placed in a class view afiClass view Elconsole A class diagram is created through the new static class diagram entry of the class view browser menus Browser menu The node menu appearing with a right mouse click on its representation in the browser is something like these supposing the diagram not read only nor deleted show edit edit drawing settings duplicate delete mark tool Browser Menu show show allows to show the diagram picture and edit it in case it is not read only Browser Menu edit edit allows to show modify the diagram properties In case the diagram is read only the fields of the dialog are also read only class diagram dialog tab Uml 265 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a F 2 ye a i T Class diagram dialog lt pe een ry name Jorgan stereotype description Editor The proposed stereotypes are the default one specified through the Default stereotypes dialog more the
103. selected elements in the other case the same value is set for all the elements Fragment 250 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html A fragment is resizeable To change the fragment s name choose the edit entry of its menu or double click on it A right mouse click on a note show the following menu Egit Add separator Edit drawing settings Remove from view Edit drawing settings allows to change the fill color Note A note may contain any text a note is resizeable To change the text of a note choose the edit entry of its menu or double click on it this open a window containing the text close the window to end the edition i boumi lessees This note is under edition A right click on the edited note calls a dialog allowing some text manipulations thanks Qt A right mouse click on a note show the following menu Upper Lower Edit Color of text Font b Edit drawing settings select linked items Remove from view The font may be changed by default the font is the one used to write the other texts The color of the text may be changed a text is black by default Edit drawing settings allows to change the fill color Select linked items select all the items connected this the current one through any line in the previous picture this select all except the package the text upper diagram and the use case diagram icon Text Text is
104. supposing the diagram not read only Association edit select stereotype and label default stereotype and label position delete from model Association Menu edit edit allows to edit the association label ethernet stereotype Association Menu select stereotype and label To select the association s label and stereotype Useful when you are lost after many label movings Only appears when the associatior have a stereotype or a label or both Association Menu default stereotype and label position To place the association s label and stereotype in the default position Only appears when the association have a stereotype or a label both Useful when you are lost after many label movings 320 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html By default when you move a class or a relation point break or edit the relation the associated labels are moved to their default position this may be irritating To ask BOUML to not move them automatically in a diagram use the drawing settings of the diagrams Association Menu delete from model Remove the association Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the diagrams Default stereotypes dialog 2 alah m ilea r e Package Class UseCase Artfact Views Diagrams Activities Others class diagram FO stereotypes object diagram PN stereotypes co
105. tab allows to set the default Python file content associated to an artifact it is visible only if Python is set through the menu Languages a GenerationSettings dialog indent step 4spaces file default reversed py file extension castes of hen 2 l ocami tiself tiname eterest ype The first Id tab allows to set the default Idl file content associated to an artifact it is visible only if Idl is set through the menu Languages 224 of 402 17 02 2008 11 48 GenerationSettings dialog titnder _ NAME _H define _ NAME _H comment file default includes content module_start definition module end tendif i i cament interface finase fiizherit ilmamere VENTS Coa i comment 1 f memi er as file E uml BOUML bouml_4 2 doc TOUT html custom valeetyp inane inherit mT ii ment typ def Fi type f mame i tment enception finame fE mamian l Drawing An artifact is drawn in a deployment diagram as a rectangle containing the artifact icon Miagramz afe E Fa e ia a eo a scale 100 2 neH z Se ea sata pa j aN UE SWS oe E The default color of an artifact may be set through the drawing settings gt a aa sj 4 a 3 ila A right mouse click on an artifact in a diagram calls the following menu supposing the artifact editable 225 of 402 17 02 2008 11 48 file E uml BOUM
106. the UML tab It is also possible to produce throw when there is no exception depending on the generation settings e body is replaced by the body of the operation this macro may also be replaced by the body itself BOUML use this way for the get and set operations associated to a relation attribute The usage of body has a great advantage when you hit Default definition or From declaration the body is not cleared At least BOUML share the declaration and definition forms of the operations and other objects tc minimize the needed memory size body help for this The indentation of the keyword body is added at the beginning of each line except the ones starting by a or when the previous one ends by V 328 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the operation if not found for the class containing the operation etc e A template operation is defined with an empty declaration allowing Bouml to detect this case and placing the actuals between class and in the declaration part If the toggle preserve operations s body is set through the Languages menu the generators do not modify the body of the operations protected by dedicated delimiters This means that for them the body definition set through BOUML is not used The first time yor generate the code with the t
107. the diagram use the buttons on the top to create a new element or choose from the already defined ones tl click at the appropriate position in the diagram or grab the element from the browser into the diagram To add a new relation between classes select the appropriate relation through the buttons on the top of the diagram sub window click o the start class with the left mouse button move the mouse each time the mouse button is raised a new line break is introduced at least click on the end class To abort a relation construction press the right mouse button or do a double click with the left mouse button A line may be broken during its construction of after clicking on the line with the left mouse button and moving the mouse with the 270 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html mouse button still pushed To remove a line break a double click on the point with the left mouse button is enough or use the line bre menu of the point using the right mouse button The scale may be changed from 30 up to 200 To allows to see the operation message kinds even with a small scale the size of the arrc unmodified fit allows to set the largest scale allowing to show all the picture as it is possible Because of the scrollbar management hitting several times on fit may give several scales Classically the left mouse click may be used to select an element or several when the control key is down a multipl
108. the indentation added to the class definition for all the relation definition Relation equivalent to an attribute in an interface In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Id code generator are e comment is replaced by the description of the attribute adding e description is replaced by the relation description without adding e readonly produce readonly when the relation is read only see the UML tab o f attribute produce attribute e type is replaced by the name of the class pointed by the relation see the UML tab e name is replaced by the role s name see the UML tab e stereotype is replaced by the translation in Id of the relation s stereotype see the UML tab e multiplicity is replaced by the multiplicity of the relation see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the relation if not found for the class containing the relation etc Relation equivalent to an attribute in a valuetype In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Id code generator are e comment is replaced by the description of the relation adding e description is replaced by the relation description without adding e visibility produce the visibility see the UML tab e type is replaced by the name of
109. the name of the class to nc follow the Uml C Idl name members produce the declaration of the class members relations attributes operations and extra members following the browser order doesn t produce the enumeration items of an enum In an enum an attribute is not an enumeration item when its stereotype is attribute items produces the enumeration items of an enum an attribute is an enumeration item when its stereotype is not attribute extend is replaced by the class inheritance implement is replaced by the interface inheritance produces the annotations when it is present in the definition the button Edit annotation is active a specific dialog allows you to enter the annotations proposing the default annotations Deprecated and the ones defined through the classes stereotyped interface To add an annotation at the cursar position yau may Select it in the fist and press add Add Deprecated The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Class dialog tab Php This tab allows to give the Php definition of the class it is visible only when Php is set through the Languages menu For an enum class with the stereotype enum a Class dialog TTX ml Parametrized C Javea Php IDL Properties l extemal f comment final visibility eclass name i S items
110. the non defined types not already used by the Idl generator and set through the Id generation settings e lt user id gt session contains the session state opened diagrams browser view set when the project is closed e lt number gt _ lt user id gt d contains the new definition of a diagram until a save e lt number gt _ lt user id gt b contains the new definitions of a class s operations until a save e lt user_id gt lock a directory created when you load the project and deleted when you close the project see Multi users considerations Note in a plug out the supportFile operation defined on UmlBaseItem then applicable on all the browser items returns the absolute pathname of the file memorizing the item In general an item is saved in a file associated to its package the exceptions are e the body of the operations of a class which definition contains the keyword body This path name is returned when you apply supportFile on any operation of the class e the drawing of the diagrams this path name is returned when you apply supportFile on the diagram e the configuration of the tools edited throw the entry Tools Settings of the menu Tools is saved in the file tools e the configuration of the include and using forms associated to the external type and edited through the last C tab of the Generation Settings dialog is saved in t cpp_includes e the configuration of the imports forms associated
111. the one starting the tool the id is the value of BOUML_ID for this user Project menu 384 of 402 17 02 2008 11 48 385 of 402 file E uml BOUML boumlL 4 2 doc TOUT html Project control Project style Help Change user Search Ctrl s ult fhomebruno umlbar pr pri fhomebruno umlhonl html ar home bruno umlEs activitwactivity pr This menu allows e to load project may be through the historic list proposed at the bottom this historic is the one of BOUML for the user starting Project Control e to change the current user e to search for a package from its name e or to quit the tool Browser When you load a project only the packages are shown in the browser for example on the project doing the HTML generation if the project package is protected the API USER owned by bruno and Aux by olivier z z a Project control Project Style Help Maaiitied by i intel lt protected gt FAP BASE API USER Z bruno aus 3 olivier 1 ser is bruno id 2 The icon used to represent a package indicates the write access e W the package is not protected and may be modified by any user using BOUML e W the package is protected no users may modify it using BOUML e BD the package is own by the current user only the current user can modify it using BOUML e 1 the package is own by an other user indicated by the columns Owner id Owner name only this user can modify it using BOU
112. the selected elements has the same kind for instance all are a class you edit their drawing settings globally Multiple selection menu Select linked items Copy selected Ctrl c Cut selected Ctri x remove from view Remove selected from view Suppr Delete selected Control q Edt drawing settings and for instance when the elements are classes in a class diagram drawing language lt unchanged gt drawing mode sunchanged gt show context sunchanged gt hide attributes lt unchanged gt hide operations lt Unchanged gt show members full definitian lt unchanged gt show members visibility jsunchanged gt show parameter direction lt unchanged gt show parameter name lt unchanged gt show information note unchanged The settings valuing lt unchanged gt are not changed for the selected elements in the other case the same value is set for all the elements Note A note may contain any text a note is resizeable To change the text of a note choose the edit entry of its menu or double click on it this open a window containing the text close the window to end the edition 262 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html boumi 2 Pep ry se is under edition A right click on the edited note calls a dialog allowing some text manipulations thanks Qt A right mouse click on a note show the following
113. this case the effective value if specified in the upper level which itself may specify default etc up to the project level Refer to drawing for the settings concerning the packages Menu import Allows to import the generation settings except the specification of the base directories or the default stereotypes from an other project Menu delete The delete entry is only present when the package is not read only Note that this entry is proposed even the package cannot be deleted because a children at any sub level is read only or referenced by a read only relation these cases are checked when you ask for the deletion for performance purpose else the menu may take too many time to appears Delete the package and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu referenced by To know who are the packages referencing the current one class through a relation Menu mark See mark Menu generate To generate the C Java Idl code of all the sub items To generate C Java Idl code for all the project do it at the project level o 31 of 402 17 02 2008 11 48 32 of 402 file E uml BOUML boumlL 4 2 doc TOUT html through the Tools menu Note that the generators does not re write a file when it is not necessary to not change the last modification date of th
114. to print or display an announcement including an appropriate copyright notice and a notice that there warranty or else saying that you provide a warranty and that users may redistribute the program under these conditions and telling t user how to view a copy of this License Exception if the Program itself is interactive but does not normally print such an announcement your work based on the Program is not required to print an announcement These requirements apply to the modified work as a whole If identifiable sections of that work are not derived from the Program and can be reasonably considered independent and separate works in themselves then this License and its terms do not apply to those sectio when you distribute them as separate works But when you distribute the same sections as part of a whole which is a work based o Program the distribution of the whole must be on the terms of this License whose permissions for other licensees extend to the enti whole and thus to each and every part regardless of who wrote it 398 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Thus it is not the intent of this section to claim rights or contest your rights to work written entirely by you rather the intent is to exercise the right to control the distribution of derivative or collective works based on the Program In addition mere aggregation of another work not based on the Program with the Program or with a wo
115. to the external types and edited through the last Java tab of the Generation Settings dialog is saved in java_imports e the configuration of the include forms associated to the external type and edited through the last Id tab of the Generation Settings dialog is saved in the file idl_includes 393 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Previous Multi users considerations Next Troubleshootings 394 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Troubleshootings The plug outs start but do nothing The exchanges between BOUML and each plug out are supported by a TCP IP socket When you ask BOUML to start a plug out it search for a free port number starting at 1024 on localhost 127 0 0 1 this port is given in argument to the called plug out In case you have a firewall it may be necessary to configure it to allow BOUML and the plug outs to use a socket A modification made by a plug out is not see by the other ones To reduce the number of exchanges with BOUML and run faster a plug out does not ask for BOUML each time you want to get a value The system classes read and memorize all the data of a given item the first time you access to one of them with the restrictions allowed by WITHCPP WITHJAVA and WITHIDL This is transparent for you until two plug outs access to the same data when one plug out modify a value already read by the other the second p
116. value User properties 380 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html A user property is a couple key value the value may be empty By default the user properties are not used nevertheless they exist It is the only way to add information concerning any item without modifying BOUML lt obviously they are accessible in the plug outs The alone limitation is that the keys and the values must contain string may be on several lines even the editor called by the dialogs is not a multi lines editor The plug out genpro use the properties of the artifact on which it is applied to save its data and give them is a future usage supposing the project saved To see modify them select the last tab named User present in the dialog of any kind of item Compile a Java plug out To compile the java files go in the directory where the files are and do javac java don t compile file by file because some files associated to the API contain several classes Compile a C plug out under Windows Qt 2 3 for Windows and Microsoft Visual C is available here ftp ftp trolltech com qt non commercial Because this release of Qt is old if you install Qt on a recent release of Windows for instance Xp the installation may be frozen at the end in this case just kill the installation process and in fact the installation is done Read the Qt documents to see how to use Qt under Microsoft Visual
117. view for more information ca Use case A use case is a use case but also a browser container and may contain use cases e actors e classes e class instances e states e activities e relations e use case diagrams e object diagrams e sequence diagrams e collaboration diagrams Refer to use case for more information E Class A class is the support to define a class an interface an enum an union a struct an exception or a valuetype depending on the language The stereotype specify what a class is the way a stereotype is translated for each language may be specified through the generation settings Of course a class is also a browser container and may contain e nested classes e relations e attributes e operations e extra members The order of the class s sub items is very important because it is followed by the C Java Idl generators Refer to class for more information t Relation 16 of 402 17 02 2008 11 48 17 of 402 file E uml BOUML boumlL 4 2 doc TOUT html They are two kinds of relation the relations between classes whose are considered by the source code generators and the relations between the other items inheritance and dependency To add a relation you have to use a diagram obviously the relation drawing may be deleted just after it is not possible to add a relation through the browser It is also not possible to move a relation out of the items containing it The icon in th
118. when the relation is not read only nor static see the UML tab and the visibility is not package else produce an empty string e name is replaced by the attribute s name see the UML tab e value is replaced by the initial value of the attribute see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc Relation The Php definition of a relation is set through the Uml and Php tabs of the relation dialog The indentation of the first line of the definition give the indentation added to the class definition for all the relation definition Relation equivalent to an attribute In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Php code generator are e comment is replaced by the description of the attribute adding e description is replaced by the attribute description without adding e visibility produce the visibility see the UML tab except if the visibility is package use this case to produce Php4 code o static produce static when the attribute is a class attribute see the UML tab e const produce const when the attribute is read only see the UML tab e var produce var when the relation is not read only nor static see the UML tab and the visibility is not package else produce an empty strin
119. will be similar in spirit to the present version but may differ in detail to address new problems or concerns Each version is given a distinguishing version number If the Program specifies a version number of this License which applies to it an any later version you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation If the Program does not specify a version number of this License you may choose any version eve published by the Free Software Foundation 10 If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different write to the author to ask for permission For software which is copyrighted by the Free Software Foundation write to the Free Software Foundatior we sometimes make exceptions for this Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally NO WARRANTY 11 BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE THERE IS NO WARRANTY FOR THE PROGRAM T EXTENT PERMITTED BY APPLICABLE LAW EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGI HOLDERS AND OR OTHER PARTIES PROVIDE THE PROGRAM AS IS WITHOUT WARRANTY OF ANY KIND EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE THE ENTIRE RISK AS T
120. x 2236 e USA D 2236 x 3456 e USA E 3456 x 4472 Each format also exists in landscape Picture Menu undo changes file E uml BOUML boumlL 4 2 doc TOUT html Undo all the changes made since the diagram was opened the last time Note that the diagram is restored independently of the the pr saving Obviously the deleted browser items was not restored Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the diagrams Default stereotypes dialog 2 Pa ey ae Package Class UseCase Artfact Views Diagrams Activities Others class diagram PO stereotypes object diagram PO stereotypes collaboration diagram CO Stereotypes Sequence diagram CO Ssterectypes use case diagram Pe stereotypes state diagram slereotypes activity diagram Stereotypes component diagram Stereotypes deployment diagram Sterentypes Drawing 300 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Make a dessert ae E eate E Fre eoOne oP Gate HO iors ite JE a make a chocolate mousse lt precondition to have ingredients i break lt localPostcondition gt chocatate right temperature i melt chocolate chocolate guid A activity diagram may contain activity activity regions activity actions activity objects activity control nodes packages fragment notes texts diagram icons and the flows
121. 008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e iso Al 2376 x 3364 e iso AO 3364 x 4756 e USA A 864 x 1116 e USA B 1116 x 1728 e USA C 1728 x 2236 e USA D 2236 x 3456 e USA E 3456 x 4472 Each format also exists in landscape Picture Menu undo changes Undo all the changes made since the diagram was opened the last time Note that the diagram is restored independently of the the pr saving Obviously the deleted browser items was not restored Operation message Menu The menu appearing with a right mouse click on link is something like these supposing the diagram not read only add messages to organist add messages to greatkeyooard edit ts messages edit all the messages select linked items edit drawing settings remove from view The two first entries allows to add a message in each direction you have to choose the new message rank among the proposed ones bu you may change it after with edit its message or edit all the messages For instance in case a new message is added from from the keyboard great to a stop see the first picture the proposed ranks are Message Menu edit its message edit allows to edit the message of the link or delete some of them recursively or not see edit Message Menu edit all the messages To edit all the messages appearing in the diagram to change the messages themselves or their numbering recursively or not or delet so
122. 02 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html You can define your own shortcut using the shortcut editor through the Miscellaneous menu When several diagram s elements are selected the menu appearing on a left mouse click allows to align them Multiple selection menu select linked items IE align top copy selected Ctri c Qo align bottom cut selected Ctrl s remove trom view E align lett remove selected fram view Suppr align right delete selected Contral d 0 align center F align center verticaly 4 align center horzontaly If all the selected elements has the same kind for instance all are a class you edit their drawing settings globally Multiple selection menu Select linked items Copy selected Ctrl c Cut selected Ctri x remove from view Remove selected from view Suppr Delete selected Control q Edi drawing settings and for instance when the elements are classes in a class diagram drawing language unchanged drawing mode unchanged Show context unchanged hide attributes lt unchanged gt hide operations lt unchanged gt show members full definiian lt unchanged gt show members visibility lt unchanged gt show parameter direction e unchanged gt show parameter name lt unchanged gt show information nate lt unchanged gt The settings valuing lt unchanged gt are not changed for the
123. 2 doc TOUT html The way an attribute is written or not in its class picture depend on the class drawing settings drawing language hide attributes show member visibility show attribute multiplicity show attribute initialization member max width and show full members definition and also on the class menu entry individual attribute visibility Changing the drawing language from UML the default to C or IDL zegnum_pattern gt Compound Changing the drawing language to Java agnum _patiern gt StopKind public static final int_Reed public static final int _ Flute public static final int Principal public static final int _String public static final int _ Mutation publie static final int_Campound Changing the drawing language to Php lt lt num_pattem gt f const Reed const Flute const Principal const String const Mutation const Compound Changing the drawing language to Python Previous relation Next operation 115 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Operation BOUML only manage class s operations and friend operations not standard C or Php and Python functions even it is possible to define a C Php and Python function through an extra member or in an artifact definition etc An operation may have a stereotype but it does not have a special meaning for BOUML Contrarily to several UML toolbox the body of the operations is f
124. 48 file E uml BOUML bouml_4 2 doc TOUT html a GenerationSettings dialog sms Types Stereotypes Cee corte ce ce cesi vavan bavar svars i vaya sates iena Desenption Du Abio deat bicomment Eivieibility static finaljt transient volatale type O nene 6jvelue het Lad udan Pings hoa fare Setaut inton TF etna detniber public static final cless Sinema new O c Lees _ Eirassa Enum paiem dem come F name etam iniae cate in Toant i comment f risibs lity etetac 6 final ii tranrient ii ivolatila itype Dins valz ii Commant Sivieibality iietecici finali i transient iivolatiLe ti type iimultipliciaty inane waioe comment ivishi lity i stetic F final fj trensient i eolstile f type fisultiplicaty Ginane valoe The second Php tab allows to set the default operation definition without the parameters in Php it is visible only if Php is set through the menu Languages i GenerationSettings dialog lt gt ficomment fivisibility f comet f etat ici fiver finas ti value Air drik Atanan ai maat Fivigeibility ame joe tf Eem a comment final visibility abstract static function name 4 Operation default definition body The second Python tab allows to set the default operation definition without the parameters in Python it is visible only if Python 1 through the m
125. 99999 body is replaced by the body of the operation this macro may also be replaced by the body itself BOUML use this way for the get and set operations associated to a relation attribute The usage of body has a great advantage when you hit Default definition the body is not cleared At least BOUML share the definition forms of the operations and other objects to minimize the needed memory size body help for this When contextual body indent is toggled the needed indentation is added to the body this mean at least the first line is not indented Since release 3 4 contextual body indent is not set when an operation is produced by a reverse to not alter the original indent In the special case of the __init__ operation the initialization of the instance attributes and relations is added before the body they are not produced if body is not part of the operation definition The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted The edit body button is active when the definition contains body to edit it through the editor you want define the environment variable BOUML_EDITOR furthermore when you set add operation profile on body edition through the miscellaneous menu the form defining the operation in the editor is added at the beginning of the edited file Operation dialog tab Id This tab allows to give the Id
126. A oad w jmpa AT Wlultiplicity Association unspecified and 1 org 4 aggregation default dectaration means x or fe Multiplicity Aggregation unspeciied by value aE default orah declaration means X or Ji comment fistatiocl mutable i ivoistiieiiiconstiiitypel i inamejiivaivel comment fatet icii mutabie f volatile ficonet f eterest ype lt fitype gt finane fivalue Fi comment F atat icl E auteble f volat i lel ficomet titype name Fimwltiplicity tivalee Association and aggregation S comment static 4 mutable volatile const type name valual S comneant static muitable volatile const stereotypea lt typeal gt nama value l comment static mutable volatile const type name multiplicity value Aggregation by value 3 comment stat ic Simutable volatile const iSttype iname ivalue comment Sistat ic 2 immutable S volat ile z feonst F fetereotypel lt typel name Eivalue coment statici mutable volatile fconst type name multiplicity value The fourth C tab allows to specify the get and set operations specificities in C 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html vidi Madifiers 4 et opra jetsam SS default definition public protected C priv
127. BaseClassItem this limits the amount of data managed by a plug out and reduce the execution time and used memory space if only WITHIDL is defined you will access only to UML and IDL data this means for instance that the operations cppDecl javaDecl and phpDecl will not be defined for Um lBaseClassItem this limits the amount of data managed by a plug out and reduce the execution time and used memory space the other combinations where only two of these three pre processor variables are defined are illegal 379 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Typical Execution i r fe E Bomp pPpr Onm om scale 100 S me HE boural S to get the item an Pug out 2 which the plug out main 2 port_number __ 4 S applied you may per also get the market itema with BOUML fo get items definitians and fame oA lt Applicative execute part ofthe Plug out Updating a plug out See upgrade plug out To start a plug out when Bouml is launch It is possible to apply a plug out on the project when Bouml is started through your shell or command line bouml lt project file gt exec lt plug out gt lt plug out options gt exit e lt project file gt indicates the model to load as usual e lt plug out gt indicates the plug out to apply on the project The C generator is named cpp_generator the Java generator java_generator the Php generator php_generator the Idl generator idl_generator the H
128. C On recent releases of Windows Visual C the macros allowing to automatically create a Qt project and or to ask for the usage of moc on header files may not work in this case read the following To have a QT project Edit project settings e the MFC must not be used Project Settings Settings For wind Felease General Debug C C Link Resourci Pa CREN Hitrnl Microsoft Foundation Classes No Using MFE Output directories Intermediate files Release Output files Release B Allow per configuration dependencies Cancel e add the preprocessor definitions WITHCPP WITHJAVA WITHPHP WITHIDL QT_DLL QT_THREAD_ SUPPORT having both WITHCPP WITHJA WITHPHP and WITHIDL is not mandatory you may define only one of them for instance WITHJAVA in case you are o1 interested by the Java definition of the items this allows to save memory space at the execution add the additional include directory QTDIR include 381 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Project Settings Settings For wing Aelease General Debug C C ca Categor Preprocessor Hest Preprocessor definitions iM ITHCPRWITHIDLWITHJAVA OT OLL QT THREAD Undefined symbols M Undefine all symbols E Additional Include directories f QT OIA include T ools Atral Ignore standard include paths Project Options nologo ML AWS Bs 02 S O TOR include l Too
129. Compound are mixture cornet constraint Editor For an enumeration s item 98 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html af Enum item dialog shos WL Umil c Java Php idi Properties class Stopkind Organ namg Feed Value Ecitor description A11 the organ s pipes are not flue pipes the reed pipes have a metal tonge the reed Editor resting against a shallot Default constraint Editor The proposed types for a standard attribute are the non class types defined in the first tab of the generation settings more all the classes defined in the project with their localization to distinguish synonymous classes You are not limited to the proposed list and any for even invalid for the target language s may be given The button type shows a menu proposing e if the current type of the attribute is a class to select this class in the browser e if the attribute is not read only and if a class is selected in the browser to set the type to be this class e if the view containing the class containing the attribute is not read only to create a new class and to set the attribute type to it Nevertheless I strongly recommend you to not add type modifier like amp etc with a class name in the UML tab because BOUML differentiate a reference to a class of the model and any other forms Supposing you also have the class attribute stops defined for C li
130. Fitrancient fivolatile Fitype i naee f valva ewiolcty or upee ficant divieibi lity Pievetic i final titrangient fivolatile tletereotype finame fi value cament ivigibiitty statici f final fitrangient Fivoiatiie Fitppeltiquitiplicity tiname Tiveive The third Java tab allows to set the default definition of an enumeration s item in Java to set the get and set operations specificities in Java only visible when Java is set through the menu Languages ym GenerationSettings dialog a ra oS Sivaluel Ieee Enumeration item default definition s ocomment public static final int name value Enum pattern item public static final class name new class nama default definition case name return name Enum pattern item case In iram int visibility _________ Modifiers Get operation cr default definition e public protected private package M final name get_ name F also in uml Set operation default definition public protected private package final l final parameter name set _ name T also in uml e man Modifiers Ficcmment Pivigibility final Fietet te Fl abetrect Fleymchronized Fitype finm Fi Cpe ite Fibodyi s ri The second Php tab allows to set the default definition of an attribute to set the default definition of an enumeration s item and to set
131. Help jo a amp Diagram 5 Fi S activity afe EB fin OO S Tp lt 8 A Th oo Ca abe fiore 4 me a FaClass view acai aan EY tan activity B Process Ord er Process Order lt singleExecution gt gt fSlDiagramt l zeprecondition order complete i lt lt postcanditions gt order closed a Requested Order e flow H e H OReceive Order Requested Receive t flows flow Fill Order m Ship Order Close Order i a a mfp E OSend Invoice e flows Ehake Payment MOA cept Payment Clnvoice Process Order F Menus The flow menu appearing with a right mouse click on its representation in the browser is something like these supposing it is not read only nor deleted see also menu in a diagram s lect decision Menu edit edit allows to show modify the flows properties In case the flow is read only the fields of the dialog are also read only Flow dialog tab Uml 203 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The tab Uml is a global tab independent of the language Flow dialog amp haaa iai Umi oct c Java Properties name ow stereotype description Editor The proposed stereotypes are the default ones specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype and the multiplicity are used both may be witl stere
132. L boumlL 4 2 doc TOUT html lib Upper Lower Edit drawing settings Edit artiact select in browser Select linked items oet associated diagram Remove diagram association Remove from view Delete from model Generate i Tool Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add an artifact in a diagram all the settings are set to default Diagram Di cols clon artifact colar detaut cu Menu set associated diagram set associated diagram allows to automatically open the current diagram when a double mouse click is made on the artifact representation in a diagram or browser After that the only way to edit the artifact is to choose the edit entry in the menu Menu remove diagram association To stop to associate a diagram to the artifact a Ear Previous component Next deployment node 226 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Node Nodes are used to specify how the deployment is made a node may represent a CPU a device etc Alla Deployment view Eda Deployment Diagram il lt lt cpu gt gt a Node Gle lt device gt an other Node A node may be created through the new node entry of a deployment v
133. License to do so and al its terms and conditions for copying distributing or modifying the Program or works based on it 6 Each time you redistribute the Program or any work based on the Program the recipient automatically receives a license from t original licensor to copy distribute or modify the Program subject to these terms and conditions You may not impose any furth restrictions on the recipients exercise of the rights granted herein You are not responsible for enforcing compliance by third parties to this License 399 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html 7 If as a consequence of a court judgment or allegation of patent infringement or for any other reason not limited to patent issu conditions are imposed on you whether by court order agreement or otherwise that contradict the conditions of this License they do not excuse you from the conditions of this License If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations then as a consequence you may not distribute the Program at all For example if a patent license would not permit royalty free redistribution of the Program by all those who receive copies directly or indirectly through you then the only way you could satisfy both it and this License would be refrain entirely from distribution of the Program If any portion of this section is held invalid or unenforceabl
134. ML e E the package is not protected and its associated file is read only you can t modify the write access o W the package is protected and its associated file is read only you can t modify the write access e E the package is own by the current user and its associated file is read only you can t modify the write access e E the package is own by an other user and its associated file is read only you can t modify the write access Package menu A menu appears when you do a right mouse click on a package its content depend on the package access the entries are Ctrl is replaced by Apple under MacOS X 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Protect this package Ctrl p to protect the current package no user will be able to modify it using BOUML Unassign this package Ctrl u to not protect the current package all the users will ne able to modify it using BOUML Assign this package to lt user gt Ctrl a to protect the current package except for the current user Protect lt user gt s packages recursively from this one to protect the packages own by the current user from the current package and going down recursively the state of the packages not own by the current user is unchanged e Protect unassigned packages recursively from this one to protect all the unprotected packages from the current and going down recursively the state of the other packages is unchanged e Protect all packages rec
135. ML boumlL 4 2 doc TOUT html a8 Class instance dialog 4 Um Atributes Relations Properties Attribute 1 hairColar Person brawn Unfortunately an attribute can t be set several times this is a problem when an attribute has a multiplicity greater than 1 Class dialog tab Relations This tab allows to specify the value of the relations of the instance including the inherited ones i Class instance dialog 20 Umil Attributes Relations Properties Class Inst Role _ kind Fiole Class inst Delete l gt wie sandrineWoman 2 _ pascaiMan gt Child joana Woman Unfortunately a relation can t be set several times this is a problem when a relation has a multiplicity greater than 1 Menu duplicate The menu entry duplicate clone the class instance except the value of the relations Menu referenced by To know who reference the current class instance Menu mark See mark Menu delete The menu entry delete is only present when the class instance is not read only Delete the instance and all the representation of it in the opened diagrams After that it is possible to undelete it from the browser unti you close the project obviously the deleted items are not saved Menu tool The menu entry tool 1S only present in case at least a plug out may be applied on a class instance The selected tool is called and applied on the current class instance I ee 139 of 402 17 02 2008 11 48 file E
136. Menu duplicate Clone the diagram in a new one Browser Menu delete The delete entry is only present when the diagram is not read only Delete the diagram and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Browser Menu tools 255 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The menu entry tool 1S only present in case at least a plug out may be applied on the diagram The selected tool is called and applied on the current diagram Picture menu The diagram menu appearing with a right mouse click out off any item in the diagram picture is something like these supposing th diagram not read only Collaboration diagram menu Edit all the messages Edit drawing settings Select diagram in browser Select all Ctri a Find selected browser element Copy optimal picture part Copy visible picture part save optimal picture pat png Save visible picture part png Save optimal picture part svg Save visible picture part svg Optimal scale Optimal window size Set preferred size and scale set preferred scale size unset Restore oreferred size and scale Unset preferred size and scale Format b Lindo all changes Picture Menu edit all the messages To edit all the messages appearing in the diagram to change the messages themselves or their n
137. Menu edit drawing settings This dialog allows to specify how the items of the diagram must be drawn by default you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level i Diagram Drawing Setting oka idiagram color write name type horizontally defaut default package color default packages name in tab defaut default fragment color default show package context default automatic tabels position default default mate color default Craw all relations defaut pti E EE draw shadgw defaut emar default e write class instance horizontally To write the instance type and name on the same line or on two lines e package name in tab to indicate if the package s name must be written in the tab which is the small rectangle on the top note a transparent package doesn t have shadow e show packages context to indicate if the context where the package is defined must be written it is not the case just above The context may be the UML context which is the path of the package in the browser choice followed for awt below or the C namespace specified by the package or the Java package specified by the package choice followed for picture below or the Python package specified by the package or at least the Id module 276 of 402 17 02 2008 11 48 file E
138. Menus The menu appearing with a right mouse click on a deployment view in the browser is something like this supposing it is not read only nor deleted a Deployment view deployment t hew node new artifact enit edit drawing settings delete mark generate a tool Menu edit Deployment view dialog 5 Pape ee ery rae Uni User name Considered cdepioyments stereotype Here are the deployments we propose depending on the available targets description Editor The stereotype of a deployment view doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu edit drawing settings 45 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a Diagram Drawing Settings dice ar ENER piain i deployment color deployment color default node colar default sh
139. O THE QUALITY AND PERFORMANCE OI PROGRAM IS WITH YOU SHOULD THE PROGRAM PROVE DEFECTIVE YOU ASSUME THE COST OF ALL NE SERVICING REPAIR OR CORRECTION 400 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html 12 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGI HOLDER OR ANY OTHER PARTY WHO MAY MODIFY AND OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE BE LIABLE TO YOU FOR DAMAGES INCLUDING ANY GENERAL SPECIAL INCIDENTAL OR CONSEQUENTIA DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM INCLUDING BUT NOT LIMITED TO LOS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS EVEN IF SUCH HOLDER OR OTHER PAR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES END OF TERMS AND CONDITIONS Previous Troubleshootings Next Miscellaneous 401 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Define an environment variable To define an environment variable under Windows click on start gt settings gt control panel gt system gt advanced gt environment variables To define an environment variable under Linux t csh place the following line in your cshrc setenv lt var gt lt value gt To defined an environment under Linux bash place the following line in your bashrc export lt var gt lt value gt Previous GNU public license
140. T html Activity Action dialog ss iy jo Umil behavior cl C dava Properties name faction Stereotype description Editar wen Activity call behavior action dialog tab Ocl The Oc tab allows to specify the behavior a state or an activity and the pre and post condition using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog 2 i saab an Ne Umi behaviar Oel c Java Properties T synchronous behavior Pre conditian Post condition cw The button behavior shows a menu proposing e if the current behavior is set to select this class in the browser e if the action is not read only and if a state or activity is selected in the browser to set the behavior to be the selected element e if the view containing the activity is not read only to create an activity or a state machine and to choose it Activity call behavior action dialog tab C This tab allows to specify the pre and post condition in C but in fact BOUML doesn t check the syntax this is just a convention 182 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Activity Action dialog 8 is ih le Umi behaviar Bcl C Java Properties Fre condition Post condition wen Activity call behavior action dialog tab Java This tab allows to specify the pre and post condition in Java but
141. TML generator ghtml the XMI generator gxmi and gxmi2 If necessary the full path of the plug out have to be done warning under Windows this path must not contain space e lt plug out options gt are the optional options you give to the plug out e exit is optional and allows to exit from Bouml when the plug out execution is done For instance HTML generator options are given here XMI generator options are given here e C Program Files Bouml bouml D aze aze prj exec C Progra 1 Bouml gxmi uml c aze xmi windows 1252 exit e bouml qsd qsd prj exec flat usr lib bouml ghtml tmp qsd_html del_html exit Exchanges with BOUML The exchanges between BOUML and the plug outs are supported by a TCP IP socket When you ask BOUML to start a plug out it search for a free port number starting at 1024 In case you have a firewall it may be necessary to configure it To reduce the number of exchanges with BOUML and run faster a plug out does not ask for BOUML each time you want to get a value The system classes read and memorize all the data of a given item the first time you access to one of them with the restrictions allowed by WITHCPP WITHJAVA WITHPHP and WITHIDL This is transparent for you until two plug outs access to the same data when one plug out modify a value already read by the other the second plug out does not see the new value until it unload an operation defined on UmlBaseltem the object then ask for the
142. The menu entry delete is only present when the node is not read only Delete the node and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you clos 227 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html the project obviously the deleted items are not saved Menu mark See mark Menu tool Appears only when at least one plug out is associated to the nodes To apply a plug out on the node Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the components Default stereotypes dialog lt 3 caer o source library culate epu device Drawing A component is drawn in a deployment diagram as a parallelepiped depending on the drawing settings a Deployment Diagram afk EI gt Cw oe fca gt A right mouse click on a node in a diagram calls the following menu supposing the node editable 228 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html UBPer lower edit edit drawing settings select node in browser select linked items set node associated diagram remove from view tool b Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be fo
143. The property if searched first for the artifact if not found for the deployment view containing the artifact if not found in the package containing the deployment view etc Class The Id definition of a class is set through the Uml and Idl tabs of the class dialog A Idl type definition may be a valuetype an interface a struct an union an enum an exception or a typedef defined through a cl depending on the stereotype and its translation in Id see generation settings In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Idl code generator are 356 of 402 e comment is replaced by the description of the class adding e description is replaced by the class description without adding e f abstract only for the valuetypes produce abstract when the valuetype is abstract 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e custom only for the valuetypes produce abstract when the valuetype is custom e name is replaced by the class s name o f inherit is replaced by the inheritance e members is replaced by the code generated for all the class s members relations attributes operations and extra members following the browser order e switch only for the unions is replaced by the union switch type e f items only for the enums is replaced by the enum s items definition e f xyz is replaced by the user property value in case xyz
144. To place these elements in the diagram use the buttons on the top to create a new element or choose from the already defined ones tl click at the appropriate position in the diagram or grab the element from the browser into the diagram Warning when you use the buttons to add an activity node and you click on a activity or region drawing the new activity will be nested in the activity or region In case you place the new element out of any activity or region drawing the new one will be nested in activity owning the diagram To add a new flow or dependency between elements select the appropriate arrow through the buttons on the top of the diagram sub window click on the start element witl the left mouse button move the mouse each time the mouse button is raised a new line break is introduced at least click on the en element To abort a line construction press the right mouse button or do a double click with the left mouse button A line may be broken during its construction of after clicking on the line with the left mouse button and moving the mouse with the mouse button still pushed To remove a line break a double click on the point with the left mouse button is enough or use the line bri menu of the point using the right mouse button The scale may be changed from 30 up to 200 To allows to see the operation message kinds even with a small scale the size of the arrc unmodified fit allows to set the largest scale allowing to s
145. Unmarshall 1S the standard UML property time event allows to indicate is the event is a timer to choose between the two representations Activity accept event action dialog tab C This tab allows to specify the trigger and the pre and post condition in C but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog 25 mimp Umil trigger Ocl trigger C trigger Java Properties tiger Pre condition Post condition Activity accept event dialog tab Java This tab allows to specify the trigger and the pre and post condition in Java but in fact BOUML doesn t check the syntax this is just a convention 179 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Activity Action dialog mmp Umil Eee trigger C trigger Java trigger T a aie omen Activity read variable value action dialog tab Uml Activity Action dialog 2 as caleba Umil variable Gel Java Properties name action stereotype description Editor cance Activity read variable value action dialog tab Ocl The Ocl tab allows to specify the variable class attribute or relation and the pre and post condition using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog s_e Lim varlable Gel Java Properties class E variabile
146. a button a very small description also appears Previous starting Next browser items 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Browser items B braasen Lens E other Package EH Packade G PajUse Case View Base case B osubUseCase cjeneralizalion gt use case siependency gt uc actors anActor Eadass Pjlatlassinstance Aass Sequence Diagram Collaboration Diagram E Object Diagram lt cattors gt AnActor gt Aclass FAladassinstance Alass F lUse Case Diagram Ef Sequence agran FP Cellaboralion Diagram ElObject Diagram EHT Sub Use Case View Faluse Case Diagram Ei Agldass view BE EIAGass BanAttribute lt Qeneraisation gt Ackass RA unidirectional association gt ovanOperation ii Aadassinstance ACass Cass Diagram EObject Diagram EiSeience Diagram Fa Collaboration Diagram 12 of 402 17 02 2008 11 48 13 of 402 2 lt lt machines gt AStateMachine EH _aAState Sneghon region Secsubmaching gt gt ASub Machine 2 State Diagram em S t transilions Oentry amp lO x AS e OBS A i 2 2 C lt lt sond signal gt gt 6 2anactivity FBlactivity Diagram aParameter ElGhan interruptible region ha nested Interruptible region fa nested expansion region Ean accept event action lt cinterrupl gt gt lt flow gt Giman expansion region asan expansion node ima nested expansion region
147. a preserved body e The only modification you can do in the lines containing the delimiters is the indent e The toggle is saved in the file associated to the project be sure the save is done when you change this toggle Attribute The Java definition of an attribute is set through the Uml and Java tabs of the attribute dialog The indentation of the first line of the definition give the indentation added to the class definition for all the attribute definition An attribute may be a standard attribute or the item of an enumeration defined through a class standard attribute In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Java code generator are e comment is replaced by the description of the attribute adding e description is replaced by the attribute description without adding e visibility produce the visibility see the UML tab o static produce static when the attribute is a class attribute see the UML tab e final produce final when the attribute is final e f transient produce transient when the attribute is transient e volatile produce volatile when the operation is volatile o type is replaced by the type of the attribute see the UML tab e stereotype is replaced by the translation in Java of the relation s stereotype see the UML tab e multiplicity is replaced by the multiplicity of the relation see the UML tab must be us
148. abstract see the UML tab else an empty string class is replaced by the name of the class containing the operation staticnl produce a line break when the operation is static else an empty string In case you do not like this notation change the generation settings to remove this macro and produce and but there are also a mark for BOUML to find the parameters list t lt n gt and p lt n gt produce the type and the name of each parameter count from 0 this allows you to remove a parameter add type modifiers etc throw is replaced by the form throw when at least an exception is defined in the UML tab It is also possible to produce throw when there is no exception depending on the generation settings body is replaced by the body of the operation this macro may also be replaced by the body itself BOUML use this way for the get 120 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html and set operations associated to a relation attribute The usage of body has a great advantage when you hit Default definition or From declaration the body is not cleared At least BOUML share the declaration and definition forms of the operations and other objects to minimiz needed memory size body help for this When contextual body indent is toggled the indentation of the keyword body is added to the indentation of the operation at the beginning of each line except the ones st
149. activity action object node or control node whose must be in the activity owing the parameter Note parameter sets are defined on actions see actions Activity Menus The activity menu appearing with a right mouse click on its representation in the browser is something like these supposing the activity not read only nor deleted see also menu in a diagram New activity diagram acd parameter add interruptible activity region new expansion region add activity action add object node edit duplicate delete referenced by mark 155 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Menu add These entries of the menu allow to add as activity diagram a parameter a region or an activity node activity action object node or control node The activity diagrams nested in a activity are the ones for the activity this means that in case you use this activity diagram to create a new region or an activity node these ones will be a child of the activity in the browser Menu edit edit allows to show modify the activity properties In case the activity is read only the fields of the dialog are also read only activity dialog tab Uml The tab Uml is a global tab Activity dialog 4 i i eb ba Umi oct c Java Properties name an activity stereotype T readonly F single execution description Editor The proposed stereotypes are the default one spe
150. activity region An interruptible activity region may contains e expansion and interruptible activity sub regions e control nodes e action nodes e object nodes Refer to region for more information Activity node An activity node may be d activity action opaque 2 accept event a accept timer event read variable value clear variable value write variable value add variable value remove variable value call behavior call operation send object L gt send signal broadcast signal unmarshall or value specification LI object nodes control nodes initial final flow final A merge 40 decision w fork sb join Activity nodes may contain e flow e o pins action only Refer to activity action object node and control node for more information E Component A component is an autonomous unit with well defined interfaces that is replaceable within its environment A component may contains e relations e components Refer to component for more information Ci Artifact Artifacts are basically used to produce source file s when the stereotype is source or to specified how libraries or an executable composed A source artifact is potentially associated to classes but you may directly give its source s contain for instance to define the C main function The other artifacts may be associated to artifacts Note In the old release of BOUML up to the 1 5 1 the behavior of the artifact was defined at the co
151. age except Php and Python te ON AADaR dialog void void gt Object boal boolean char char unsigned char char unsigned char byte short shart unsigned short short mit irit unsigned int imt unsigned int long long unsigned long long float float double double QCString string char string VOR any bogiean char octet octet short unsigned short type long unsigned long unsigned long long unsigned long float double string string itype file E uml BOUML bouml_4 2 doc TOUT html Default stereotypes dialog 2 mal esha The stereotype of an attribute does not have a special meaning for BOUML itype a const type itype itype Pitype s Pitype amp pitype amp itype amp type amp pype be ditype amp Pityne amp Bibpe amp Bitype amp Pitypey Pitypey itype ditype amp Sitype type const type itypej amp type Ditype type itype type type itypej itype itype vaid 7 tong char byte QSocketDevice Socket item_id type octet fihype Socket itype _ Bitype amp pitype amp itype amp pii de type type amp pype amp pype amp Pitype amp pitype amp itype amp Bitype amp type amp pibypey amp Pitype amp itype amp Ditypey amp itype amp itype amp pype amp Bitype amp type amp itype amp The third C tab allows to set t
152. agement hitting several times on fit may give several scales Classically the left mouse click may be used to select an element or several when the control key is down a multiple selection may also be done defining a region using the mouse left click out of any element and moving the mouse with the click and maintaining the clic down The diagram s elements may be moved after a left mouse click on an element and maintaining the click down during the mous move The right mouse click is used to show context dependent menus control s is a shortcut to save the project control a is a shortcut to select all the diagram s elements control d is a shortcut to delete the selected element s the model is affected suppr is a shortcut to remove the selected element s from the diagram these elements are not deleted control c 1s a shortcut to copy the selected diagram s elements control x is a shortcut to cut remove from view the selected diagram s elements control v is a shortcut to paste the selected diagram s elements control z and control u are a shortcut of undo control r and control y are a shortcut of redo the keyboard arrows allow to move the selected items When several diagram s elements are selected the menu appearing on a left mouse click allows to align them 322 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Multiple selection menu select linked items IE align top copy selected Ctri c Q
153. agram FO Stereotypes Sequence diagram FO Ssterectypes use case diagram PO stereotypes state diagram PO slereotypes activity diagram PO Stereotypes component diagram PO Stereotypes i deployment diagram PO Sterentypes Drawing 260 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Key down 1 2 keyQownt 1 2 1 blows ee ochemathye view see tracker wind shest valve diagram icons packages and the operations messages To place these elements in the diagram use the buttons on the top to create a new element or choose from the already defined ones tl click at the appropriate position in the diagram or grab the element from the browser into the diagram To add an operation message on an already existing link double mouse click on it or use the menu appearing though a right mouse click The scale may be changed from 30 up to 200 To allows to see the operation message kinds even with a small scale the size of the arrc unmodified fit allows to set the largest scale allowing to show all the picture as it is possible Because of the scrollbar management hitting several times on fit may give several scales Classically the left mouse click may be used to select an element or several when the control key is down a multiple selection may also be done defining a region using the mouse left click out of any element and moving the mouse with the click and
154. agrams in any order Menus B Fluse Case View muse case aactor Anctor EAcass Hatassinstance Aclass Oleemachines gt State Machine Bactivity falUse Case Diagram fBlobject Diagram fH Fs Sub Use Case View The menu appearing with a right mouse click on a use case view in the browser is something like this supposing it is not read only nor deleted 34 of 402 Menu edit New use case diagram New sequence diagram New collaboration diagram New object diagram New use case New actor New class Mew class instance New state machine New activity New sub use case view Edit Edit drawing settings Delete Wiark Tool edit allows to show modify the use case view properties with the following dialog ST a Use case view dialog 5 Limi User name festenal events stereotype Group all the use cases associated with the external events description 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The stereotype of a use case view doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is
155. ailable for the source artifacts and allows to set the list of classes associated with the artifact The order of the associated classes is important because it is followed by the code generators to produce the class definitions artifact dialog 5 Umi G header C source Java source ldi source Associated classes Associated artifacts User Classes without artifact Associated classes UmlArtifact API USER go down All the classes without associated artifact are given in the left table above all the classes are associated with an artifact the clas associated with the current artifact and given in the table on the right To move classes from a table to the other one select them and clic on the appropriate arrow go up go up and go down allows to change the order of the associated classes Select the wrong ordered classes and use the appropriate button Artifact dialog tab associated artifacts This tab is not enabled for a source artifact to set the unordered list of artifacts associated to the current one For instance for the artifact executable of the plug out html artifact dialog i sik Source Java source source Associated classes Associated artifacts User Stereotype filtering Linassociated artifacts Associated artifacts LimfBuitin AP BASE ClassGlobalCmd API BASE LUimiParameter AFI BASE CmoFamily API BASE LimiStereotype AFI BASE CopSettings API BASE
156. all the elements Fragment A fragment is resizeable To change the fragment s name choose the edit entry of its menu or double click on it A right mouse click on a note show the following menu Edit Add separator Edit drawing settings Remove from view Edit drawing settings allows to change the fill color Note A note may contain any text a note is resizeable To change the text of a note choose the edit entry of its menu or double click on it this open a window containing the text close the window to end the edition A right click on the edited note calls a dialog allowing some text manipulations thanks Qt A right mouse click on a note show the following menu 303 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Upper Lower Echt Color of text Font b Edit drawing settings select linked items Remove from view The font may be changed by default the font is the one used to write the other texts The color of the text may be changed a text is black by default Edit drawing settings allows to change the fill color Select linked items select all the items connected this the current one through any line in the previous picture this select all except the package the text upper diagram and the use case diagram icon Text Text is another way to write a text contrary to the note a text is written alone see upper diagram on the picture below by default a
157. alue tag gt lt m Tagged v alue value Umi Tagged alue value JhML Tagged alue gt Limi C Javea Cancel Currently only the UML definition of the packages views generated as package or not generated depending on the toggle above classes attributes relations operations use cases components without UML2 0 features and nodes are saved in the produced file Classes defined under a use case or a use case view are generated as actor their operations attributes and relations are not generated except dependencies and generalizations The XMI generator manages the following options in order e uml or C or java to specify the target language mandatory if other arguments are given except the port number given by Bouml itself generated XMI file path must not contains space encoding for instance windows 1252 view optional to generate views as package simpleTy to generate tagged values with the simple form complexTv to generate tagged values with the complex form else the tagged values are not generated In case these arguments are given the dialog doesn t appears this allows to export a project in XMI without any manual action These options may be set through the Tool setting dialog or when you ask to start a plug out when Bouml is lauched see here XMI 2 1 generator The used format is xml 1 0 xmi 2 1 for UML 2 0 or 2 1 This plug out must applied on the project itself it asks you to
158. am elements in a file equivalent to a optimal windows size followed by a save visible picture part then a restore of the original windows size Picture Menu save visible picture part To save the visible part of the current diagram in a file it is a screen copy the current scale have impact on the picture quality Picture Menu set preferred size and scale To memorize the current diagram sub window size and the current scale These ones will be used the next time the diagram will be opened 289 of 402 17 02 2008 11 48 Picture Menu set preferred scale file E uml BOUML boumlL 4 2 doc TOUT html To memorize the current scale These one will be used the next time the diagram will be opened Picture Menu restore preferred size and scale In case a preferred sub window size and preferred scale was set follow them Picture Menu unset preferred and scale To stop to define a preferred size and scale was set Picture Menu format By default the diagram s canvas size is 840 x 1188 points corresponding to an iso A4 format 210 4 x 297 4 all the available formats are Each format also exists in landscape Picture Menu undo changes e USA B 1116 x 1728 e USA C 1728 x 2236 e USA D 2236 x 3456 e USA E 3456 x 4472 iso A5 iso A4 iso A3 iso A2 iso Al iso AQ 592 x 840 840 x 1188 1188 x 1680 1680 x 2376 2376 x 3364 3364 x 4756 USA A 864 x 1116 Undo all the changes made si
159. am not read only Activity bar Activity bar Upper Draw as a coragian Lower Edit drawing settings Draw as activity ba Select linked items Edit drawing settings Remove from view Select linked tems Cut here i Remove from view Merge juxtaposed activity bars Cut here Collapse in parent bar _ Merge juxtaposed activity bars Message Menu edit drawing settings This dialog allows to specify the color of the activity duration rectangle Message Menu select linked items Select linked items select all the items connected this the current one through any line Message Menu cut here Cut the activity bar at the mouse place to obtain two activity bars resize the bar when there is no message above or below the mou position an empty activity bar is not created Message Menu merge juxtaposed activity bars When a least two activity bars of the same life line are juxtaposed replace these ones by only one activity bar Message Menu collapse in parent bars Available when the bar in overlapped to remove it moving the messages in the bar containing the current bar Class instance Menu The menu appearing with a right mouse click on a class instance is something like these supposing the diagram not read only 246 of 402 17 02 2008 11 48 file E uml BOUML bouml 4 2 doc TOUT html bill Upper Lower Edit SOME Immortal Become mortal Edit drawing settings Edit drawing settings select in brows
160. another way to write a text contrary to the note a text is written alone see upper diagram on the picture below by default a text contains blabla a text cannot be empty The edition of a text is done like for a note A text is resizeable a resize 1s not automatically done when the contains is modified A right mouse click on a text show the following menu 251 of 402 17 02 2008 11 48 Diagram icon Upper Lower Edit Color Font select linked items Remowe from view file E uml BOUML boumlL 4 2 doc TOUT html A diagram icon is a shortcut to a diagram this allows to quickly navigate through the diagram without limitation a actor or some othe item kinds may be associated to only one diagram The used icon indicates the diagram kind but its name is not written A double mouse left click on a diagram icon opens the diagram the open entry of the diagram icon menu does the same thing A right mouse click on a diagram icon show the following menu 252 of 402 Overall short cul upper lower open select diagram in browser select linked Items remove from view The other diagram s elements have an own chapter refer to them Previous use case diagram Next collaboration diagram 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Collaboration diagram key down 12 keyDownt 1 2 1 bowi Schemathye view see The collaboration diagrams may be
161. antiate both for C and Java Supposing you have a template class vector and you want to define a vector or boolean obviously the right definition is not class vectorOfBoolean public vector lt bool gt the right definition is 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html template lt gt class vector lt bool gt To do this you just have to define the class named vector lt bool gt Class dialog tab C This tab allows to give the C definition of the class it is visible only when C is set through the Languages menu Template definition Class dialog lt 2 gt ss ihm ale Lim Parametrized Cre Java IDL User T external comment tamplate class mame inherit F aration ri imemberst Declaration elimina template lt class V class K string gt class Dict Result after EEY oa Values substitution y Defauit declaration Not generated in C Template instantiation of course a class may be both a template definition and a template instantiation Class dialog lt 2 gt nimpe Wri Parametrized instantiate C Java IBL User as jcomment template class nmame inherit an p imembers Declaration Si inlines fA famous french dictionary Result after l Class theredheaded public Dict lt string stringa substitution y Default declaration Not generated in C Enum cl
162. arting by a or when the previous one ends by V Si release 3 4 contextual body indent is not set when an operation is produced by a reverse to not alter the original indent The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted A template operation is defined with an empty declaration allowing Bouml to detect this case and placing the actuals between class and in the definition part The edit body button is active when the definition contains body to edit it through the editor you want define the environment variable BOUML_EDITOR furthermore when you set add operation profile on body edition through the miscellaneous menu the form defining the operation in the editor is added at the beginning of the edited file home bruno uml html gen_cpp_decl_body_8 7ffa30_2 cpp 5 eia Hindia Edit Medes Search Feylon Font Misg Bicone void Unla ttribute gen_cpop_decl QCString bool descr f Sibodyt these lines will be sautematically removed cone char opt if descr f write copVisibility DefaultVisibility q visibility eppVisibility TRUE fuwritel j genwcpp deol body Oras cpp C enode Operation dialog tab Java This tab allows to give the Java definition of the operation it is visible only if Java is set through the Language menu W Operation dialog Se calc
163. ase xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc enumeration item The macros known by the Idl code generator are e comment is replaced by the description of the item adding e description is replaced by the item description without adding 358 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e name is replaced by the item s name see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc constant The macros known by the Id code generator are e comment is replaced by the description of the item adding e description is replaced by the item description without adding o type is replaced by the type of the attribute see the UML tab e name is replaced by the attribute s name see the UML tab e value is replaced by the initial value of the attribute see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc Relation The Id definition of a relation is set through the Uml and Idl tabs of the relation dialog The indentation of the first line of the definition give
164. ass generalizing Serializable or having an attribute of this type etc Thanks to Java catalog you do not have to define the JDK and other classes by hand in BOUML to use them Note the saving of a catalog is just a list of classes and the pathname of the file defining them not the classes definitions When you send a class to BOUML Java catalog reverse the associated file to get the class definition this implies that you must not delete or move the Java source files defining the classes of the catalog Previous Java reverse Next Php generator 341 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html PHP generator The PHP code generator is a plug out directly written in C The generated sources follows the definition made in BOUML at the artifact class operation relation attribute extra member levels When the code generation is applied on a artifact associated to several classes the code generation is made for all these classe Nevertheless the the Php code generator produce first the code in memory and update the appropriate files only when it is necessary to not change the last write date of the files for nothing Depending on the toggle verbose code generation of the global menu Languages the code generator is verbose or not The Php code generator plug out may be called on e a class in this case the code generation is in fact applied on the class s artifact then on all t
165. ass with the stereotype enum or enum_pattern Umi Parametized C Java in user M external eomment enum inane 15 S items E Declaration Result after substitution Default declaration Not generated in C 57 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Standard class Java oL User l external comment template class name inherit 3 ed Declaration members s S inlines This class tianages cGlasses motes that the class ClassiItem is a mother class of the class s children ff You can modify it as you want zeept the constructor Glass UmlClass public UmlBaseClass Result after miciass substitution sKined 1 memo refi a shtml shtml rite naiiba Default declaration Not generated in C In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for C supposing you do not modify the C code generator When you push the button default declaration the form specified through the generation settings depending on the class stereotype and of course the language is proposed this last may be modified as you want even to produce illegal source code For instance if you do not want to follow the i
166. ate F inline 7 const value F const ATS get_ name also in uml Visibility Modifiers Set operation i Pus default definition public protected private M inline M const param M byret 8 i Eet Iname also in uml Faiue commen Emun ata tap ete efi ee fitype oupas ana T ha aad fitype d ta bitype for Ta pumy ar are Corte moe tomes tor Te yrs Set given et Fitype d o fe itypei fitype d bitypel mn he is to l friend f istaticl fiinline Fivirtuslifitype fF iname ficomment f iiniineif itype lclase 8 mame fidi gl i conet fivolatile throw etationt j bexty i rm eran The form in from of also in uml allows to specify the name of the operation in C the same rule is followed in UML if also in uml is set The second Java tab allows to specify the default Java generated code for the relations in Java a GenerationSettings dialog 5 a PRrwwT8rE i comment OLE eo etatic Fen firansient fivolstile itype name vaiue y D umpi _ Ticomment 10 fivigibility istaticl fifinall fitransitent iwolat ile eterect ype inane fi vaiue recteren ow ab Picassa FiO ivis ibility pietat ici Fi final titrasa i Fivolatilel Fitype tiguitipiicity finame tivalue ipay a mum 2 comment al ivisibility static final transient volatile type name value multiplicity T or unspec
167. ate activity color default class color default i default note color default default package colar default default fragment colar default default duration color default default continuation color default default state color default default state action color default default activity region color default default activity action color default jem fect i foem foet oemt z foes ee default parameter and pin color default This dialog allows to specify how the class view s diagrams must be drawn by default Menu delete The menu entry delete is only present when the class view is not read only Delete the class view and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Menu generate To generate the C Java Idl code of all the sub items Refer to C generator Java generator and Id generator for more details Menu tools The menu entry tool is present in case at least a plug out may be applied on the class view Menu select associated deployment view Only present when the class view has an associated deployment view select it as you do this manually except that you do not have t search it Previous use case view Next component view 42 of 402 17 02 2008 11 48 file
168. ate Php 4 code final produce an empty string when the check box final is not checked else produce final static produce an empty string when the operation is not a class operation see the UML tab else produce static f abstract produce abstract when the operation is abstract see the UML tab else an empty string name is replaced by the name of the operation and produce and but there are also a mark for BOUML to find the parameters list 123 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html t lt n gt and p lt n gt produce the type and the name of each parameter count from 0 this allows you to remove a parameter add modifiers like array or amp etc staticnl produce a line break when the operation is static else an empty string Not used bu default to add it change the generation settings to use this macro body is replaced by the body of the operation this macro may also be replaced by the body itself BOUML use this way for the get and set operations associated to a relation attribute The usage of body has a great advantage when you hit Default definition the body is not cleared At least BOUML share the definition forms of the operations and other objects to minimize the needed memory size body help for this When contextual body indent is toggled the indentation of the keyword body is added to the indent of the operation at the beginning of each line S
169. ate an instance of this type e value is replaced by the initial value of the attribute see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc Inheritance The class inheritance are managed at the class level e type is replaced by the name of the inherited class Dependencies The dependencies allows to add import forms in the artifact refer to f import description Extra member The Python definition of an extra member is set through the Python tabs of the extra member dialog The definition of the extra members are produced without any modification this means you are also responsible to the indent No macros Previous Php reverse Next Python reverse 353 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Python reverse The Python code reverse 1s a plug out directly written in C Note that the Python code reverse cannot be used as a Python code round trip and doesn t allows to update already defined classes having at least one member The Python code reverse plug out may be applied only on a package When you start the Python code reverse it ask for a directory then it reads all the sources placed under the selected director sub directories The sources read by the Python code reverse are the ones having the extension s
170. atile type is replaced by the class pointed by the attribute see the UML tab stereotype is replaced by the translation in Java of the attribute s stereotype see the UML tab multiplicity is replaced by the multiplicity of the attribute see the UML tab must be used in case the multiplicity is a vector or array dimensioning and are added when they are not present name is replaced by the attribute s name see the UML tab value is replaced by the initial value of the attribute see the UML tab may be used to specify the value of an enumeration s item for instance produces the annotations when it is present in the definition the button Edit annotation is active a specific dialog allows you to enter the annotations proposing the default annotations Deprecated and the ones defined through the classes stereotyped interface To add an annotation at the cursar position yau may Select it in the fist and press add Add Deprecated Refer to the generation settings and Java generator for more details and explanation of the other keywords Attribute dialog tab Php This tab allows to give the Php definition of the attribute it is visible only when Php is set through the menu Languages For a standard attribute 103 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html u Abadan le TOL i Lim cH Java Php ia Properties Sicomment visibility const stat
171. ation rne name fnec multiplicity initial value Editar T class relation T volatile l read only public protected private C package Editar description E Default constraint Editar nea O SOS name fthec multiplicity initial value Editar l class relation l volatie T read only public protected private C package Editor description Ecitr Defauit comsiralnt Editar Here the two roles are editable because the relation is bi directional and because it is an association or aggregation The default name of a relation is its kind between lt and gt for instance lt association gt the default name does not appears in a diagram It is possible to change the kind of the relation through the combo box type but it is not possible to reverse a relation the role A is always attached to the start class used to draw the relation and the role B is only available when the relation is bi directional The proposed stereotypes are the default ones specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype and the multiplicity are used both may be witl stereotype of the class es in Idl to compute the default declaration Association allows to define a class association to produce it in the generated code use the keyword association B
172. ation ste comment In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the C code generator are e NAME produce the artifact name capitalized Name produce the artifact name with the first letter capitalized at least name produce the artifact name without modification e comment is replaced by the artifact description adding e description is replaced by the artifact description without adding e f includes is replaced by the automatically generated include and using forms it is also a good place to add your include and using forms when the ones produced by the code generator are not sufficient To limit the included files number and to not produce circular include the C code generator does not produce an include to define a type only used by pointer or reference amp or place between lt gt in a template form The C code generator does not look at in the operations body only the operation s profiles relations and attributes classes inheritances etc are used to compute the needed include list You can also use dependencies between classes to add include and to choose to place them in the header of the source file editing the dependency tab C fincludes and all_includes are exclusive Note the generation settings allows to choose between four ways to produce include e without path ask for the C code generator to generate th
173. ation directories lt number gt contains the data of a package an uml package not a java package and its sub elements the package s name is the second saved data after a format indication The number is the package s identifier see Multi users considerations e lt number gt diagram contains a diagram definition For time and memory save reason BOUML does not load a diagram until it is edited The number is the diagram s identifier see Multi users considerations e lt number gt bodies contains the C and Java bodies of all the operations of a class For time and memory save reason BOUML does not load a body until it is edited The number is the class s identifier see Multi users considerations e generation_settings contains the generation settings this allows you to quickly set them after creating a new project copying the generation_settings file of an old project e tools contains the plugs outs declaration this allows you to quickly set the tools list after creating a new project copying the fools file of an old project e cpp_includes contains the C include amp using specifications for the non defined types used by the C generator and set through the C generation settings java_imports contains the Java imports associated to the non defined types not already used by the Java generator and set through the Java generation settings e idl_includes contains the Idl imports includes to
174. attribute having the role name In C the default generated code does not use pointer s e association to define a bi directional relation the code generators will produce two attributes whose names are the roles s name aggregation to define a bi directional aggregation the code generators will produce two attributes whose names are the roles s name This kind of relation may considered to be a shortcut to define two directional aggregations 17 02 2008 11 48 78 of 402 file E uml BOUML boumlL 4 2 doc TOUT html e composition aggregation by value to define a bi directional composition the code generators will produce two attributes whose names are the roles s name This kind of relation may considered to be a shortcut to define two directional aggregations by value By default the example above produce the following codes the visibility may be replaced by var to be compatible with Php 4 C Java Php Idl class C p blic C3 4 class C extends C3 class C extends C3 valuetype C C3 protected protected C dir_a protected Sdir_a private C dir_a C dir as protected C dir_b protected Sdir_b private C dir_b C dir b protected C2 theC2 protected StheC2 private C2 theC2 C2 thecz hs class C2 4 class C2 class C2 protected protected C theC protected StheC valuetype C2 C thec protected C2 a protected Sa private C theC C2 a private C2 a friend class C3
175. ault header and source file definitions it is visible only if C is set through the menu Languages A Generation Settings clic 2 btu bee E ple Tynes Stereotypes Cet cote c c 4 C 5 Javafi Javarz Java a idi 1 Idif2 Id ifndef _ NAME _H define _ NAME _H i comment j includes Header file i declarations default content F inamespace_start definition namespace end namespace start members namespace end Source file default content eneratedreyersed generatedireversed g y fh a lepp Finciuce J vithout path header file extension source fle extension force namespace rc generate Javadoc preis generation stile comment As you can see it is possible to choose the extension of the header and source files to force the production of the namespace header and to ask for the Javadoc style comment The are four ways to produce include e without path ask for the C code generator to generate the include without relative or absolute path e with absolute path ask for the C code generator to generate the absolute path of the automatically included files 222 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html e with relative path ask for the C code generator to generate the relative path of the automatically included files relative to the file aoaie include e with root relative path ask for the C
176. ault value or the description in a window or to call an external editor for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which looks each second at the file contents to get the new definition until the dialog is closed I do not like ve much this polling but this works even QT isn t compiled with the thread support Pin dialog tab Ocl The Ocl tab allows to specify the selection using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention Um lock cH Jav Properties selection Activity opaque action dialog tab C This tab allows to specify the selection in C but in fact BOUML doesn t check the syntax this is just a convention Pin dialog ic lh mwas Um Oel iors Java Properties selection Editor Activity opaque action dialog tab Java This tab allows to specify the selection in Java but in fact BOUML doesn t check the syntax this is just a convention 188 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Pin dialog amp mp ay Um Oc c aval Properties selection OK Cancel Menu duplicate The menu entry duplicate clone the pin without its children Menu referenced by To know who reference the
177. ava Edit annotation ROLE z F transient f aoment visibility static final transiant volatile typel name value Declaration Protected C thec Result after substitution Default declaration Not generated in Java In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for Java supposing you do not modify the Java code generator When you push the button default declaration the form specified through the generation settings depending on the stereotype and multiplicity and of course the language is proposed this last may be modified as you want even to produce illegal source code When you do not want to have this relation defined in Java empties the declaration manually or using the button not generated in Java It is possible to follow the visibility as it is set in the UML Tab or to change it replacing visibility by the desired one static produce an empty string when the relation is not an class relation see the UML tab else produce static final produce an empty string when the relation is not read only see the UML tab else produce final volatile produce an empty string when the check box volatile is not checked see the UML tab else produce volatile transient produce an empty string when check box transient is not checked else produce transient type is re
178. bly containing the marker gt this part is placed at the end of the definition of the artifact When the reverse is done the number of reversed classes operations attributes and relations is written for instance in case I revers sources of Joomla 1 5RC i Boum tmp vide vide prj Project Windows Jools Languages Miscellaneous Help Bincwn T Joomla 1 5Ac e FaJoomla 1 5AC amp _ljadministrator Php reverse release 7 0 libraries m components mincludes Php reverse dane _jinstallation language 583 classes m modules 1412 attributes amp _Iplugins 410 relations templates 9928 operations a xmirpe aet i Previous Php generator 347 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Next Python Generator 348 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Python generator The Python code generator is a plug out directly written in C The generated sources follows the definition made in BOUML at the artifact class operation relation attribute extra member levels When the code generation is applied on a artifact associated to several classes the code generation is made for all these classe Nevertheless the Python code generator produce first the code in memory and update the appropriate files only when it is necessary to not change the last write date of the files for nothing Depending on the tog
179. bove and associated here to the default value and description allows to edit the default value or the description in a window or to call an external editor for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which looks each second at the file contents to get the new definition until the dialog is closed I do not like ve much this polling but this works even QT isn t compiled with the thread support Pin dialog tab parameters Allows to specify the pins part of the parameter set ParameterSet dialog spim Parameters out of Parameter Set Parameters in Parameter Set other pin chapter action act pin chapter action activityir Menu duplicate The menu entry duplicate clone the pin without its children Menu mark See mark Menu delete The menu entry delete is only present when the pin is not read only Delete the pin and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry tool is only present in case at least a plug out may be applied on a parameter set The selected tool is called and applied 190 of 402 17 02 2008 11 48 file E uml BOUML
180. by import forms whose will be produced by the code generator members produce the declaration of the class members relations attributes operations extra members and sub classes following the browser order Note that the instance attributes are produced at the beginning of the body of the operation __init__ inherit is replaced by the inheritance a class without inheritance inherits of object if the toggle Python 2 2 is set docstring is replaced by the description of the class placed between and followed by a newline If the description is empty nothing is produce You can replace it by comment or description if you prefer 999999 The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Class dialog tab Idl This tab allows to give the Id definition of the class it is visible only when Id is set through the Languages menu 63 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Class dialog iai ae ey M external r M custom S ocomment fabstract custom valuetype name inherit members Declaration substitution Default declaration Mot generated in IDL local produce an empty string when the check box local is not checked else produce local this one is only available when the stereotype of the class is interface in Idl see
181. by the directory where is the fle Command specify the command with the fle replaced by afle F Save then reload the project to see the new write permission of the files R l Cancel When you just want to change the write permissions using chmod under Linux the check in command is chmod w dir file and the check out command is chmod w dir Vofile Note the file permissions are set when a project is read you must re read a project to force Bouml to know the new ones Previous C utilities Next Deploy classes 374 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Deploy classes A very simple plug out defined in C and Java both like the HTML code generator to automatize the creation of the artifact for all the classes of the class view on which the plug out is applied e If the class view doesn t have an associated deployment view an associated deployment view having the name of the class view is created in the same package e An artifact with the stereotype source is created and associated to all the classes of the class view without associated artifact the name of the artifact is the name of the class Previous File control Next global change 375 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Global change This plug out defined in C allows to do global modification of the artifact classes operations attributes and relations definit
182. c abstract produce abstract when the operation is abstract see the UML tab else an empty string synchronized produce an empty string when the check box synchronized is not checked else produce synchronized type is replaced by the value type see the UML tab name is replaced by the name of the operation and produce and but there are also a mark for BOUML to find the parameters list t lt n gt and p lt n gt produce the type and the name of each parameter count from Q this allows you to remove a parameter add type modifiers etc throws is replaced by the form throw when at least an exception is defined in the UML tab It is also possible to produce throw when there is no exception depending on the generation settings staticnl produce a line break when the operation is static else an empty string In case you do not like this notation change the generation settings to remove this macro body is replaced by the body of the operation this macro may also be replaced by the body itself BOUML use this way for the get and set operations associated to a relation attribute The usage of body has a great advantage when you hit Default definition the body is not cleared At least BOUML share the definition forms of the operations and other objects to minimize the needed memory size body help for this When contextual body indent is toggled the indentation of the keyword body i
183. call E Lien ces Java Properties M firal l synchronized 7 E A EAEE AATE ere EEEREN AIPS S rameps psrtO Sip S tl Siply Step Sipi S throws staticnl body ft entry to produce the html code receiving chapter number path rank in the mother and level in the browser tree r ublic void htalistri pfix ant cank int Level throws IOEmeepti n Result after f tbody sa i substitution F contextual body indent Edit body Default defindion Mot generated in Jawa In BOUML the generated code is obtained by the substitution of macros in a text only the Definition part is editable the other one help you to see what will be generated for Java supposing you do not modify the Java code generator 121 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html When you push the button Default definition the form specified through the generation settings is proposed adding all the operation parameters given in the UML tab These forms may be modified as you want even to produce illegal source code When you do not want to have this operation defined in Java empties the definition manually or using the button not generated in Java visibility produce the visibility see the UML tab final produce an empty string when the check box final is not checked else produce final static produce an empty string when the operation is not a class operation see the UML tab else produce stati
184. called and applied on the current use case Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the use cases 50 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Default stereotypes dialog 2 bas aa ran bea Package Class UseCase Artifact Views Diagrams Others USE CASE fre alization stereotypes relations stereotypes UML propose a simple line for the relation between use cases and actors classes I propose also an arrow because I prefer th representation Drawing A use case is drawn in a diagram with a sizable ellipse the available options are e use case color e automatic label position this concerns the relation s labels by default BOUML automatically move the labels associated to a relation accordingly extremities If you do not like how BOUML place the labels set this option to false and you will be the master note that the labels default position entry of the relation s menus in the diagrams remains available to help you when you are lost A right mouse click on a use case in a diagram calls the following menu upper lower gait edit drawing settings select in browser select linked items set associated diagram remove from view delete from model tool The drawing settings concerns only the picture for which the menu is called select linked items select all the items connected with the current one through
185. cel to start the reverse then it reads all the sources placed under the selected directories and sub directories The sources read by the C code reverse are the ones having the extension specified in the generation settings The tree formed by the directories and sub directories produce an equivalent tree of sub packages on whose the needed class view and artifact view are made to support the classes and artifacts When a type is referenced but not defined in the reverse files a class having the same name is defined under an additional package named unknown Obviously the C code reverse tries to produce the definitions made in BOUML at the artifact class operation relation attribute levels When it is possible it creates a relation rather than an attribute Except for the special case of the templates class definition like vector lt bool gt a artifact is created for each type definition then a future C code generation may not produce a list of files similar to the reversed ones A C function cannot be specified in UML the C code reverse loses them generating a warning except the ones declared friend in a class The C code reverse works in two steps during the first step it scans all the files to establish the list of defined types then the second step may reverse the files The first phase try to replace the missing include management but it is not enough because the files whose are not under the selected directory
186. chine activities use case diagrams sequence diagrams collaboration diagrams object diagrams and the relations in any order Gl sjexternal events EOverall OPiston F2lOverall Bcokey down falkey down 4 lt cactor gt gt organist Stop ElF lute Stop on great on swell on positiv on pedal Pelkey down E Sequence Diagram ElObject Diagram F v I a egeneralization gt on great egeneralization gt on swell egeneralization gt on positiv egeneralization gt on pedal Define a use case nested in an other one in the browser is a practical way when a use case is refined into sub use cases The relations between use cases presented in the browser are the inheritance and dependency Menus The menu appearing with a right mouse click on a use case in the browser are something like this supposing it is not read only nor deleted New use case diagram New sequence diagram New collaboration diagram New object diagram New use case New actor New class New class instance New state machine New activity Edit Edit drawing settings Delete Referenced by blak Tool Menu edit edit allows to show modify the use case properties with the following dialog 47 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html W Use Case dialog a pes rae Umi Properties name key down stereotype extensian points key is pressed down
187. cified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it Read only and single execution are the standard UML flags The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support activity dialog tab Ocl The Ocl tab allows to specify the pre and post conditions using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention 156 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Activity dialog 2 Par Pra condition Post conditian activity dialog tab C This tab allows to specify the pre and post conditions in C but in fact BOUML doesn t check the syntax this is just a convention Activity dialog lt 3 be ale ika Pra condition Post conditian activity dialog tab Java This tab allows to specify the pre and post conditi
188. class instantiate a generic Extra member The Java definition of an extra member is set through the Java tabs of the extra member dialog No macros 337 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Previous C reverse Next Java reverse 338 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Java reverse The Java code reverse is a plug out directly written in C Note that the Java code reverse cannot be used as a Java code round trip and doesn t allows to update already defined classes having at least one member The Java code reverse plug out may be applied only on a package When you start the Java code reverse it asks you for java catalog files use cancel to finish to give the catalogs may be immediately then it ask for a directory then it reads all the sources placed under the selected directory and sub directories The sources read by the Java code reverse are the ones having the extension specified in the generation settings The tree formed by the sub directories produce an equivalent tree of sub packages on whose the needed class view and deployment view are made to support the classes and artifacts When a type is referenced but not defined in the reverse files a class having the same name is defined under an additional package named unknown Obviously the Java code reverse tries to produce the definitions made in BOUML at the artifact class operation
189. condition Post condition cw Activity call operation action dialog tab Java This tab allows to specify the pre and post condition in Java but in fact BOUML doesn t check the syntax this is just a convention 184 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Activity Action dialog is ih le Umil operation Ocl c Java Properties Fre condition Post condition wen Activity send object action dialog tab Uml Activity Action dialog 25 bi into hi gh Umil oct Java Properties name action stereotype description Editor cance Activity send object action dialog tab Ocl The Ocl tab allows to specify the pre and post condition using the language but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog 25 mpe ye Limi gel c Java Properties Fre condition Post condition cw 185 of 402 Ocl 17 02 2008 11 48 file E uml BOUML bouml 4 2 doc TOUT html Activity send object action dialog tab C This tab allows to specify the pre and post condition in C but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog 4 rope ry ye Lm oct C Java Properties Fre condition Post condition Activity send object action dialog tab Java This tab allows to specify the pre and post condition in Ja
190. contains body The operation __init__ is automatically added by the code generation even if they are no instance attribute or relation Attribute corresponding to variable In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Python code generator are o comment is replaced by the description of the attribute adding at the beginning of each line and forcing a newline at the end Produce nothing when the description is empty e description is replaced by the attribute description without adding Produce nothing when the description is empty o self inside the operation __init__ this produces the name of the first parameter followed by a dot else nothing e name is replaced by the attribute s name see the UML tab e multiplicity is replaced by the multiplicity of the attribute probably used inside a comment e stereotype is replaced by the translation in Python of the attribute s stereotype see the UML tab probably something like list o type produces the type of the attribute probably used inside a comment e value is replaced by the initial value of the attribute see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc Relation The Python definition of a relation is set through the Uml and Python tabs
191. control compilation and installation of the executable However as a special exception the source code distributed need not incluc anything that is normally distributed in either source or binary form with the major components compiler kernel and so on of operating system on which the executable runs unless that component itself accompanies the executable If distribution of executable or object code is made by offering access to copy from a designated place then offering equivalent access copy the source code from the same place counts as distribution of the source code even though third parties are not compelled to copy the source along with the object code 4 You may not copy modify sublicense or distribute the Program except as expressly provided under this License Any attempt otherwise to copy modify sublicense or distribute the Program is void and will automatically terminate your rights under this Li However parties who have received copies or rights from you under this License will not have their licenses terminated so long as parties remain in full compliance 5 You are not required to accept this License since you have not signed it However nothing else grants you permission to modif distribute the Program or its derivative works These actions are prohibited by law if you do not accept this License Therefore t modifying or distributing the Program or any work based on the Program you indicate your acceptance of this
192. coral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Browser Menu edit drawing settings This dialog allows to specify how the items of the diagram must be drawn by default you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level Diagram Drawing Settings d aal al s 0 a8 Diagram Drawing Settings d aol diagram color diagram color default note color default show package context default X write node instance horizontally default default artifact color default automatic labels position default l default node color default draw all relations default packages name in tab default irl aera default default component color default draw component as icon default default package color default 7 show components required and default provided Interfaces default fragment color default show components realizations detault ox Cancel OF Cancel
193. ctuals UmlActualParameter UmibaseClass in td item_id Inn string addFormaliin rank uint in formal LimiFormalParameter read_cpp_ void assaciatedArtfact UmlArtfact read idl vold associatedComponents UmlComponent read java_ vol assaciatedDiagram UmiCiassDiagram read uml _ vold base Type JmTypeSpeg reread if needed void create inaut parent Umilltem ins str UmiClass formals UmlFormalParameter getinn string In p UmiPackage 0 UmilClass isAbstract boal IsCppExternall bool taldiEustomi baal Fa p ide priya Show all Hide all Hide private res Hide private and protected ones Specify visible members rather than hidden ones If you set specify visible members rather than hidden ones when you will add new operations these ones will not be added in the cl picture Menu set associated diagram set associated diagram allows to automatically open the current diagram when a double mouse click is made on the class representation in a diagram or th browser After that the only way to edit the class is to choose the edit entry in the menu Menu tools Appears only when at least one plug out is associated to the classes To apply a plug out on the class EEE Previous use case 75 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Next relation 76 of 402 17 02 2008 11 48 71 of 402 file E uml BOUML boumlL 4 2 doc TOUT html Rela
194. current pin through a flow Menu mark See mark Menu delete The menu entry delete is only present when the pin is not read only Delete the pin and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry fool is only present in case at least a plug out may be applied on a pin The selected tool is called and applied on the current pin Parameter set menus The parameter set menu appearing with a right mouse click on its representation in the browser is something like these supposing the set not read only nor deleted see also menu in a diagram Parameter Set edit duplicate delete Menu edit edit allows to show modify the parameter set properties In case the set is read only the fields of the dialog are also read only 189 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Parameter set dialog tab Uml The tab Uml is a global tab ParameterSet dialog lt lee a ble 4 Um Parameters Properties name stereotype description Editor Cancel The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The editor button visible a
195. d the menu appearing on a left mouse click allows to align them Multiple selection menu select linked items IE align top copy selected Ctri c g align bottom cut selected Ctrl x remove from view E align left remove selected from view Suppri align right delete selected Contral d align center F align center verticaly 8e align center horzontaly If all the selected elements has the same kind for instance all are a class you edit their drawing settings globally Multiple selection menu select linked items Align J Copy selected Ctri c Cut selected Ctri x remove from view Remove selected from view Suppr Delete selected Control q Edit drawing settings and for instance when the elements are classes in a class diagram 302 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a Diagram Drawing Settings s diagram color I drawing language lt unchanged gt gt drawing mode lt unchanged gt Show contest lt unchanged gt hide attributes lt Unchanged gt hide operations unchanged gt show members full dedinitian lt unchanged gt show members wisibility lt unchanged gt show parameter direction lt unchanged gt show parameter name lt unchanged gt show information note lt unchanged gt The settings valuing lt unchanged gt are not changed for the selected elements in the other case the same value is set for
196. d for Python supposing you do not modify the Python code generator When you push the button Default definition the form specified through the generation settings is proposed adding all the operation parameters given in the UML tab These forms may be modified as you want even to produce illegal source code When you do not want to have this operation defined in Python empties the definition manually or using the button not generated in Python produce the decorators don t use decorator to produce staticmethod and abstractmethod see static and abstract bellow static produce staticmethod followed by a newline if the method is declared static in the UML tab else an empty string 124 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html abstract produce abstractmethod followed by a newline if the method is declared abstract in the UML tab else an empty string name is replaced by the name of the operation and produce and but there are also a mark for BOUML to find the parameters list t lt n gt and p lt n gt produce the type and the name of each parameter count from 0 this allows you to remove a parameter add modifiers like array or amp etc docstring produce produce the description of the operation placed between and followed by a new line if the description is not empty els nothing is produced If you prefer you can use comment or description 9
197. dd your include and using forms when the ones produced by the code generator are not sufficient The C code generator does not look at in the operations body only the operation s profiles relations and attribu classes inheritances etc are used to compute the needed include list You can also use dependencies to ask for to add includes specifying is these ones must be placed in header or source file includes and all_includes are exclusive all_includes is replaced by all the automatically generated include and using forms it is also a good place to add your include and using forms when the ones produced by the code generator are not sufficient In this case the code generator doesn t produce declarations in the header file nor include in the source file except the ones added by you fall_includes and includes are exclusive declarations is replaced by the class declarations generated automatically done by the C code generator not made by the dialog which produce fixed form It is also a good place to add your declarations when the ones produced by the code generator are not sufficient namespace_start is replaced by the namespace xx forms dependent on the namespace specifications associated to the package containing the deployment view where the artifact is defined definition is replaced by the definition of the classes associated to the artifact namespace_end is replaced by the forms dependent
198. declaration of the operation it is visible only if Id is set through the Language menu a Operation dialog lt 3 gen ree pp ye Leni ce Java 1a Properties T oneway S comment S oneaway S type S nameis j d0 Sitt s p0 d1 iti ipi S4 de S t2 Sips s raisesanl caises Declaration f ventry to produce the html code receiving chapter mmber fpath rank in the nother ond Level an the browser tree void htal in string pfix in unsigned long rank in unsigned long level raises IOException Result anar subshlubon Defauil dectaration Mot generated in Idi In BOUML the generated code is obtained by the substitution of macros in a text only the Definition part is editable the other one help you to see what will be generated for Java supposing you do not modify the Java code generator When you push the button Default definition the form specified through the generation settings is proposed adding all the operation 125 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html parameters given in the UML tab These forms may be modified as you want even to produce illegal source code When you do not want to have this operation defined in Java empties the definition manually or using the button not generated in Idl oneway produce an empty string when the check box oneway is not checked else produce oneway type is replaced by the value type see the UML tab na
199. defined in nested packages and class views At the project level you have to choose between public protected and private elsewhere you may also choose default this means that the visibility of the upper level is followed which itself may be default etc up to the project level When you create a new package or class view the visibilities are set to default Menu edit generation settings The biggest menu in BOUML used to specify a default definition declaration for all the generated forms This entry is only available in the project s menu for the package point of view the associated dialog s tab is the last one named Directory 24 of 402 17 02 2008 11 48 25 of 402 file E uml BOUML bouml_4 2 doc TOUT html i GenerationSettings dialog iiss bs emit abr Phot Phpfz Pythoni Pythonfe Pythona ioti taneg totay lota iais Description Directory Defining a project root directory allows to specify packages s generation directory relative to the root directory rather than absolute A root directory may Itself be relative to the project path C roat dir Browse Set t absolute Java root dir Browse Set it absolute Php root dir Browse Set it absolute Python root dir Browse Set it absolute ldi root dir Browse Set it absolute This one allows to specify a root directory where the generations will be made this the possibility to change it at each package level as it was previousl
200. diagram kind but its name is not written A double mouse left click on a diagram icon opens the diagram the open entry of the diagram icon menu does the same thing A right mouse click on a diagram icon show the following menu Overall short cul upper lower open select diagram in browser select linked Items remove from view The other diagram s elements have an own chapter refer to them Subject A subject is drawn as a rectangle to set modify the title do a double left mouse click on the representation or call the menu through a right mous click and choose edit Subject upper loner edit edit drawing settings remove from view Previous deployment node Next sequence diagram 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Sequence diagram Sequence Diagrams opin ps uchar Int dal context E op2 inout p1 int inout pz float done context as ope2 123 arguments here 456 769 on several lines The sequence diagrams may be placed in a use case view or a use case E agexternal events Overall B lt OPiston Piston set EiPiston clear A sequence diagram is created through the new sequence diagram entry of the use case view and use case browser menus Browser menu The node menu appearing with a right mouse click on its representation in the browser is something like these supposing the diagram not read only nor deleted
201. dialog allows to specify how the operation message must be drawn you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level default show full operation definition defaut see operation drawing language and show full operation definition Message Menu select linked items Select linked items select all the items connected this the current one through any line Message Menu select label Select the label given the associated message operation Message Menu label default position Move the label given the associated message operation to its default position Message Menu go to new overlapping bar go to parent bar When the diagram use overlapping activity bars to move the message in a new overlapping bar or in the bar containing th receiving emiting the message 245 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Activity bar Menu The top and the bottom of an activity bars may be changed using the mouse clicking down the left mouse button on the top or bottom and moving the mouse The size of an activity bar is updated when you try to move a message above the top or below the bottom of the bar An activity bar can be drawn as a standard activity bar or a coregion The menu appearing with a right mouse click on an activity bar rectangle is something like these supposing the diagr
202. dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support The default button visible above associated to the description allows to set the description with a default contain specified through the generation settings Useful to generate comments compatible Java Doc or Doxygen for instance Artifact dialog tab C header This tab is only available for the source artifacts and allows to give the definition of the C header file generated for the artifact it visible only if C is set through the menu Languages artifact dialog 5 Im C header C source Java source ldi source Associated classes tifndef _ NAME _H tdefine _ NAME _H comment Header file Flincludes definition declarations Not generated in C inelude a_needed file h produced by the C gen
203. dit edit allows to show modify the instance properties In case the class is read only the fields of the dialog are also read only Class dialog tab Uml i Class instance dialog 2 Umil Attributes Relations Properties name pasca ss S stereotype class Man description Editor The button class shows a menu proposing e to select in the browser the class of the instance e if the instance is not read only and if a class is selected in the browser to set the class of the instance to be this class e if the view containing the class containing the instance is not read only to create a new class and to set the attribute type to it The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Class dialog tab Attributes This tab allows to specify the value of the attributes of the instance including the inherited ones 138 of 402 17 02 2008 11 48 file E uml BOU
204. dit drawing settings Picture Menu select all 232 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Select all the items of the current diagram also done through a control a Picture Menu find selected browser element To find in the diagram a representation of the elements selected in the browser Picture Menu optimal scale similar to the fit scale button change scale to see all the diagram s elements at great as possible Picture Menu optimal window size Similar to the button Hy change the size of the windows to see all the diagram s elements with the current scale Picture Menu copy visible part Put the visible part of the current diagram in the clipboard copy it is a screen copy the current scale have impact on the picture quality To easily get all the diagram s elements use optimal window size It is also possible to print all not only the visible part the current diagram on printer or a file through the button Picture Menu save visible picture part To save the visible part of the current diagram in a file it is a screen copy the current scale have impact on the picture quality Picture Menu set preferred size and scale To memorize the current diagram sub window size and the current scale These ones will be used the next time the diagram will be opened Picture Menu set preferred scale To memorize the current scale These one will be used the next time the diagram will be o
205. dy of it operations and without its private members the goal is to import Java library classes in the model not to generate them Java catalog may also be used to browser through the Java packages search information about a given class etc without sending them to BOUML To work Java catalog need Java sources this must not be a problem these ones are generally available even for your preferred JDK version The Java catalog plug out may be applied only on a package it is used through a window The upper part is a browser like in BOUML except that only the package and classes are showed The lower part reduced when Jay catalog starts shows the description of the selected class interpreting the html forms The top level package in the browser part here p is the name of the package in BOUML in which Java catalog is applied To make a catalog use the scan entry of the file menu or the button representing a microscope Java catalog will ask for a directory and scan all the Java files in this one and its sub directories For instance if src contains all the Java sources el sre m Jeom ljava a javas launcher jorg E LJsurw interacesiclasses deprecated This is a compatibility type to alow Java Beans that were developed under JDE 1 0 2 to run correctly under JDK 1 1 The corresponding JDE 1 1 type is javalo Seralizable see javaio Serializable J Obviously it is possible to do several scan phase in different dir
206. e include without relative or absolute path e with absolute path ask for the C code generator to generate the absolute path of the automatically included files e with relative path i ask for the C code generator to generate the relative path of the automatically included files relative to the file containin include e with root relative path ask for the C code generator to generate the relative path of the automatically included files relative to the directory specified by the generation settings o f all_includes is replaced by all the automatically generated include and using forms it is also a good place to add your include and using forms when the ones produced by the code generator are not sufficient In this case the code generator doesn t produce declarations in the header file nor include in the source file except the ones added by you fall_includes and includes are exclusive e declarations is replaced by the class declarations when the include form is not produced it is also a good place to add your declarations when the ones produced by the code generator are not sufficient Produce nothing if all_includes is used 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e namespace_start is replaced by the namespace xx forms dependent on the namespace specifications associated to the package containing the deployment view where the artifact is defined e definition is replaced by
207. e browser indicate if a relation between classes is public protected or private The protected visibility is translated in private in Idl A bi directional relation between classes is supported by two items in the browser Generally the stereotype of a relation between classes is used to specify how a relation with a multiplicity different than 1 is translated each language refer to default stereotype and generation settings for instance to produce a vector The friend stereotype is a special case for a dependency and is used to produce a C friend declaration Refer to relation for more information E Attribute There is not restriction for the attributes an attribute s type may be a class or an int for instance The icon in the browser indicate if the attribute is public protected or private The protected visibility is translated in private in Idl Refer to attribute for more information a Operation The icon in the browser indicate if the operation is public protected or private The protected visibility is translated in private in Id Refer to operation for more information ex Extra member An extra member is an alien allowing you to specify directly the generated code for each language This allows to manage non UML items for instance C pre processor directives Java attribute initializations etc Refer to extra member for more information H Class instance A modeled
208. e code generation will be applied on all the sub classes then on all the artifacts associated to these classes e a deployment view the code generation is applied on all the sub artifacts e a package may be the project itself the code generation will be applied on all the sub class views and deployment views then on all their sub classes and artifacts When the Id code generator is ask through the Tools menu it is applied on the project then on all the artifacts The name of the generated files depend on the artifact name the extension depend on the language and is fixed for each by the generations settings see below the directory where the files are generated may be set in each package containing directly or indirectly the artifact see generation directory artifact The Id definition of a artifact is set through the Idl source tabs of the artifact dialog The code generation depend on the stereotype of the artifact e text the IDL definition of the artifact is produced without changes the name of the generated file is the name of the artifact including the extension source see below e else nothing is generated for the artifact The generated file name is the artifact s name with the extension specified in the first Id tab of the generations settings 355 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html GenerationSettings dialog S Types Stereotypes c 1 ceta c
209. e control key is down a multiple selection may also be done defining a region using the mouse left click out of any element and moving the mouse with the click and maintaining the clic down The diagram s elements may be moved after a left mouse click on an element and maintaining the click down during the mous move The right mouse click is used to show context dependent menus control s is a shortcut to save the project control a is a shortcut to select all the diagram s elements control d is a shortcut to delete the selected element s the model is affected suppr is a shortcut to remove the selected element s from the diagram these elements are not deleted control c is a shortcut to copy the selected diagram s elements control x is a shortcut to cut remove from view the selected diagram s elements control v is a shortcut to paste the selected diagram s elements control z and control u are a shortcut of undo control r and control y are a shortcut of redo the keyboard arrows allow to move the selected items You can define your own shortcut using the shortcut editor through the Miscellaneous menu When several diagram s elements are selected the menu appearing on a left mouse click allows to align them Multiple selection menu select linked items IE align top copy selected Ctri c Qo align botom cut selected Cirit remove from view E align lett remove selected fram view Suppr align right delete selected Contral d
210. e description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support State dialog tab Ocl The Ocl tab allows to specify the state behavior using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention State dialog i a he Lm Oct crs Java User Entry behavior Exit behavior Dao behavior wes State dialog tab C This tab allows to specify the state behavior in C but in fact BOUML doesn t check the syntax this is just a convention 143 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html State dialog i ae Lm oc ire Java User Entry behavior Exit behavior Da behavior State dialog tab Java This tab allows to specify the state behavior in Java but in fact BOUML doesn t check the syntax this is just a convention State dialog i aani m Eun F Lm oct c Java User Entry behavior Exit behavior Da behavior M
211. e files for nothing make will appreciate Refer to C generator Java generator Php generator Python generator and Idl generator for more details Menu reverse To reverse sources placing the result into the current package Refer to C reverse Java reverse Java catalog Php reverse and Python reverse for more details Menu tools The menu entry tool is only present in case at least a plug out may be applied on the project package Drawing When a package is drawn in a diagram the available options are e package name in tab to indicate if the package s name must be written in the tab which is the small rectangle on the top e show classes and packages context to indicate if the context where the package is defined must be written it is not the case just above The context may be the UML context which is the path of the package in the browser choice followed for awt below or the C namespace specified by the package or the Java package specified by the package choice followed for picture below or the Python package specified by the a package or at least the Id module javecawt Image jave awtinage e package color when you create a new project the packages are transparent by default In all the diagrams a package may be resized When you move a package in a diagram the artifacts classes components deployment nodes sub packages and use cases defined in the package not through an ot
212. e mouse each time the mouse button is raised a new line break is introduced at least click on t element To abort a flow construction press the right mouse button or do a double click with the left mouse button A line may be broken during its construction of after clicking on the line with the left mouse button and moving the mouse with the mouse button still pushed To remove a line break a double click on the point with the left mouse button is enough or use the line bri menu of the point using the right mouse button A right mouse click on a flow in a diagram or a double click with left mouse button calls the following menu supposing the flow editable 206 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html the name the guard weight the weight Select in browser edit drawing settings select labels labels default position attach fiow label to this segment attach stereotype to this segment geometry Ctri 1 remove from view delete from model Menu edit To edit the flow Menu select labels To select the labels flow s name stereotypes associated to the flow Useful when you are lost after many label movings Menu labels default position To place the labels flow s name stereotypes role s and multiplicity ies associated to the flow in the default position Useful when yc are lost after many label movings By default when you move a class or a flow point break or
213. e package name in tab 316 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html to indicate if the package s name must be written in the tab which is the small rectangle on the top note a transparent package doesn t have shadow e show packages context to indicate if the context where the package is defined must be written it is not the case just above The context may be the UML context which is the path of the package in the browser choice followed for awt below or the C namespace specified by the package or the Java package specified by the package choice followed for picture below or at least the Idl module java cat image jave awtinage write node instance horizontally Allows to write the the node type and the instance name on the same line see host below or on two lines see laserwriter below e automatic labels position To ask BOUML to move or to not move the associated labels on the relations in the diagram when the relation is edited or the linked items moved etc Browser Menu duplicate Clone the diagram in a new one in the same deployment view Browser Menu delete The delete entry is only present when the diagram is not read only Delete the diagram and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Browse
214. e placed and its name for instance in tmp probably just for a trial with the name foo anpe oo lf E ex Dikde bruno Sor YaST2 02452 Fehma 2 gcontd raot E kde rogt gsd alava gore ksocket bruna T svBjetmp Glaze Dhsperdata bruno Ciksocketroot Ci sysconig Caze html hemi Omeop bruno Sumi le hen html I mcop root ac Seq javaseul Sp Liz File name foo File type Cancel r In this case BOUML create the directory foo under tmp and place some files in tmp foo including foo prj which represents the project see project files Document Edition Affichage Aller Signets Outils Configuration Fep tre Aid Wa Ot HAEI E Se E gt URL E file tmp foo gl file tmp foo Konqueror lt 3 la l ments 7 fichiers 10 8 ko total Un dossier Do not rename or delete the files produced by BOUML nor the directory itself Project loading You may associate a prj file to bouml using your window manager capabilities call bouml through a command line given the p7j file see project files in argument or launch bouml then load a project using the project menu or the open icon or the historic the historic is saved in the file bouml placed on your home directory 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html New Cut N 2 Open Erg Save Ctri S SAVE BS amp Print CrP Chose Chew Quilt Crta tmpvtaofoo pr home brung umlhtel htmt pr homeSruncumil pnpe pr home b
215. e plug out is associated to the activity objects To apply a plug out on the activity object Previous activity action Next activity control node 199 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Activity control node The activity control nodes are e initial e final e flow final eu merge e 2 decision 0 fork oP join In the browser a activity control node is placed under its activity or region and may contain flows when this is legal The activity control node s properties will be exposed below Menus The activity control node menu appearing with a right mouse click on its representation in the browser is something like these supposing the activity control node not read only nor deleted see also menu in a diagram edit duplicate delete referenced by mark Menu edit edit allows to show modify the activity control node properties In case the activity control node is read only the fields of the dialog are also read only activity final dialog 2 bc sb Umi Properties name Stereotype description Editar The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The editor button visible above and associated here to the description allows to edit the description i
216. e selection may also be done defining a region using the mouse left click out of any element and moving the mouse with the click and maintaining the clic down The diagram s elements may be moved after a left mouse click on an element and maintaining the click down during the mous move The right mouse click is used to show context dependent menus control s is a shortcut to save the project control a is a shortcut to select all the diagram s elements control d is a shortcut to delete the selected element s the model is affected suppr is a shortcut to remove the selected element s from the diagram these elements are not deleted control c is a shortcut to copy the selected diagram s elements control x is a shortcut to cut remove from view the selected diagram s elements control v is a shortcut to paste the selected diagram s elements control z and control u are a shortcut of undo control r and control y are a shortcut of redo the keyboard arrows allow to move the selected items You can define your own shortcut using the shortcut editor through the Miscellaneous menu When several diagram s elements are selected the menu appearing on a left mouse click allows to align them Multiple selection menu select linked items IE align top copy selected Ctri c Qo align bottom cut selected Cirit remove from view E align lett remove selected fram view Suppr align right delete selected Contral d align center F align ce
217. e under any particular circumstance the balance of the section is intended apply and the section as a whole is intended to apply in other circumstances It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any s claims this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices Many people have made generous contributions to the wide range of software distributed through that syste reliance on consistent application of that system it is up to the author donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License 8 If the distribution and or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding th countries so that distribution is permitted only in or among countries not thus excluded In such case this License incorporates th limitation as if written in the body of this License 9 The Free Software Foundation may publish revised and or new versions of the General Public License from time to time Such r versions
218. e var when the relation is not read only nor static see the UML tab and the visibility is not package else produce an empty string name is replaced by the relation s role name see the UML tab value is replaced by the initial value of the relation see the UML tab The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Refer to the generation settings and Php generator for more details and explanation of the other keywords Relation dialog tab Python This tab allows to give the Python definition of the relation it is visible only when Python is set through the Languages menu For an association or an aggregation without multiplicity or having the multiplicity 1 A Relation dialon I Sax Lim c Java Php Python io Properties ring iccommenti self name value Declaration self thac2 Nona Result after substitution Default declaration Mot generated in Python In Ce comment self name value Declaration i gelf thecC None Result after substitution Default declaration Mot generated in Python In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for Java supposing you do
219. ead only Browser Menu edit edit allows to show modify the diagram properties In case the diagram is read only the fields of the dialog are also read only State diagram dialog tab Uml 286 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html State diagram dialog apr nT name Diagram Stereotype description Editor The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of a diagram doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Browser Menu edit drawing settings This dialog allows to specify how the items of the diagram must be drawn by default you may choose default for each value in this case the effective value if specified in the upp
220. ealization or a dependency 80 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Relation dialog lt 3 a aka ile 4 Lim Kea Java IBL User ROLE 1 M virtual Visibility follow uml public public protected private M mutable Sitypel Declaration c3 Result after substitution Default declaration Not generated in C In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for C supposing you do not modify the C code generator When you push the button default declaration the form specified through the generation settings depending on the stereotype and multiplicity and of course the language is proposed this last may be modified as you want even to produce illegal source code When you do not want to have this relation defined in C empties the declaration manually or using the button not generated in C It is possible to follow the visibility as it is set in the UML Tab or to change it static produce an empty string when the relation is not an class relation see the UML tab else produce static const produce an empty string when the relation is not read only see the UML tab else produce const type is replaced by the class pointed by the relation see the UML tab name is replaced by the relation s role name see the UML tab
221. ears uml pro l Oo recursively Warning reset the declarations definitions to their default value from the generation settings Ask to also project the sub elements if desired then hit the button corresponding to the desired language projection Previous XMI import Next Html documentation generator 367 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html HTML documentation generator The HTML documentation generator is developed using BOUML and is an example of a program implemented simultaneously in C and Java As it is signified by its name the HTML documentation generator generates HTML pages describing the object on which it is applied and its sub objects with some indexes When the generator is started some dialogs appear to configure the result you may also set them using the options see below The diagrams are produced in the generated page s the used scale and picture size are the default ones except when there are set instance see use case diagram The HTML code generator manages the following options in order e flat optional to produce the class definitions in index html rather than in separate files e svg optional to produce SVG images rather than PNG ones generated Html files directory must not contains space mandatory if the next arguments are given except the port number given by Bouml itself del_html optional to remove already existing HTML fi
222. ecify the state action expression in Java but in fact BOUML doesn t check the syntax this is just a convention State Action dialog See karmie Lim Oct c Java User Menu duplicate The menu entry duplicate clone the state action without its children Menu referenced by To know who reference the current state action through a transition Menu mark See mark Menu delete The menu entry delete is only present when the state action is not read only 149 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Delete the state action and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry fool is only present in case at least a plug out may be applied on a state action The selected tool is called and applied on the current state action Default stereotypes The dialog allowing to set the default stereotypes Default stereotypes dialog lt oc ih le Package Class UseCase Artifact Views Diagrams Others am bute Veet yrs state action send signal recelve signal shite Sul sorce or ay ot tate fes anite Drawing Depending on its stereotype a state action is drawn in a diagram as a rectangle a convex pentagon or a concave pentagon I D L gt A right mouse click on a s
223. ect all Select all the items of the current diagram also done through a control a Picture Menu find selected browser element To find in the diagram a representation of the elements selected in the browser Picture Menu optimal scale similar to the fit scale button change scale to see all the diagram s elements at great as possible Picture Menu optimal window size Similar to the button Hy change the size of the windows to see all the diagram s elements with the current scale Picture Menu copy optimal picture part 242 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Copy all the diagram elements equivalent to a optimal windows size followed by a copy visible picture part then a restore of the original windows size Picture Menu copy visible part Put the visible part of the current diagram in the clipboard copy it is a screen copy the current scale have impact on the picture quality It is also possible to print all not only the visible part the current diagram on printer or a file through the button Picture Menu save optimal picture part To save all the diagram elements in a file equivalent to a optimal windows size followed by a save visible picture part then a restore of the original windows size Picture Menu save visible picture part To save the visible part of the current diagram in a file it is a screen copy the current scale have impact on the picture quality Picture Menu
224. ectories to complete the catalog At this level nothing is done on tt BOUML side To save your catalog use the save entry of the file menu or the associated button 340 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Open allows to get an already made catalog may be to complete it The main goal of Java catalog is to send a class or all the classes under a package and its sub packages to BOUML using the menu appearing with a right mouse but click on a class or a package into the Java catalog browser Seralzable show file In case the sent class es reference other classes for instance to inherits them these classes are also sent with the classes they reference etc For instance in case the BOUML project p is empty and the class sunw io Serializable is sent the result will be Bouml 45 ah mes Project Windows Tools Miscellaneous Help coe el SS HN browser Ep jsre a jsunw EDie o afio BS lt lt interface gt Serializable L Pave iiaii aai E TE Thisis A compatiblity type to allow Java Be were developed under JOK 1 0 2 to run correctly under J s Jio corresponding JOK 1 1 type is java io Seralizable Balla B lt lt interface gt gt Serializable see javaio Serializable 4 serializable Al As you can see contrarily to the result of a standard Java reverse the two classes do not have associated artifact because the goal is just to allow to have a cl
225. ed The scale may be changed from 30 up to 200 To allows to see the operation message kinds even with a small scale the size of the arrc unmodified fit allows to set the largest scale allowing to show all the picture as it is possible Because of the scrollbar management hitting several times on fit may give several scales Classically the left mouse click may be used to select an element or several when the control key is down a multiple selection may also be done defining a region using the mouse left click out of any element and moving the mouse with the click and maintaining the clic down The diagram s elements may be moved after a left mouse click on an element and maintaining the click down during the mous move The right mouse click is used to show context dependent menus control s is a shortcut to save the project control a is a shortcut to select all the diagram s elements control d is a shortcut to delete the selected element s the model is affected suppr is a shortcut to remove the selected element s from the diagram these elements are not deleted control c is a shortcut to copy the selected diagram s elements control x is a shortcut to cut remove from view the selected diagram s elements control v is a shortcut to paste the selected diagram s elements control z and control u are a shortcut of undo control r and control y are a shortcut of redo the keyboard arrows allow to move the selected items 249 of 4
226. ed Ctri x remove from view Remove selected from view Suppr Edit drawing settings and for instance when the elements are classes in a class diagram drawing language drawing mode show context hide attributes hide operations showy members full definitian show members visibility show parameter direction show parameter name show information note Delete selected Control d lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt uncnanged gt lt unchanged gt The settings valuing lt unchanged gt are not changed for the selected elements in the other case the same value is set for all the elements Fragment A fragment is resizeable To change the fragment s name choose the edit entry of its menu or double click on it A right mouse click on a note show the following menu 236 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Upper Lower Egit Add separator Edit drawing settings Remove from view Edit drawing settings allows to change the fill color Note A note may contain any text a note is resizeable To change the text of a note choose the edit entry of its menu or double click on it this open a window containing the text iB boumi Sesa is under edition A right cl
227. ed in case the multiplicity is a vector or arra dimensioning and are added when they are not present e name is replaced by the attribute s name see the UML tab e value is replaced by the initial value of the attribute see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc enumeration item The macros known by the Java code generator are e comment is replaced by the description of the item adding e description is replaced by the item description without adding 336 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e name is replaced by the item s name see the UML tab e class is replaced by the name of the class supporting the enumeration e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc Relation The Java definition of a relation is set through the Uml and Java tabs of the relation dialog The indentation of the first line of the definition give the indentation added to the class definition for all the relation definition Relation equivalent to an attribute In BOUML the generated code is obtained by the substitution of macros in a text the macros known by t
228. edit the flow the associated labels are moved to their default position this may be irritating To ask BOUML to not move the associated labels on the flows in a diagram use the drawing settings of the diagrams Menu geometry Allows to choose one of the line geometry v None Eun Note if you manually move the central line of the last two geometries this one stop to be automatically updated when you move one of the two extremities of the flow Menu tools Appears only when at least one plug out is associated to the flow To apply a plug out on the flow Drawing settings The drawing settings associated to the flows in a diagram may be set through the the diagram itself or one of its parent for instance 207 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html write horizontally defaut show information note defaut drawing language defaut cur A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level write horizontally To made the label indicating the name weight and guard on one line or several show information note To show or not the selection and transformation Drawing language To choose the language used to write the weight guard selection and transformation Previous activity control node Next c
229. editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support The default button visible above associated to the description allows to set the description with a default contain specified through the generation settings Useful to generate comments compatible Java Doc or Doxygen for instance Operation dialog tab C This tab allows to give the C declaration and definition of the operation it is visible only if C is set through the Language menu 118 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html oa ne a Operation dialog lt 3 m TETA Lii Ges deva Properties E iofow umi public public protected private T const F viie tend F vitua M inline 5 oomment Fistatic s virtual eype Finamel S S EO FipoOl Fltl Fipil read SipZt l feonst volatilaj abstract Declaration ffentry to produce the html
230. efined e members is replaced by the non inline members of the classes associated to the artifact e namespace_end is replaced by the forms dependent on the namespace specifications associated to the package containing the deployment view where the artifact is defined e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the artifact if not found for the deployment view containing the artifact if not found in the package containing the deployment view etc Class The C definition of a class is set through the Uml Parametrized Instantiate and C tabs of the class dialog A C type definition may be a class a struct an union an enum or a typedef depending on the stereotype and its translation in C see generation settings In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the C code generator are e comment is replaced by the description of the class adding e description is replaced by the class description without adding e template produce a template declaration in case the class is a template class e name is replaced by the class s name e f inherit is replaced by the class inheritance e members is replaced by the code generated for all the class s members relations attributes operations and extra members following the browser order e fitems only for the enums
231. egions are drawn horizontally or vertically for instance 146 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Processes Diagram Note the regions are not visible while the state picture is too small State color To specify the fill color Menu set associated diagram set associated diagram allows to automatically open the current diagram when a double mouse click is made on the state representation in a diagram or the browser After that the only way to edit the state is to choose the edit entry in the menu Menu tools Appears only when at least one plug out is associated to the states To apply a plug out on the state Previous class instance Next state action 147 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html State Actions In the browser a state action may contain transitions The state action s properties will be exposed below Menus The state action menu appearing with a right mouse click on its representation in the browser is something like these supposing the action not read only nor deleted see also menu in a diagram edit duplicate delete relerenced by mark tool Menu edit edit allows to show modify the action properties In case the action is read only the fields of the dialog are also read only State action dialog tab Uml The tab Umil is a global tab State Action dialog See karmie Umi oct cH Java
232. en to produce illegal source code When you do not want to have this attribute defined in Python empties the declaration manually or using the button not generated in Python The instance attributes are automatically produced at the beginning of the body of the operation __init__ this operation is produced for each class even when you don t define it The static attributes are produced inside the class definition comment produces a comment from the UML description adding a at the beginning or each line following the current indent A newline produced if needed at the end to not have something else generated on the same line after the comment description 1s like for comment but without adding self inside the operation __init__ this produces the name of the first parameter followed by a dot else nothing type produces the type of the attribute probably used inside a comment multiplicity produces the multiplicity of the attribute probably used inside a comment stereotype is replaced by the translation in Python of the attribute s stereotype see the UML tab name is replaced by the attribute s name see the UML tab value is replaced by the initial value of the attribute see the UML tab if it is not empty else None The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Refer to the generation
233. ent step of the BOUML definition then they do not contain all the BOUML API and some operations may not be defined By definition empty contains all the API The empty plug out contains several already defined classes with their associated artifact half of them are placed under the package API BASE and implement the API with BOUML you cannot modify them they define the system part of a plus out The other half is yours each of these user classes inherits to a system class and sometimes a system class inherits of a user class for instance the classes associated to the classes are 378 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Class and class members classes inheritance diagram _ afe E miai Ea e se ee E aa se scale ags Aj is E In this diagram the blue classes are the system classes the other classes are yours UmlItem is the user class inherited by almost all the other classes The disadvantage of this choice in C is to recompile many files when a base class is modified but this allows to define virtual operations managing several classes I do not describe in this documentation all the predefined classes and their operations the better is to look at the model of a newly created plug out or to generate the html pages describing it this is done under the empty_html directory the html entry page is index withframe html I also recommend you to look at the plug outs given with
234. enu duplicate The menu entry duplicate clone the state without its children Menu extract it from X The menu entry extract it from X is present when the stste is nested in X perhaps X is itself nested in another one but it is not visible here Choosing this entry the current stste became a children of the parent of X Menu referenced by To know who reference the current stste through a transition Menu mark See mark Menu delete The menu entry delete is only present when the state is not read only Delete the state and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry tool is only present in case at least a plug out may be applied on a state The selected tool is called and applied on the 144 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html current State Default stereotypes The dialog allowing to set the default stereotypes Default stereotypes dialog 2 sl a i Package Class UseCase Artifact Views Diagrams Others PES machine submachine top Drawing A state is drawn in a diagram as a rectangle with rounded corners Bouml home bruno umi EX state state prj Project Windows Tools Miscellaneous Help browser Estate Paldass view B C lt lt machine gt gt ReadAmou
235. enu Languages 128 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a GenerationSettings dialog lt gt 7 Al comment Fleelf i meme i value comment titel name sterest pps i f comment tieeill stereotype Enueeretion bpa i comment f eeif finans on p name pet i Name also mh wel oret Gefinmor se l G a feet tinamo F aion um Operation 16 istatic abstract def name default definition docstring body Types Stereotypes ce cega ceai ce cesy davami savage savai ny iney Tar ranas Description cir Ticoament Eiresdonlyiliattssbut titype binas ficonment fiviastility i type msia ficommaent comet amp type bineee i domly type iimas irani Geer Erum Mon tom omopen O name em i i oneway name oet_f name avo in uni B comentis onsway S type e Strame S C51 Si raisesanl Siraises Operation default deciaration The tab Description allows to set a default description 129 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a Ns a j H a GenerationSettings dialog lt 5 i Operation defautt description Drawing The operations are drawn with their class in a class diagram and alone in a sequence diagram or a collaboration diagram The way an operation is written or not in its class picture in a class diagram
236. er Select class in browser Select class in browser Exit torm madel Replace it Remove from view Remove from view Delete from model Message Menu edit drawing settings This dialog allows to specify how a the class instance must be drawn you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level drawing mode default white nametyp horizontally hg 7 write class instance horizontally To write the instance type and name on the same line or on two lines Message Menu become mortal immortal By default an instance is immortal its life line is infinite else a X is automatically add under the last activity bar and the life line is finite Note that it is possible to add a new message below the end of the instance life the position of the end of life is updated this is done also when you move resize delete the last activity bar Note that the vertical position of the instance is not fixed to help you by default an instance is inserted on the top of the picture use the mouse to move it horizontally or vertically Message Menu Insert in model exit from model There are two kinds of class instances instances part of the model visible in the browser and pure graphic instances to not pollute the model with many useless instances The button H add or create an instance part of the model T
237. er and level in the browser tree Result after virtual void html QcString pfix substitutian Default declaration From definition Mat generated In C Edit parameters f inlinel l typel iclass name tO pO iconst volatile staticn1 body Definition Result after void UmlOperation html QCString pfix ie fbody substitution F contextual body indent Edit body Default definition From declaration Not generated in C Edit parameters When you do not want to have this operation defined in C empties the declaration definition manually or using the button not generated in C It is possible to follow the visibility as it is set in the UML Tab or to change it static produce an empty string when the operation is not an class operation see the UML tab else produce static const produce an empty string when the check box const is not checked else produce const volatile produce an empty string when the check box volatile is not checked else produce volatile friend produce an empty string when the check box friend is not checked else produce friend virtual produce an empty string when the check box virtual is not checked else produce virtual inline produce an empty string when the check box inline is not checked else produce inline type is replaced by the value type see the UML tab abstract produce the string 0 when the operation is
238. er level which itself may specify default etc up to the project level D Diagram Drawing Settings di s kak diagram color I packages name in tab default show package context default default state color default automatic labels positian default default state action color default write transition horizontally default show transition definition default default note color default draw all relations default Craw shadow default default package color default show State activities defauit Craw state s regions horizontally default default fragment color default drawing language defaut DE WE oen oen WE KE E KE e show packages context To indicate if the context where the package is defined must be written and if yes how The context may be the UML conte which is the path of the package in the browser or the C namespace or the Java package or at least the Idl module See package context e automatic labels position To ask BOUML to move or to not move the associated labels on the relations in a diagram when the relation is edited or associated State pictures moved etc e write transition horizontally to write the transition s trigger guard constraint and activity on only one line or each one on a different line 287 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html os ja_quard an activity e
239. erate itself The generated sources follows the definition made in BOUML at the artifact class operation relation attribute extra member levels When the code generation is applied on a artifact associated to several classes the code generation is made for all these classe Nevertheless the C code generator produce first the code in memory and update the appropriate files only when it is necessary to change the last write date of the files for nothing Depending on the toggle verbose code generation of the global menu Languages the code generator is verbose or not The C code generator plug out may be called on e aclass in this case the code generation is in fact applied on the class s artifact then on all the classes associated to this artifact e a artifact in this case the code generation is in fact applied on all the classes associated to the artifact e aclass view the code generation will be applied on all the sub classes then on all the artifacts associated to these classes e a deployment view the code generation is applied on all the sub artifacts e a package may be the project itself the code generation will be applied on all the sub class views and deployment views then on all their sub classes and artifacts When the C code generator is ask through the Tools menu it is applied on the project then on all the artifacts The name of the generated files depend on the artifact name the e
240. ered line 94 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html g None Note if you manually move the central line of the last two geometries this one stop to be automatically updated when you move one of the two extremities of the relation Menu tools Appears only when at least one plug out is associated to the relation To apply a plug out on the relation Drawing settings The drawing settings associated to the relations in a diagram may be set through the the diagram itself or one of its parent for instance a Diagram Drawing Settings dialo sss wai idiagram color merg arguage 10 HUORIOIOL cietie Geng anit miie ciyeri Eres hiig ciater Spe mormi Bige darig semer Ul cadiniier ge paa eorn draw all relations Shoe pacage Samp in ad automatic labels position no show information note defautt ire kips mo i A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level draw all relations To automatically draw or not the new relations obviously a relation will be added in a diagram only when the start and end classes may be the same are drawn class diagram automatic labels position To ask BOUML to move or to not move the associated labels on the relations in a diagram when the relation is edited or the associatec c
241. ers these ones will not be deleted while their container is not itself deleted and if they don t have a user property named STM generated so don t duplicate elements created by the state machine generator to not have this property or remove it after Some parts of the generated source code are instrumented to produce a debug message using the function puts of stdio The instrumentation is always a form ifdef VERBOSE_STATE_MACHINE puts lt the message gt endif To activate these traces you must compile the code defining VERBOSE_STATE_MACHINE Previous Roundtrip body Next XMI generator 363 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html XMI generator As it is signified by their name the XMI generators generates the definition of the project using XMI They are two generators one producing XMI 1 2 the other XMI 2 1 XMI 1 2 generator To be compatible with existing tools the used format is xml 1 0 xmi 1 2 for UML 1 4 This plug out must applied on the project itself it asks you to specify where the xmi file must be generated and if you want to produce the UML C or Java definitions gxmi G ahi wa ei ganapan fren rmi orowse vil file tmp browse Encading windows 1252 Generate views as package Tagged values generation Not generated lt UML Tagged alue tag _ value _ gt ahil Tagged alue gt lt UmlTagged V alus tags sUn Tagged
242. eted extra member edit duplicate Menu edit edit allows to show modify the extra member properties In case the extra member is read only the fields of the dialog are also read only Extra member dialog tab Uml The tab Uml is a global tab independent of the language 132 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html W Extra Class Member dialog jes nabh ii en Umi c Java Php Properties name stereotype description Editor The name and the stereotype do not have meaning for BOUML The description is not used by the code generators The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Extra member dialog tab C The tab C allows to specify the code generated in the header and or the source file s it is visible only if C is set through the menu Languages W Extra Class Member dialog hes kael Um Kea Java Php
243. even invalid for th target language s may be given The button type shows a menu proposing 195 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e if the current type of the object is a class to select this class in the browser e if the object is not read only and if a class is selected in the browser to set the type to be this class The multiplicity ordering in state and is control are the standard UML properties The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Activity object dialog tab Ocl The Ocli tab allows to specify the selection using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention Activity Object dialog 5 Um oct c Java Properties selection Cancel Activity object dialog tab C This tab allows to specify the selection in C but in fact BOUML doesn t check the syntax this is just a
244. f 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Expansion Node dialog 2 bd a bt bc Um oct cH Javal Properties selection OK Cancel Menu duplicate The menu entry duplicate clone the expansion node without its children Menu delete The menu entry delete is only present when the region is not read only Delete the region and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu referenced by To know who reference the current parameter through flow Menu mark See mark Menu tool The menu entry tool iS only present in case at least a plug out may be applied on an interruptible region The selected tool is called and applied on the current region O Default stereotypes The dialog allowing to set the default stereotypes 171 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Default stereotypes dialog lt 3 Pry ae Bee ver ect tars Interruptible activity region stereotypes expansian regian Stereotypes gt on eter te et oes shar ese oes on erect pes expansion node stereotypes Expansion region drawing An expansion region is drawn in a diagram as a dashed rectangle with rounded corners with the indication of the mode A right mouse click on a the region in
245. f 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e extend is replaced by the class inheritance e implement is replaced by the interface inheritance e members is replaced by the code generated for all the class s members relations attributes operations and extra members following the browser order e cases only for the enums is replaced by the enum s items definition e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the class if not found for the container of the class an other class of a class view etc In the special case where the class is declared external its Java type declaration must contains a line indicating how the name of the class is generated by default name meaning that the name is produced unchanged the only allowed keywords are name Name and NAME Operation The Java definition of an operation is set through the Uml and Java tabs of the operation dialog The indentation of the first line of the declaration definition give the indentation added to the class definition for all the operatior definition In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Java code generator are e comment is replaced by the description of the operation adding e description is replaced by the operation description without adding e visibi
246. f action Activity opaque action dialog tab Uml 176 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The tab Uml is a global tab Activity Action dialog Umi oct cH Java Properties name faction stereotype kind opaque action description Editor The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it It is possible to change the kind of the action this modify the other editor tabs The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Activity opaque action dialog tab Ocl The Ocl tab allows to specify the activity action behavior and the pre and post condition using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention Behavior Editor
247. f the relation s stereotype see the UML tab name is replaced by the role name see the UML tab value is replaced by the initial value of the relation see UML tab if it is not empty else None The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Refer to the generation settings and Python generator for more details and explanation of the other keywords Relation dialog tab Id This tab allows to give the Id definition of the relation it is visible only when Idl is set through the Languages menu For an association or an aggregation without multiplicity 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html F z nm p II III a Relation dialog lt ere Wml C Java fio User ROLE 1 r comment visibility itype name Declaration private Ce thee Result after substitution Default declaration Not generated in lell ROLE 2 icommanti visibility type name Declaration private C thet Result after substitution Default declaration Nat generated in tal cee In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for Id supposing you do not modify the Id code generator
248. file E uml BOUML bouml 4 2 doc TOUT html BOUML User Manual 1 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html BOUML BOUML is a UML tool box allowing you to specify and generate code in C Java Php Python and IDL The main key points of BOUML are e itis free it runs under Linux Sun Solaris MacOS X and Windows it allows to program simultaneously in C Java Php Python and IDL thank to a full access to the generated forms you are the master and you decide what must be generated it is extensible and the external tools I name them plug out because they are executed outside BOUML may be developed in C or Java using BOUML for their definition as any other program clearly I do not like very much language like Visual Basic and I do not understand how this one can be imposed in a UML environment e itis fast and doesn t need a lot of memory to manage several thousands of classes see benchmark To develop BOUML alone at home during the nights and weekends is hard and tiring perhaps crazy The reasons inciting me to do il are mainly the pleasure to develop freely a tool and I hope to see it used by many people I already had this very pleasant experience with two friends for Xcoral and frankly a reaction to the very expensive price of the commercial UML tools The graphic part of BOUML is based on Qt many thanks to Trolltech for this marvelous GUI application framework clearly BOUML
249. for each language and to specify the C namespace Java package Python package Idl module A generator producing code for a component looks at the package containing the component view where is the component to get these information The project is in fact the top level package The relation between packages are dependencies and inheritances Because here the inheritance is very soft A inherits on B when contains a class inheriting an other one defined in B BOUML accept that circular inheritances Menus The project and package menus appearing with a right mouse click on their representation in the browser are something like this supposing them not read only nor deleted html new package New USE case view new class view new component view new deployment view Import project edit edit default stereotypes edit class Settings edit generation setings edit drawing settings impart referenced by mark generate reverse tool project menu Menu import project import ee new package new use case view new class view new component view new deployment view Import project edit edit class settings edit drawing settings delete referenced by mark generate reverse b tool non project package menu project allows to import a BOUML project into the current package as a standard package with its contain Note that the imported project s default settings are not impo
250. g 4 need update 1 deleted Sea aaa aa as as as ts y ee et a Oo bruno 2 bruno 2 runa 2 bruna 2 bruna 2 runa 2 ihome runo Rev Modified by for A jPackage Package JPackage Package JPackages J Package JPackage4 Packaged E Packages BL Ja iPackaget BL JPackageS rs DiPackages B java 3 nged update 1 deleted AO bruno 2 glain 4 bruno 2 bruna 2 bruno 2 bruno 2 alain 4 5 pr B Package a C Package JPackage Package Bi jPackage Package Packages a i Packages 5 Cla BFackagei a Packages Ja 1 need Update oo Modified by fred 3 bruna 2 bruna 2 bruna 2 bruno 2 bruna 2 fred 3 fred t3 As you can see incl is gray indicating it was deleted and the project itself was modified at least to remove incl On the bottom of each image you have the number packages whose need to be updated or deleted The indication RO means that at least one file of the project image is read only in this case the image can t be synchronized even if the file correspond to an up to date package When enough images was load you can ask for the synchronization through the menu Project or the shortcut control S A dialog appears Synchronize 4 h a ii Choose the projects to synchronize with the others Warning Some projects cant be synchronized because of read only files l shomevb
251. g e name is replaced by the role s name see the UML tab e value is replaced by the initial value of the relation see the UML tab 345 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e stereotype is replaced by the translation in Php of the relation s stereotype see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the relation if not found for the class containing the relation etc Inheritance The class inheritance are managed at the class level e type is replaced by the name of the inherited class Extra member The Php definition of an extra member is set through the Php tabs of the extra member dialog No macros Previous Java catalog Next Php reverse 346 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Php reverse The Php code reverse is a plug out directly written in C Note that the Php code reverse cannot be used as a Php code round trip and doesn t allows to update already defined classes having at least one member The Php code reverse plug out may be applied only on a package When you start the Php code reverse it ask for a directory then it reads all the sources placed under the selected directory sub directories The sources read by the Php code reverse are the ones having the extension specified in the generation settings The tree
252. generations settings 342 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html i GenerationSettings dialog iee isla b pleas Types Stereotypes crf c c cs c Java 1 Java 2 Jawata Javaja Phet file default generated reversed content file extension pnp late tineme j ent onda fi lap lements Lie iwieibi lity interface Piccmmemt Final Pivisibility ol bt ree In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Php code generator are e comment is replaced by the artifact description adding e description is replaced by the artifact description without adding e definition is replaced by the definition of the classes associated to the artifact e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the artifact if not found for the deployment view containing the artifact if not found in the package containing the deployment view etc Class The Php definition of a class is set through the Uml Parametrized Instantiate and Php tabs of the class dialog A Php type definition may be a class an interface or an enum defined through a class depending on the stereotype and its translation ir Php see generation settings In BOUML the generated code is obtained by the substitution of macros in a text the macros kn
253. getting the specified list of parameters and return type definition For instance if I modify the operation s declaration like this the first parameter is modified and the second and third or removed Umil Cr Java Properties follow uml pubie public protected C private l const l volatile T fiend F virtual T Inline ecoement static virtual itype name i t0 e ip l i toonst volatile abstract fentry to produse the html code recelving chapter number f path rank in the mother and level in the browser tree Result after virtual void html gcsString pfix substitutian Default declaration x From definition a Nat generated In C Edit parameters linase tii Fito T BEL ti giva iat ile tietat tani void UalOperation htel QC8tring unsigned int unsigned int E F Es ay Edit body Default definition From declaration Not ganerated in C Edit parameters 119 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html and I press the From declaration button the modifications are reported in the operation s definition Umi C Java Properties follow uml pubie public protected C private l const l volatile l friend F virtual l Inline ecomment static virtual itype name ii t0 e ipll i toconst ivolatilel tabstract Declaration fentry to produce the html code recelyving chapter number path rank in the moth
254. ght mouse click on its representation in the browser is something like these supposing the diagram not read only nor deleted show edit edit drawing settings duplicate delete mark Browser Menu show show allows to show the diagram picture and edit it in case it is not read only Browser Menu edit edit allows to show modify the diagram properties In case the diagram is read only the fields of the dialog are also read only 296 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Activity diagram dialog tab Uml Activity diagram dialog sale Umi Properties name Diagram Stereotype description Editar The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of a diagram doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed
255. gle verbose code generation of the global menu Languages the code generator is verbose or not The Python code generator plug out may be called on e aclass in this case the code generation is in fact applied on the class s artifact then on all the classes associated to this artifact e a artifact in this case the code generation is in fact applied on all the classes associated to the artifact e aclass view the code generation will be applied on all the sub classes then on all the artifacts associated to these classes e a deployment view the code generation is applied on all the sub artifacts e a package may be the project itself the code generation will be applied on all the sub class views and deployment views then on all their sub classes and artifacts When the Python code generator is ask through the Tools menu it is applied on the project then on all the artifacts The name of the generated files depend on the artifact name the extension depend on the language and is fixed for each by the generations settings see below the directory where the files are generated may be set in each package containing directly or indirectly the artifact see generation directory The generator change automatically the indentation adding removing when necessary the indentation step specified through the generations settings see dialog screen below At least the first line of an operation s body must not be indented when you ente
256. gn Copy selected Ctrl c Cut selected Ctriex remove from view Remove selected from view Suppr Edit drawing settings and for instance when the elements are classes in a class diagram Delete selected Control dq D Diagram Drawing Settings s diagram color drawing fanguage drawing mode show context hide attributes hide operations show members full definitian show members visibility show parameter direction show parameter name show information note unchanged lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt file E uml BOUML boumlL 4 2 doc TOUT html The settings valuing lt unchanged gt are not changed for the selected elements in the other case the same value is set for all the elements Fragment A fragment is resizeable To change the fragment s name choose the edit entry of its menu or double click on it A right mouse click on a note show the following menu Egit Add separator Edit drawing settings Edit drawing settings allows to change the fill color Note Remove from view A note may contain any text a note is resizeable To change the text of a note choose the edit entry of its menu or double click on it this open a window containing the text close the window to end the editi
257. gram icon A diagram icon is a shortcut to a diagram this allows to quickly navigate through the diagram without limitation a actor or some othe item kinds may be associated to only one diagram The used icon indicates the diagram kind but its name is not written A double mouse left click on a diagram icon opens the diagram the open entry of the diagram icon menu does the same thing A right mouse click on a diagram icon show the following menu 273 of 402 17 02 2008 11 48 274 of 402 URPET lower open select diagram in browser select linked items remove from view Previous collaboration diagram Next object diagram file E uml BOUML bouml_4 2 doc TOUT html The other diagram s elements have an own chapter refer to them 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Object diagram Object Diagram Evelyne Persan wife husband RolantPerson hobby painting hobby electronic The object diagrams may be placed in a use case view a use case or a class view faUse Case View ElObject Diagram E oUse Case BObject Diagram 5 EgClass view ElObject Diagram An object diagram is created through the new object diagram entry of the use case view use case and class view browser menus Browser menu The node menu appearing with a right mouse click on its representation in the browser is something like these supposing the diagram not read only nor deleted Object D
258. h this polling but this works even QT isn t compiled with the thread support Browser Menu edit drawing settings This dialog allows to specify how the items of the diagram must be drawn by default you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level packages name in tab default default note color detautt show package context default default use case color default automatic tabels position default default package color defauit draw all relations default default fragment color default draw shadow defauit default subject color default e package name in tab to indicate if the package s name must be written in the tab which is the small rectangle on the top note a transparent package doesn t have shadow F e show packages context to indicate if the context where the package is defined must be written it is not the case just above The context may be the UML context which is the path of the package in the browser choice followed for awt below or the C namespace specified by the package or the Java package specified by the package choice followed for picture below or at least the Id module awt_ o l jevacawt image i jave awtinage 231 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e automatic labe
259. hange the used style to change the size of the font to set the default diagram format and to edit the shortcuts Note that sometimes changing the size of the base font does nothing because the desired font is not available I had introduced this feature mainly because the default size under Linux and Windows is not the same this may change the relative position of the objects and relation drawn vertically with one font will be inclined with an other Nevertheless because the fonts under Linux and Windows are strictly the same a diagram can t have the same aspect under the two operating systems This size is memorized in the file memorizing the project but BOUML allows to change the font size even when the file is read only the new font size can t be saved Shortcut edition When you select Edit shortcuts a dialog appears 9 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html 25 Shortcut dialog eA Command Too Here are the shortcuts to do a command menu entry lewifanfkey _ ves Select all Copy Delete Move down Arrow geametry Move left Redo Menu Move right Save Remove fram view Undo Move up Paste Cut Redo Lindo A shortcut is a key and the optional modifiers shift control and alt Under MacOS X control is replaced by the apple i and alt is named option on the old keyboards This first tab allows to define shortcuts to apply a command on the selected ele
260. hapter number path rank in the mother and level in the browser tree Virtual void html acstring prix unsigned int rank unsigned int level ffreturns a string indicating the king of the element virtual OCString sKind Menu referenced by To know who are the classes associated to the artifact and the artifact referencing the current one through a relation Menu mark See mark Menu tool Appears only when at least one plug out is associated to the artifacts To apply a plug out on the artifact Menu select associated class Menu select an associated class Only for the artifact source appears only when at least one class is associated to the artifacts To quickly select the appropriate class the current artifact may also be quickly selected from its associated classes Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the artifacts 221 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Default stereotypes dialog a mpima pae Package Class UseCase Artfact views Diagrams others atii source library executable stereotypes Stereotypes relations stereotypes gt Tdeploy manifest Generation settings This very important dialog allows to specify many default definitions concerning the classes more details will be given in C generator Java generator and Idl generator The first C tab allows to specify the def
261. he Java code generator are e comment is replaced by the description of the attribute adding e description is replaced by the attribute description without adding e visibility produce the visibility see the UML tab e static produce static when the attribute is a class attribute see the UML tab e final produce final when the attribute is final e f transient produce transient when the attribute is transient e volatile produce volatile when the operation is volatile e type is replaced by the name of the class pointed by the relation see the UML tab e name is replaced by the role s name see the UML tab e value is replaced by the initial value of the relation see the UML tab e stereotype is replaced by the translation in Java of the relation s stereotype see the UML tab e multiplicity is replaced by the multiplicity of the relation see the UML tab must be used in case the multiplicity is a vector or arra dimensioning and are added when they are not present e fassociation is replaced by the association class see UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the relation if not found for the class containing the relation etc Inheritance The class inheritance are managed at the class level o type is replaced by the name of the inherited class more the actuals if the generated
262. he button add or create a pure graphical instances But after that you are able to transform a pure graphical instance to a modeled one or to replac the drawing of a modeled instance by a pure graphic one the modeled class instance itself is unchanged Message Menu Replace it This entry appears on a pure graphical instance and allows to replace it by a modeled instance of the same class Continuation Menu The size of an activity bar is updated when it is renamed and the name is to long to be written inside the drawing else the continua drawing may may be resized by hand The menu appearing with a right mouse click on a continuation is something like these supposing the diagram not read only 247 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html edit drawing settings select linked Items remove from view Message Menu edit drawing settings This dialog allows to specify the color of the continuation ellipsis Message Menu select linked items Select linked items select all the items connected this the current one through any line Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the diagrams Default stereotypes dialog o san beh e class diagram o Slerentypes object diagram S stereotypes collaboration diagram FO stereotypes Sequence diagram Oe Sterectypes use case diagram PO stereotypes state diagram stereotypes
263. he classes associated to this artifact e a artifact in this case the code generation is in fact applied on all the classes associated to the artifact e aclass view the code generation will be applied on all the sub classes then on all the artifacts associated to these classes e a deployment view the code generation is applied on all the sub artifacts e a package may be the project itself the code generation will be applied on all the sub class views and deployment views then on all their sub classes and artifacts When the Php code generator is ask through the Tools menu it is applied on the project then on all the artifacts The name of the generated files depend on the artifact name the extension depend on the language and is fixed for each by the generations settings see below the directory where the files are generated may be set in each package containing directly or indirectly the artifact see generation directory artifact The Php definition of a artifact is set through the Php source tabs of the artifact dialog The code generation depend on the stereotype of the artifact e text the Php definition of the artifact is produced without changes the name of the generated file is the name of the artifact including the extension e source see below e else nothing is generated for the artifact The generated file name is the artifact s name with the extension specified in the first Php tab of the
264. he default definition of an attribute in C only visible when C is set through the menu Languages 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a GenerationSettings dialog Multioticity unspecified comment static mutable volatile l const type name value iori comment static lmutable volatile lconst istereotype lt typel gt inamea value Floomment Fistatic mutable F volatile Ficonst F type name F multiplicity value Aton i agen coement Fistatic Fimutabie Fivolatile F comet titype Fimame fivalue Fi comment Fietaticl tiguteble fivolatite F coast ieterestype lt fitype gt Finame fivalue T comment fletatic lmutabie fivolat ile conet Fltypel imame isultiplicity i ivaluel Pegeten by vai 1 comment f atat io f mtae fivoiatiie comet fitype tiname f ivaige comment Ti tatic f imutable tivolat tiie fi conet tigtereotype lt i itypei gt inane fivaiue ficcmment i Fietatic imutable Fivcolatiie Ficcmet i itype tiname imulitiplicity Fivaive The fourth C tab allows to set the default definition of an enumeration s item in C and to specify the get and set operation specificities in C only visible when C is set through the menu Languages a GenerationSettings dialog 2 5 Types ae cen cee cea E cs Javea Javate Javajay Javaa itty r
265. he default definition of an attribute in a union the enumeration item default definition and the get specificities for Idl only visible when Id is set through the menu Languages 113 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a GenerationSettings dialog a Types Stereotypes c corte c ta cta ces Java i Javate savas davat tary toeg teia g comment j case case readonly type nams multhabigity T or unspecified Union item comment case case readonly stereotype lt type gt name default declaration multiplicity or ab comment case case F readonly stereotypel lt F typel Fimultiplicity gt iname x probabiy a number Enumeration item name comment default declaration Get operation i foet_S mamep EE n name E r default definition iger S nama also in uml PSE T oneway name set_ name I also in uml Oar ator arta ament i ticneweyi f itype Pinas Fi Fi ti raieesni f raises ota or The tab Description allows to set a default description GenerationSettings dialog 5 Arne deim enor efit ererig GA a a rengo Attribute default Drawing The attributes are only drawn with their class in a class diagram here the drawing language is UML the full member definitions and the visibility are shown 114 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4
266. he diagram s elements with the current scale Picture Menu copy optimal picture part Copy all the diagram elements equivalent to a optimal windows size followed by a copy visible picture part then a restore of the original windows size Picture Menu copy visible part Put the visible part of the current diagram in the clipboard copy it is a screen copy the current scale have impact on the picture quality It is also possible to print all not only the visible part the current diagram on printer or a file through the button Picture Menu save optimal picture part To save all the diagram elements in a file equivalent to a optimal windows size followed by a save visible picture part then a restore of the original windows size Picture Menu save visible picture part 318 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html To save the visible part of the current diagram in a file it is a screen copy the current scale have impact on the picture quality Picture Menu set preferred size and scale To memorize the current diagram sub window size and the current scale These ones will be used the next time the diagram will be opened Picture Menu set preferred scale To memorize the current scale These one will be used the next time the diagram will be opened Picture Menu restore preferred size and scale In case a preferred sub window size and preferred scale was set follow them Picture Menu
267. he special case where the class is declared external its Python type declaration must contains a line indicating how the name of the class is generated and followed by an optional line giving the needed import forms By default the specification of the name is name meaning that the name is produced unchanged the only allowed keywords are name Name and NAME Operation The Python definition of an operation is set through the Uml and Python tabs of the operation dialog In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Python code generator are e is replaced by the decorators don t use decorator to produce staticmethod and abstractmethod see static and f abstract bellow o comment is replaced by the description of the operation adding at the beginning of each line and forcing a newline at the end Produc nothing when the description is empty description is replaced by the operation description without adding Produce nothing when the description is empty static is replaced by staticmethod followed by a newline if the method is declared static in the UML tab else an empty string abstract is replaced by abstractmethod followed by a newline if the method is declared abstract in the UML tab else an empty string name is replaced by the name of the operation G_ and produce and but there are also a mark for BOUML to find the pa
268. her one and in collision with the package at the beginning of the move are also moved If you want to also move the connected elements do a very short move for instance use the keyboard arrows to do a move and its opposite then ask for select linked items and restart the move Note contrarilly to the states when you resize a package the sub elements are not moved to stay 1n 1t A right mouse click on a package in a diagram calls the following menu 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html upper lower galt edit drawing settings select in browser set associated diagram remove from view delete from model tool k The drawing settings concerns only the picture for which the menu is called dagran or et name in tab default Package color default show contest default canei canei set associated diagram allows to automatically open the current diagram when a double mouse click is made on the package representation in a diagram o1 browser After that the only way to edit the package is to choose the edit entry in the menu Previous browser items Next use case views 33 of 402 17 02 2008 11 48 Use case view file E uml BOUML bouml_4 2 doc TOUT html A use case view may contain other use case views use cases actors classes class instances activities state machines use case diagrams object diagrams sequence diagrams and collaboration di
269. here are replaced by amp 0 and amp 13 In case these arguments are given the dialog doesn t appears this allows to export a project in XMI without any manual action These options may be set through the Tool setting dialog or when you ask to start a plug out when Bouml is lauched see here Previous State machine generator Next XMI import 365 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html XMI import The XMI import allows to import XMI 2 1 for UML 2 0 or 2 1 file The top level element in the XMI file must be a project or a package else nothing will be imported This plug out must be applied on the project itself or a package it asks for a file and import it at end the number of main imported elements is written This release doesn t look at the language indications and only define elements at UML level Previous XMI generator Next UML projection 366 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html UML projection This plug out projects the UML elements in the desired language setting the definitions declarations to their default value according to the generation settings like when you use the button default declaration definition in a dialog This plug out can be applied on the project a package a class view a class an operation an attribute or a relation and works recursively in case you ask for When you launch it the following dialog app
270. how a the class instance must be drawn you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level drawing mode default Write nametype horizontal ng ha 259 of 402 class instance color defaut ce 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html write class instance horizontaly To write the instance type and name on the same line or on two lines Message Menu Insert in model exit from model There are two kinds of class instances instances part of the model visible in the browser and pure graphic instances to not pollute the model with many useless instances The button A add or create an instance part of the model The button add or create a pure graphical instances But after that you are able to transform a pure graphical instance to a modeled one or to replac the drawing of a modeled instance by a pure graphic one the modeled class instance itself is unchanged Message Menu Replace it This entry appears on a pure graphical instance and allows to replace it by a modeled instance of the same class Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the diagrams Default stereotypes dialog amp age ey se Lerrtermorrisee class diagram PO Sslereotypes object diagram PN Stereotypes collaboration di
271. how all the picture as it is possible Because of the scrollbar management hitting several times on fit may give several scales Classically the left mouse click may be used to select an element or several when the control key is down a multiple selection may also be done defining a region using the mouse left click out of any element and moving the mouse with the click and maintaining the clic down The diagram s elements may be moved after a left mouse click on an element and maintaining the click down during the mous move The right mouse click is used to show context dependent menus control s is a shortcut to save the project 301 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html control a is a shortcut to select all the diagram s elements control d is a shortcut to delete the selected element s the model is affected suppr is a shortcut to remove the selected element s from the diagram these elements are not deleted control c is a shortcut to copy the selected diagram s elements control x is a shortcut to cut remove from view the selected diagram s elements control v is a shortcut to paste the selected diagram s elements control z and control u are a shortcut of undo control r and control y are a shortcut of redo the keyboard arrows allow to move the selected items You can define your own shortcut using the shortcut editor through the Miscellaneous menu When several diagram s elements are selecte
272. iagram Stereotypes component diagram stereotypes deployment diagram Stereatypes Drawing 234 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html key down ow af i enf t olla 3 gt 4 O scale 100 Mm l keyboards and pedalboards OS Cy an awell ron positiv C Aon pedal Pai is Fh organist key down A use case diagram may contain actors classes use cases packages fragment notes texts diagram icons subjects and the relations To place these elements in the diagram use the buttons on the top to create a new element or choose from the already defined ones tl click at the appropriate position in the diagram or grab the element from the browser into the diagram The scale may be changed from 30 up to 200 To allows to see the relation kinds even with a small scale the size of the arrows and oth unmodified fit allows to set the largest scale allowing to show all the picture as it is possible Because of the scrollbar management hitting several times on fit may give several scales Classically the left mouse click may be used to select an element or several when the control key is down a multiple selection may also be done defining a region using the mouse left click out of any element and moving the mouse with the click and maintaining the clic down The diagram s elements may be moved after a left mouse click on an element and maintaining the click d
273. iagram show E edit edit drawing settings duplicate delete mark CE Browser Menu show show allows to show the diagram picture and edit it in case it is not read only Browser Menu edit edit allows to show modify the diagram properties In case the diagram is read only the fields of the dialog are also read only object diagram dialog tab Uml 275 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Object diagram dialog is sleigh am ead Umi Properties name object Diagram Stereotype description Editar The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of a diagram doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Browser
274. ialog a np as he 9 eyo Maret iat aw vega epi piii w erect Ges activity contro node Stereotypes 201 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Drawing A activity control node is drawn in a diagram depending on its kind edit activity node select In browser select linked items remove from view delete from madel Previous activity object Next flow 202 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Flow We consider in this chapter both the control flows and the object flows there are not distinguished by a given flag but by their usage When you try to create a flow through a diagram Bouml checks the validity of the flow for instance you can t have a flow starting from an output pin but you may after edit the extremities of the flow producing an invalid case you are responsible of that perhaps the r consistent flow is temporary To add a flow you have to use an activity diagram obviously the diagram or the flow drawing may be deleted just after it is not possible to add a flow through the browser It is also not possible to move a flow out of its start or enc container in the browser In the browser are written the name of the flows by default lt lt flow gt gt the stereotype may be may be showed hidden through the Miscellaneous menu Boum home bruno uml EX activity activity prj Project Windows Jools Miscellaneous
275. iated to an enum empties the declaration manually or using the button not generated in C comment is replaced by the artifact description description is replaced by the artifact description without adding includes if all_includes is not used in the header definition it is replaced by the automatically generated include and using forms done by the C code generator not made by the dialog which produce a fixed form If all_includes is used in the header definition it is replaced by the include of the header It is also a good place to add your include and using forms the code generator does not look inside the bodies to compute the needed ones namespace_start is replaced by the namespace xx forms dependent on the namespace specifications associated to the package containing the deployment view where the artifact is defined members is replaced by the non inline members of the classes associated to the artifact namespace_end is replaced by the forms dependent on the namespace specifications associated to the package containing the deployment view where the artifact is defined The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Artifact dialog tab Java source This tab is only available for the source artifacts and allows to give the definition of the Java source file generated for the ar
276. ic var name value ithe name of the stop if if Reeds are trumpet cromorne if Flutes are bourdon rhorflote Result after if Principal are montre prestant PAO if Strings are viola unda maris substitution fi Mutation are nazard thierce if Compound are i mixture cornet Protected Sname xi Default declaration Mot generated in Php coca For an enumeration s item of course in the generated code is replaced by the rank of the item in the enum a Enum item dialog aS Um cH Java Php iai Properties const name ivalue l comment const Compound have more than one pipe souding per note Result after substitution f Default declaration Not generated in Php coe In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for Php supposing you do not modify the Php code generator When you push the button default declaration the form specified through the generation settings depending on the stereotype and multiplicity and of course the language is proposed this last may be modified as you want even to produce illegal source code When you do not want to have this attribute defined in Php empties the declaration manually or using the button not generated in Php It is possible to follow the visibility as it is set i
277. icity gt name numtEer multiplicity 1 comment visibility type namel aggregation defautt declaration in multiplicity E comment Sivisibil ity F stereotype lt itypel gt iname orab comment visibility stereotype lt typel multiplicity gt name multiplicity T ocmment case lease ireadonly type inamel Association and gr unspecifie aggregation default declaration in unban multiplicity comment case case readonly stereotype lt type gt name E comment case ease readonly stereotype lt type multiplicity gt name At least the third Id tab allows to specify the get and set operations specificities in Idl 92 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html al GenerationSettings dialog Siss si bsnl ai cert crete ceata cesta cers Javai Javaa Javea Javaj taty torte tarps fata fefe comment casa casga fireedcaly filtres f mam l T ve munich E weer lee E comitent cate cate ireadoniyi i Etereotypal lityp s Ficcmment cage ficase Fireadanly f stereotype lt titypel Fimult ip Pe ati he 1 H B or default definition name joet_ name aias Irs dita Set operation T oneway name set_ name also incumi default definition Operator drik liccement ticoewey Fitppei Fina F 101 i iraigeent Fireiees
278. ick on the edited note calls a dialog allowing some text manipulations thanks Qt A right mouse click on a note show the following menu Upper Lower Edit Cotor of text Font b Edit drawing settings select linked items Remove from view The font may be changed by default the font is the one used to write the other texts The color of the text may be changed a text is black by default Edit drawing settings allows to change the fill color Select linked items select all the items connected this the current one through any line in the previous picture this select all except the package the text upper diagram and the use case diagram icon Text Text is another way to write a text contrary to the note a text is written alone see upper diagram on the picture below by default a text contains blabla a text cannot be empty The edition of a text is done like for a note A text is resizeable a resize 1s not automatically done when the contains is modified A right mouse click on a text show the following menu 237 of 402 17 02 2008 11 48 238 of 402 file E uml BOUML boumlL 4 2 doc TOUT html Upper Lower Edit Color Font select linked items Remowe from view Diagram icon A diagram icon is a shortcut to a diagram this allows to quickly navigate through the diagram without limitation a actor or some othe item kinds may be associated to only one diagram The used icon indicates the
279. ieva 1 need update a a a as as a a i as es ls sa i i a l a a D abo aaa a aa a A a ae es y D lt a bruna 2 on bruno 2 bruna 2 bruna 2 bruno 2 bruna 2 e Package a JPackage Package Package a JPackages Package Package Packages e Packages ale Package amp JPackages a Packages Jo e en tmp am 1 file E uml BOUML bouml_4 2 doc TOUT html bruno a alain 4 bruno 2 bruno 2 Bruna 2 bruno 2 alain 4 A package is green when it is up to date in all the images It is orange when it must be updated this means that an other image has a version of this package and this new version is blue A new package is also in blue At least a deleted package is gray In the previo 388 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html picture packageS is blue because it is new it doesn t exist in home bruno uml pr and package is blue on the right because it was modified to add the sub package package5 Each time a new image of the project is load the colors are computed obviously it is not possible to load several times the same prc image Project synchro Project Style Help homeybrunclum Modified by T Package Package Package Package el Packages Package JPackage4 al Packages Cl i Packages BS jPackages a Package Cb fen Etmpl oi inei sre B Jiava lan
280. iew has an associated deployment view this feature allows to quickly associate an artifact to a class see class menu Menu edit 38 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html class view dialog lt 3 a He A Umi User name ari USER class view Stereotype component view AFI USER component view AFI USER your API classes modify them description Editor E The stereotype of a class view doesn t have a special meaning for BOUML As you can see the association with a deployment view is made through this menu The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu edit class settings Class Settings d acs default attributs visibility default default relations visibility default default operations visibility default Cancel This setting allows to set a default visibility at the UML
281. iew or through the component button of a deployment diagram Menus The node menu appearing with a right mouse click on its representation in the browser is something like these supposing the node not read only nor deleted see also menu in a diagram a Mode edit delete referenced by Menu edit edit allows to show modify the node properties In case the node is read only the fields of the dialog are also read only Node dialog tab Uml The tab Uml is a global tab independent of the language Node dialog iy ee om s name p Node Stereotype cpu description Editar OK Cancel The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu delete
282. ifie Association anc S comment visibllity static final trangient volatile stereotype name valuel aggregatian muttiplicity default or a_b declaration comment ivisibility static final transient volatile type multiplicity name value A probably a number 4 2 The third Java tab allows to specify the get and set operations specificities in Java 90 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html an GenerationSettings dialog ihe i S r a a aa ilk 2 Types Stereotypes cesti ceter ceata cta certs davaji Javare avata Javaj teiti ioa name fivaiwai Pi ccmmet f l ipubiio terig Final int Fires Fi Vaelue Enua panem tem Public stetic final Ficlase fimame new class i mame i aimait tiatirittien care 6 meme retum Enum pattem fem Taig ih Toe int Visibility y default definition e public protected C private package Ffir name get Name M also in uml Visibility public C protected private package I final I final parameter name set Name I also in umi Set operation default definition Ficcmmant 6 Fivieibilicy ifinail t jabet rect 1 eypachroan ised Ope atce Fibodyi The form in from of also in uml allows to specify the name of the operation in Java the same rule is followed in UML if also in uml is set The second Php tab allows
283. in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog 2 a ea a iai Umi behavior Bcl c Java Properties Fre condition Post condition Activity call operation action dialog tab Uml Activity Action dialog 8 ss cab ika Umil operation cl C dava Properties name faction stereotype description Editor 183 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Activity call operation action dialog tab Ocl The Ocl tab allows to specify the operation and the pre and post condition using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog amp Taal mip Umi operation Oel C Java Properties l synchronous aperation Pre conditian Post conditian The button operation shows a menu proposing e if the current operation is set to select this class in the browser e if the action is not read only and if an operation selected in the browser to set the operation to be the selected one e if the class is not read only to create an operation and to choose it Activity call operation action dialog tab C This tab allows to specify the pre and post condition in C but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog 2 neil PP ye Umi operation Gel C Javea Properties Fre
284. in old packages As I said it is possible to start the tool giving the project images in parameter for instance under Linux 390 of 402 Next Multi user considerations Previous Project control projectControl bruno uml pr pr prj tmp pr pr pr bruno pr pr prj rec irer 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Multi users considerations BOUML attributes an identifier to the main objects to resolve the references to the not already read objects when you load a projec identifier is establish during the object creation and will not change later to allow several users to work simultaneously on the same project this object identifier contains the identifier of the user creating the object This explains why BOUML ask you to have an own identifier between 2 and 127 defined through the environment variable BOUML_ID see Define an environment variable These identifiers are also used to name the files memorizing a project refer to Project files The plug out API define the UmlBaseltem supportFile to know whose file s support a given item Notes When it loads a project BOUML checks the write permission of the file done through the OS or the applicative permissio indicated inside the file In the browser the writable objects are written in bold When you load a project this one must be consistent else the references to the unknown items are removed and these unknown items are considered deleted
285. inal authors reputations Finally any free program is threatened constantly by software patents We wish to avoid the danger that redistributors of a free prograr will individually obtain patent licenses in effect making the program proprietary To prevent this we have made it clear that any patel must be licensed for everyone s free use or not licensed at all 397 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The precise terms and conditions for copying distribution and modification follow GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING DISTRIBUTION AND MODIFICATION 0 This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distribt under the terms of this General Public License The Program below refers to any such program or work and a work based on Program means either the Program or any derivative work under copyright law that is to say a work containing the Program or a portion of it either verbatim or with modifications and or translated into another language Hereinafter translation is included w limitation in the term modification Each licensee is addressed as you Activities other than copying distribution and modification are not covered by this License they are outside its scope The act of runnin the Program is not restricted and the output from the Program is covered only if its contents constitute
286. ince release 3 4 contextual body indent is not set when an operation is produced by a reverse to not alter the original indent The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted The edit body button is active when the definition contains body to edit it through the editor you want define the environment variable BOUML_EDITOR furthermore when you set add operation profile on body edition through the miscellaneous menu the form defining the operation in the editor is added at the beginning of the edited file Operation dialog tab Python This tab allows to give the Python definition of the operation it is visible only if Python is set through the Language menu 3 Operation dialoy 2 ic as ska Um c Jawa Python Properties S sistatic labstract def Sinmame i pOlh ipll Fip2 et docstring body Definition def html pfix rank level entry to produce the html code receiving chapter number path rank in the mother and level in the browser tree body Result after substitution gt F contextual body indent Edit body Default definition Not generated in Python Edit parameters Edit decorators coc In BOUML the generated code is obtained by the substitution of macros in a text only the Definition part is editable the other one help you to see what will be generate
287. ind eeReed ae Flute mePrincipal String Wa Mutation Compound EE Stop ainame Sillabel m ukind AA Keyboard Mestops In a class having the stereotype enum the attributes are renames item in the menus Menus The attribute menu appearing with a right mouse click on its representation in the browser is something like these supposing it is not read only nor deleted the second one is associated to an enumeration s item 97 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html edit add get operation add set operation add get and set operation edit duplicate duplicate delete mark tool Menu edit edit allows to show modify the properties of the attribute In case the attribute is read only the fields of the dialog are also read only Attribute dialog tab Uml The tab Umil is a global tab independent of the language For a standard attribute a Attribute dialog lt Pape ey ye Url c Java Php idi Properties class stop Organ name fee stereotype ype fing a aaaaaaa multiplicity Initial value Eta public protected private package l class attribute I volatile T read only the name of the stop description Reeds are trumpet cromorne Flutes are bourdon rhorficote Principal are montre prestant Edit Strings ar viola unda maris wl Mutation are nazard thierce saa Default
288. indow each time it cannot import something Previous genpro Next Plug out upgrade 370 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Plug out Upgrade When new features are introduced in BOUML these ones are not managed by your now old plus outs to automatically upgrade them the distribution of BOUML contains the upgrade plug out Its goal is to upgrade the plug outs not made from the last up to date version of the plug out empty adding the missing features It is applied through the entry plug out upgrade of the menu Tools this entry doesn t appears while a dialog is opened or when the project is not a plug out show Trace Window Cil4 T Generate C Crt Generate Java Chl J Generate idl Col Reverse C Reverse Java Java Catalog PIug out upgrade generate pro html java version btm C version Java catalog Tools settings import setings When it 1S applied the plug out ask you for a confirmation thus it adds the needed classes etc When all is done a new dialog appears for information and a save as is called asking you to save your plug out in a new location thus in all the cases the project is closed Previous Rose import Next C utilities 371 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html C Utilities Some utilities concerning C When it is applied to a class it allows to add specific operations not yet def
289. ined Te ry ae C utilities for the class Moteur the class doesn t have contructor l add constructor the class doesn have destructor M add destructor virtual add copy constructor with const argument l add copy constructor with non const argument the class doesn t have copy contructor M add assignment with const argument T add assignment with nan const argument the class doesn t have assignment operator The content of the dialog depend on the already defined operations Previous Plug out upgrade Next Use case wizard 372 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Use case wizard A very simple plug out defined in C and Java both like the HTML code generator to extend use case features When it is applied to a use case it allows to specify through text a summary context pre conditions description port conditions exception Properties of the use case key down 5 7 SUMFENY Context Pre Conditions Description Fost Conditions Exceptions The summary of the use case key down Don t hesitate to modify this plug out saving it output of the Bouml installation directory to not loose your modifications on a futuri Boum installation for your own purposes Previous C utilities Next File control 373 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html File control A very simple plug out defined in C to con
290. ing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a class in a diagram all the settings are set to default a Diagram Drawing Settings dialog drawing language drawing mode show context ag hide attributes hide operations show members full definition show members visibility show members stereotype show attributes muttipilcity show attributes initialisatian foetan oere oeron aereu foeren foeta foeren class color defaut members mac width snow parameter direction show parameter name HE show Information note drawing language 72 of 402 17 02 2008 11 48 73 of 402 file E uml BOUML boumlL 4 2 doc TOUT html Allows to choose how the operations and attributes of the class must be written in case show full members definition is true at the class level or an upper level this may hide an operation or an attribute when it is not defined for the chosen language For instance the class C has the attribute a having the type uchar supposed translated unsigned char in C char in Java and octet in Idl the operation op returning an uchar and having the input parameter p having the type uchar and only in Idl a second out parameter p2 of the same type The C picture is depending on the drawing language language
291. inition except for the pre processor commands beginning by whose are placed at the beginning of the line An attribute may be a standard attribute or the item of an enumeration standard attribute In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the C code generator are e comment is replaced by the description of the attribute adding e description is replaced by the attribute description without adding o static produce static when the attribute is a class attribute see the UML tab o mutable produce mutable when the attribute is mutable e volatile produce volatile when the attribute is volatile e const produce const when the attribute is const see the UML tab o type is replaced by the type of the attribute see the UML tab e stereotype is replaced by the translation in C of the relation s stereotype see the UML tab e multiplicity is replaced by the multiplicity of the relation see the UML tab must be used in case the multiplicity is a vector or arra dimensioning and are added when they are not present e name is replaced by the attribute s name see the UML tab e value is replaced by the initial value of the static attribute in the definition part generated in the source file see the UML tab 329 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html value and h_value are exclusive e h_val
292. io reself lt unidirectional associati BESC escl unidirectional associa Ec After the duplication of C into the new class C3 Project Windows Jools Miscellaneous Help eH auo ww El elone FaClass view ElDiagram BCI waat mop ti lt colist gt gt the cs cunidirectioa reself lt unidirectional associati Bese escl lt unidirectional associa Bcz oA c3 waat Dop t eeljst gt gt the_czs cunidirectio reself lt unidirectional associati a s e 1 lt unidirectional associa ae Note that the duplication of the relation c of C3 SC is still a relation to C1 because only the self relation are specially managed not all the relation to the duplicated class the context of the inner class es SC is visible thanks to the drawing setting show context and also to the inner class relation Menu create source artifact The menu entry create source artifact is present when the class does not have an associated artifact but the class view containing the class have an associated deployment view Choosing this entry a new artifact having the name of the current class and the stereotype source is created in the deployment view associated to the class view containing the current class To quickly create is needed the associated deployment view and associate an artifact to all the classes of a class view use the plug out deploy 65 of 402 17 02 2008 11 48 66 of 402 file E uml BOUML boumlL 4
293. ions working recursively from the browser element on which it is applied When you change default definitions or declarations in the generation settings these changes are not propagated in the already existing elements to not broke them This plug out allows you to apply these changes if needed on a controlled way This plug out may be applied on a package including the project itself class view deployment view or a class and works through this dialog global_change ap a ae Fillte rs _ i_ _o Mm oee i Aj_ _q4_ i gt y gt y gt 4 gt gt _ gt ow gt y gt w gt wYVY gt VVYVy x x xccxc i amp with without and C of fitter 2 E with without E and or filter 3 with without Stereotype any is is not rT Targets l artifact l class l operation l atribute relation Languages ARRANpNMN AAA_ _ _ _ s _ _ l C r Java M Php M idl The filters are optional are allow to not do the change on all the potential definitions and declarations An empty filter is ignored else a filter may be used to consider the forms containing it with is set or not containing it without is set When you have several filters you may conjugate them with and or or the priority of and and or are the standard ones like in C Java or Php In case you have one filter you must use filter 1 In case you have two filters you must use filter 1 and 2 It is also possible t
294. is select all except the package the text upper diagram and the use case diagram icon Text Text is another way to write a text contrary to the note a text is written alone see upper diagram on the picture below by default a text contains blabla a text cannot be empty The edition of a text is done like for a note A text is resizeable a resize 1s not automatically done when the contains is modified A right mouse click on a text show the following menu Upper Lower Edit Colar Font select linked tems Remove from view Diagram icon A diagram icon is a shortcut to a diagram this allows to quickly navigate through the diagram without limitation a actor or some othe item kinds may be associated to only one diagram The used icon indicates the diagram kind but its name is not written A double mouse left click on a diagram icon opens the diagram the open entry of the diagram icon menu does the same thing A right mouse click on a diagram icon show the following menu upper lower open select diagram in browser select linked Items remove from view The other diagram s elements have an own chapter refer to them Previous component diagram Next C generator 324 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html C Generator The C code generator is a plug out directly written in C the C code generator does not gen
295. is the key of this property The property if searched first for the class if not found for the container of the class an other class of a class view etc Operation The Id definition of an operation is set through the Uml and Idl tabs of the operation dialog The indentation of the first line of the declaration definition give the indentation added to the class definition for all the operatior definition In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Idl code generator are e comment is replaced by the description of the operation adding e description is replaced by the operation description without adding o oneway produce oneway when the operation is oneway e type is replaced by the value type see the UML tab e name is replaced by the name of the operation e and produce and but there are also a mark for BOUML to find the parameters list o t lt n gt and p lt n gt produce the type and the name of each parameter count from 0 this allows you to remove a parameter etc e raise is replaced by the form raise when at least an exception is defined in the UML tab e f raisenl produce a line break when the operation have exception In case you do not like this notation change the generation settings to remove this macro e xyz is replaced by the user property value in case xyz is the key of this property The propert
296. ith a right mouse click on its representation in the browser is something like these supposing the state not read only nor deleted see also menu in a diagram new state diagram add submachine add state add region edit duplicate delete referenced by mark tool Menu add tool AN new state diagram add nested state add region edit duplicate extract it rom ReadAmount delete referenced by mark These entries of the menu allow to add a state diagram a sub state or a region the sub machine will have the stereotype submachine The state diagrams nested in a state are the ones for the state this means that in case you use this state diagram to create a new state or pseudo state these ones will be a child of the state in the browser Menu edit 142 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html edit allows to show modify the state properties In case the state is read only the fields of the dialog are also read only State dialog tab Uml The tab Umil is a global tab State dialog Sie ab ob ails Umi oct cH Java User name ReasAmount stereotype machine description Editor The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The editor button visible above and associated here to th
297. ke this i Attribute dialog 2 mip Umil C Jawa idi Properties class Keyboard Organ name kea o Stereotype Fy type eses a miultinticlty Ol Initial value OO m public protected C private C package class attribute l volatile read only description Editor constraint Editor the C generated code will be the desired one but if you rename the class Stop the type of the attribute stops will not be updated Furthermore the C code generator will not see the usage of the type Stop and will not automatically generate class declaration and include form for it The good way may be e to say that stops is a Stop and modify the attribute definition in C to have a vector e to set the stereotype to vector and the multiplicity to e but the right way here is to use a relation with the stereotype vector and the multiplicity because Stop is a class The proposed stereotypes are the default ones specified through the Default stereotypes dialog more the current one empty here It is 99 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html possible to choose into the list or to give a new one or to empty it The stereotype of an attribute does not have special meaning f BOUML The initial value give the default value of the generated attribute s in C it is taken into account only when the attribute is a class attribute or enumeration item By default the generated form i
298. laration definition except for the pre processor forms beginning by whose are placed at the beginning of the line In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the C code generator are e comment is replaced by the description of the operation adding e description is replaced by the operation description without adding e static produce static when the operation is a class operation see the UML tab e const produce const when the operation is const e volatile produce volatile when the operation is volatile e friend produce friend when the operation is friend e virtual produce virtual when the oprration is virtual o finline produce inline when the operation is inline o type is replaced by the returned value type see the UML tab e name is replaced by the operation s name e class is replaced by the name of the class containing the operation e and produce and but there are also a mark for BOUML to find the parameters list e abstract produce the string 0 when the operation is abstract see the UML tab e staticnl produce a line break when the operation is static else an empty string e t lt n gt and p lt n gt produce the type and the name of each parameter count from Q this allows you to remove a parameter add type modifiers etc e throw is replaced by the form throw when at least an exception is defined in
299. lass pictures moved etc 95 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html show information note TO ask Bouml to write the relation s constraint in the note attached to the class except if this setting is set to false on the class or when you ask for hide at least relation s constraint Previous class Next attribute 96 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Attribute Contrarily to the relations there is no restriction concerning the types of the attributes whose may be a class or an int for instance An attribute is created through the class menu called from the browser or a class picture in a class diagram UmlAttribute BOG BUTT ark oer wher 0 em Oe Cea ad eta member r t Guile ate we emeesde coerce or d UmlAttribute et chewing sings Paia ae a l ely edit class aod attribut at eter PS Seer atic Got cone aiir i HERRA m mh oak imoa anise Heet hom ware Hippie Fgm gi gere ate i The icon in the browser indicates if an attribute is public protected private or package The protected and package visibilities are translated in private in Idl The package visibility is translated in private in C A class attribute is underlined It is possible to move an attribute from a class into an other using the drag and drop or the marked items capabilities see browser items EA lt lt enum gt StopK
300. lds of the dialog are also read only parameter dialog tab Uml The tab Uml is a global tab 158 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Parameter dialog a i a pea Umi oct cH Java Properties name e parameter stereotype type direction nou mutiptcty ordering unordered efect none e in state default value Ecitor l ls control T unique standard exception stream description Edit r The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The proposed types are the non class types defined in the first tab of the generation settings more all the classes defined in the project with their localization to distinguish synonymous classes You are not limited to the proposed list and any form even invalid for th target language s may be given The button type shows a menu proposing e if the current type of the parameter is a class to select this class in the browser e if the parameter is not read only and if a class is selected in the browser to set the type to be this class The direction multiplicity ordering effect in state default value is control unique exception and stream are the standard UML properties The flags exception and stream are exclusive choose sta
301. le E uml BOUML boumlL 4 2 doc TOUT html The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Component dialog tab Required classes This tab allows to specify the list of interface the component requires a component dialog aah a il Umi Required classes Provided classes Realizing classes Properties Stereotype filtering Avalable classes Required classes Orderablettem When a component C contains nested components it is useless to repeat the list of required interfaces at the level of C already defined b the sub components the right list will be provided when you will add or Component dialog tab Provided classes This tab allows to specify the list of interface the c
302. le To change the fragment s name choose the edit entry of its menu or double click on it A right mouse click on a note show the following menu Egit Add separator Edit drawing settings Remove from view Edit drawing settings allows to change the fill color Note 312 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html A note may contain any text a note is resizeable To change the text of a note choose the edit entry of its menu or double click on it this open a window containing the text close the window to end the edition a boumi 2 py se This note is under edition A right click on the edited note calls a dialog allowing some text manipulations thanks Qt A right mouse click on a note show the following menu Color of text Font b Edit drawing settings select linked items Remove from view The font may be changed by default the font is the one used to write the other texts The color of the text may be changed a text is black by default Edit drawing settings allows to change the fill color Select linked items select all the items connected this the current one through any line in the previous picture this select all except the package the text upper diagram and the use case diagram icon Text Text is another way to write a text contrary to the note a text is written alone see upper diagram on the picture below by default a tex
303. le zi htl D I THECPP 0 WITHIDL VO UWITHJAMAS YO UOT DLL D General Debug CAC Link Resource Category General bi Reset Output file name Ez elease ghtml exe Objectlibrary modules 321b HOTDOIRANibsgt mt230nc lib 07 DIR Mibsgtmain lib Generate debug info Ignore all default libraries M Link incrementally Generate maptile Enable profiling Project Options kemel2 lib users lib gdise lib winspool lib hcomdlg sz lib advapise lib shells lib ole se lib holeauts2 lib uuid lib odbese lib odbecp sy lib To apply moc on a header Edit the settings of the file in the following order e use custom build step 382 of 402 17 02 2008 11 48 383 of 402 Project Settings Settings For wing Release General B aDirection h anther ind A aRelationk ind h aVisibility h lassGlobalCmd h mdF amily h ppSethings h ppSethingsCmd h IdiSettings h IdiSettingsCrmd h B JayvaSettings A B JavaSettingsCrmd h MiscGlobalCmd h Z OnlnstanceCrmd h E PackageGlobalCmd h C C C C E E E E LE s EZ E e set Output to InputDir moc_ InputName cpp IY Always use custom build step Exclude file from build hal percocet Output directories Intermediate files Custom Build file E uml BOUML boumlL 4 2 doc TOUT html Release Cancel e set Commands to qtdir bin moc exe InputDir InputName h o InputDir moc_ nputName cpp
304. lection except if you ask to not show it A right mouse click on a activity object in a diagram calls the following menu supposing the activity object editable upper lower edit drawing settings edit activity object select in browser select class in browser Select linked items set associated diagram remove from view delete from madel Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called 198 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a activity object in a diagram all the settings are set to default Diagram Drawing Se acesesla 4 Diagram Drawing Seno ua diagram coir diagram color Wwhte name hype default horizontally show information note default drawing language default Cancel Cancel class instance color default write name type horizontally usefull when the object has a name and a type to write them on the same line of on two lines show information note to show or not the selection drawing language Allows to specify the used language showing the expression Class instance color To specify the fill color Menu tools Appears only when at least on
305. les in the specified directory del_css optional to replace the file style css if it already exists in the specified directory do not use this option if you have your own styles Of course in all the cases style css is created if it doesn t exist In case the generated files directory is specified the dialogs don t appears this allows to generate the HTML documentation without manual action These options may be set through the Tool setting dialog or when you ask to start a plug out when Bouml is lauched see here Previous XMI import Next genpro 368 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Genpro pro generator genpro is an other example of plug out developed with BOUML its goal is to generate the pro file used by gmake or tmake to produce the Makefile of a C program using Qt for instance a plug out genpro has itself a graphical interface implemented thanks to Qt when it is applied on a artifact stereotyped executable the following window appears here it is applied on the gpro executable artifact itself the C generation directory is tmp gpro pro fle target template config Wwarn_on al defines WITHCPP WITHJAVA WITHIDL include paths compute depend paths objects dir browse Cancel By default the pro file is produced in the directory where the executable is made the executable s name is the artifact s name except when this leas
306. line of the declaration definition give the indentation added to the class definition for all the operatior definition In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Php code generator are e comment is replaced by the description of the operation adding e description is replaced by the operation description without adding e visibility produce the visibility see the UML tab except if the visibility is package use this case to produce Php4 code e static produce static when the operation is a class operation see the UML tab e final produce an empty string when the check box final is not checked else produce final e abstract produce abstract when the operation is abstract see the UML tab e name is replaced by the name of the operation o and produce and but there are also a mark for BOUML to find the parameters list e t lt n gt and p lt n gt produce the type and the name of each parameter count from 0 this allows you to remove a parameter etc e staticnl produce a line break when the operation is static else an empty string In case you do not like this notation change the generation settings to remove this macro e body is replaced by the body of the operation this macro may also be replaced by the body itself BOUML use this way for the get and set operations associated to a relation attribute The usage of bod
307. lity produce the visibility see the UML tab e final produce final when ye operation is specified final e static produce static when the operation is a class operation see the UML tab e fabstract produce abstract when the operation is abstract see the UML tab e synchronized produce synchronized when the operation is synchronized o type is replaced by the value type see the UML tab e name is replaced by the name of the operation o and produce and but there are also a mark for BOUML to find the parameters list e t lt n gt and p lt n gt produce the type and the name of each parameter count from 0 this allows you to remove a parameter etc e throws is replaced by the form throws when at least an exception is defined in the UML tab e staticnl produce a line break when the operation is static else an empty string In case you do not like this notation change the generation settings to remove this macro e body is replaced by the body of the operation this macro may also be replaced by the body itself BOUML use this way for the get and set operations associated to a relation attribute The usage of body has a great advantage when you hit Default definition the body is not cleared At least BOUML share the definition forms of the operations and other objects to minimize the ne memory size body help for this The indentation of the keyword body is added at the beginning
308. llaboration diagram CO stereotypes sequence diagram CO Ssterectypes use case diagram o Stereotypes state diagram stereotypes activity diagram Stereotypes component diagram Stereotypes deployment diagram stereotypes Drawing a Deployment Diagram 321 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Diagram Faf x eaif BS Fl A ola pol a ary et tn a od Es scale TOO 2 nt Soe NS scat ft fem dyriapic Tec celibrary gt gt lib a Ne ig fo g lt lt 50urce gt gt i lt lt SOUrce gt gt bhi ca A deployment diagram may contain deployment node network line network connexion component fragment notes texts diagram icons and the relations To place these elements in the diagram use the buttons on the top to create a new element or choose from the already defined ones tl click at the appropriate position in the diagram or grab the element from the browser into the diagram The network lines may connect deployment nodes and or network connexion The network connexions represented by small squares allows to have network lines out of deployment node as it is the case in the picture above The scale may be changed from 30 up to 200 To allows to see the relation kinds even with a small scale the size of the arrows is unmodified fit allows to set the largest scale allowing to show all the picture as it is possible Because of the scrollbar man
309. llowed obviously this one may also be default up to the project level When you add a node in a diagram all the settings are set to default Settings skak yeis nade jiji default horzontaly Node color write node instance horizontally Allows to write the the node type and the instance name on the same line see host below or on two lines see laserwriter below Menu select linked items To select all the items connected by one or several lines whatever the line represent relation anchor help to quickly select them for a moving etc Menu set associated diagram set associated diagram allows to automatically open the current diagram when a double mouse click is made on the node representation in a diagram or th browser After that the only way to edit the node is to choose the edit entry in the menu Previous artifact Next use case diagram 229 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Use case diagram key down waf ean oll oPl gt O ek scale 100 fit d keyboards and pedalboards organist key down The use case diagrams may be placed in a use case view or a use case 5 Faexternal events H Overall E Cokey down Fakey down A use case diagram is created through the new use case diagram entry of the use case view and use case browser menus Browser Menu The node menu appearing with a right mouse click on its repre
310. llowing to set the default stereotypes has a tab reserved for the diagrams Default stereotypes dialog 2 sling bt be class diagram SG stereotypes object diagram P stereotypes collaboration diagram PO stereotypes Sequence diagram Oe Sterectypes use case diagram PO Stereotypes state diagram Sslereotypes activity diagram Stereotypes component diagram stereotypes deployment dagrar Sterentypes Drawing Object Diagram An object diagram may contain classes instances notes texts diagram icons packages fragment and links To place these elements in the diagram use the buttons on the top to create a new element or choose from the already defined ones tl click at the appropriate position in the diagram or grab the element from the browser into the diagram To show a relation between two class instances add a link between the instance then edit the link through a double click or through a right mouse click 281 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The scale may be changed from 30 up to 200 To allows to see the relation kinds even with a small scale the size of the arrows is unmodified fit allows to set the largest scale allowing to show all the picture as it is possible Because of the scrollbar management hitting several times on fit may give several scales Classically the left mouse click may be used to select an element or several when th
311. ls position To ask BOUML to move or to not move the associated labels on the relations in a diagram when the relation is edited or 1 connected items are moved etc Browser Menu duplicate Clone the diagram in a new one Browser Menu delete The delete entry is only present when the diagram is not read only Delete the diagram and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Browser Menu tools The menu entry tool 1S only present in case at least a plug out may be applied on the diagram The selected tool is called and applied on the current diagram Picture menu The diagram menu appearing with a right mouse click out off any item in the diagram picture is something like these supposing th diagram not read only Use case diagram menu Edit drawing settings Select diagram in browser Select all Ctri a Find selected browser element Copy optimal picture pert Copy visible picture part Save optimal picture part png Save visible picture part png Save optimal picture part svg Save visible picture part svg Optimal scale Optimal window size Set preferred size and scale set preferred scale size unset Restore oreferred size and scale Unset prefered size and scale Format t Unda all changes Picture Menu edit drawing settings see e
312. lug out does not see the new value until it unload an operation defined on UmlBaseltem the object then ask for the value A class is defined with operations attributes but the C Java Idl generator doesn t generate it The class doesn t have an associated artifact or the class artifact is not defined for the language Note that a defauli definition set through the generation settings may be done at the creation for each language if you ask for it through the Languages menu I cannot edit a browser item the edit menu entry or button does not appear you do not have the write permission for the associated files or the item is a system item supporting the plug out API It is also not possible to edit delete a class when an other item is already edited I use a multiple monitor side by side configuration and the dialogs are placed partially on each The environment variable BOUML_LIMIT_DESKTOP is for you This optional variable allows to specify a sub part of all the desktop its value must be x0 y0 x y without any spaces where x0 y0 specify the top left corner and x y the bottom right corner These limits are taken into account only for the initial size and position of the BOUML s windows and when a dialog is opened after that you are able to go out of these limits up to the true desktop limits After editing a description or other part the font is modified or several characters are replaced by a space During
313. maintaining the clic down The diagram s elements may be moved after a left mouse click on an element and maintaining the click down during the mous move The right mouse click is used to show context dependent menus control s is a shortcut to save the project control a is a shortcut to select all the diagram s elements control d is a shortcut to delete the selected element s the model is affected suppr is a shortcut to remove the selected element s from the diagram these elements are not deleted control c is a shortcut to copy the selected diagram s elements control x is a shortcut to cut remove from view the selected diagram s elements control v is a shortcut to paste the selected diagram s elements control z and control u are a shortcut of undo control r and control y are a shortcut of redo the keyboard arrows allow to move the selected items You can define your own shortcut using the shortcut editor through the Miscellaneous menu When several diagram s elements are selected the menu appearing on a left mouse click allows to align them 261 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Multiple selection menu select linked items DE align top copy selected Ctri c o align bottom cut selected Ctrl x remove from vlew E align left remove selected from view Suppri align right delete selected Control d align center F align center verticaly ge align center horizontaly If all
314. mall rectangle on the top note a transparent package doesn t have shadow e show classes and packages context To indicate if the context where the class package is defined must be written and if yes how The context may be the UM context which is the path of the class package in the browser or the C namespace or the Java package or the Python package or at least the Idl module See class context and package context e automatic labels position To ask BOUML to move or to not move the associated labels on the relations in a diagram when the relation is edited or 1 associated class pictures moved etc Browser Menu duplicate Clone the diagram in a new one Browser Menu delete The delete entry is only present when the diagram is not read only Delete the diagram and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Browser Menu tools The menu entry tool iS only present in case at least a plug out may be applied on the diagram The selected tool is called and applied on the current diagram Picture menu The diagram menu appearing with a right mouse click out off any item in the diagram picture is something like these supposing th diagram not read only 267 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Class diagram menu Edit
315. me is replaced by the name of the operation and produce and but there are also a mark for BOUML to find the parameters list t lt n gt and p lt n gt produce the type and the name of each parameter count from 0 this allows you to remove a parameter add type modifiers etc raise is replaced by the form raise when at least an exception is defined in the UML tab raisenl produce a line break when the operation have exception else an empty string In case you do not like this notation change the generation settings to remove this macro The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Menu duplicate The menu entry duplicate clone the operation Menu delete The menu entry delete is only present when the operation is not read only Delete the operation and all its representation in the diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Menu tools Appears only when at least one plug out is associated to the operations To apply a plug out on the operation Generation settings This very important dialog allows to specify many default definitions concerning the operations more details will be given in C generator Java generator Php generator and Id generato
316. me container using the left button of the mouse as for a drag amp drop it is possible to move an item to place it in an other container except for the relations or to change the items order The drag amp drop from the browser to an opened diagram is also possible when it is legal When you drag an item it on a non container item it2 it will be placed just after it2 at the same level When you drag an item it on a container item it2 which may contain itl it will be the first it2 s children in case it may be moved in it2 or after it2 Bouml ask you to choose Multiple selection is not allowed in the browser using the classical way I consider that it is to simple to loose a multiple selection through a wrong mouse click I replace classical multiple selection with the possibility to mark browser items through the menu appearing on a right mouse click or through a control left mouse click Marked items are written on a red background and may be moved or duplic under condition Use Case Diagram SiSequence Diagram FalCollaboration Diagram ean Sub Use Case View BPaClass view Sub Use Case View HBHAClass ElClass Diagram HlSequence Diagram new use case diagram hew sequence diagram FalCollaboration Diagram new collaboration diagram 2 fiComponent view new use case 2 component RE EAE Component Diagram A Deployment view NEw Grasso OlNede new Sub USe case view EADeployment Diagram edit edit drawing setting
317. me of them recursively or not see edit Message Menu edit drawing settings 258 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html This dialog allows to specify how the operation message must be drawn you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level drawing language show operations full definition show hierarchical rank write nametype horizontally packages name in tab show package context Craw all relations draw shadow see operation drawing language and show full operation definition Message Menu select linked items default default WE EE EE oetan default default default 7 default default Select linked items select all the items connected this the current one through any line amp Class instance Menu The menu appearing with a right mouse click on a class instance is something like these supposing the diagram not read only great Keyboard Upper Lower Edit drawing settings Edit select class in browser Select linked items Replace it Remove from view Message Menu edit drawing settings swell Keyboard Upper Lower Edit drawing settings Edit Select in browser elect class in browser Select linked tems Remove from view Delete from model This dialog allows to specify
318. ment s The available commands are proposed on a mouse click in the column command their correspond to the menu entries In the previous picture you see the default shortcuts The second tab allows to define shortcuts to apply a plug out short dialog dill JA Commana oa Here are the shortcuts to call a tool plug aout ee do A plug out is specified by its display specified through the plug out editor The available plug outs are proposed on a mouse click in the column tool display Icons bar le Se ti These buttons allow to 10 of 402 17 02 2008 11 48 11 of 402 file E uml BOUML boumlL 4 2 doc TOUT html e open a project e save the current project e print the active diagram a first menu appears to choose the printer or print in a file ans set properties then a second dialog ask you to print the diagram on 1 4 or 9 pages e search for an element through its name and may be its kins or to search for a string in the declarations definitions or operation bodies w MMII a Browser search lt 3 F7 Kind lt Ary gt Cantaining l case sensitive l even deleted name C description declaratlor definition body e navigate in the historic of the last selected elements in the browser e describe the behavior of a button or a menu entry for that hit the button then the desired button or select a menu entry a short description will be given When you maintain the mouse on
319. ments compatible Java Doc or Doxygen for instance Class dialog tab Parametrized The parametrized tab allows to specify the formals of a template generic class For instance with 55 of 402 17 02 2008 11 48 56 of 402 file E uml BOUML boumlL 4 2 doc TOUT html Class dialog lt gt makeaa ikai Umi Parametrized c Java iOL User Enter formals incase the class is parametrized Default value C Extends Javaj do if the class have the default proposed class definition the C class definition named Dict is template lt class V class K string gt class Dict Class dialog tab Instantiate The instantiate tab allows to specify the actual of a class inheriting templates classes It appears only when the edited class inherits or realizes at least a template class Obviously a template class may inherit another ones For instance with this definition of Dict Class dialog lt 9 Py Ie ml Parametrizec c Java IBL User Diagram Me x Enter formals in case the class is parametrized Default value C Extends Java do string string if the class have the default proposed class definition the C class definition of theredheaded is class theredheaded public Dict lt string string gt the Java class definition is class theredheaded extends Dict lt String String gt When the class theredheaded is edited only the actuals are editable in the tab Inst
320. meters the default argument passing enumeration s item and an argument whose type is not one of the types defined in the first tab and if a throw must be generated when the operation does not have exception They are visible only if C is set through the menu Languages W GenerationSettings dialog spim gt ea Seta drign Sa ma ar Mamu air sa Default type forms for the enums ventile pbk protected pire wreknlty a mlie protected pi Same talus sit type PH Default type forms tar the types not given in the first tab Operation default declaration Operation default definition ig param output itvpe parameter e typel param comment staticl virtual itype name ioonst volatile labstract S inline typel class body mea nire com wake F cow Sofia agra M nie comet pare F by commer eter eter sityper amp itype 4 re naag jeet nate Input Oupte Type a parameter typel parameter itype namel 1718 const volatile staticn1 operation itype t AEE itype ached Ts t e itype M eee mh uni eee in weil The second Java tab allows to set the default operation definition without the parameters in Java it is visible only if Java is set througk the menu Languages 127 of 402 17 02 2008 11
321. montre prestant EREE h Strings are viola unda m ris substitution Mutation are nazard thierce Compound are mixture cornet self name None zi Default declaration Not generated in Python For a standard attribute with a multiplicity not equal to 1 a Attribute dialog 3 Umil C Java Pho Python idi Properties comment self iname sterectype Declaration self stops listi Result ater substitution Default declaration Not generated in Python cue For an enumeration s item of course in the generated code is replaced by the rank of the item in the enum 105 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a7 Enum item dialog ET oP ey ee Lm c Java Php Python ia Properties comment self iname value Declaration Principal Result after substitution Default declaration Not generated in Python coe In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for Python supposing you do not modify the Python code generator When you push the button default declaration the form specified through the generation settings depending on the stereotype and multiplicity and of course the language is proposed this last may be modified as you want ev
322. mponent level An artifact may contains e relations Refer to artifact for more information Node To specify how the deployment is made a node may represent a CPU a device etc 19 of 402 17 02 2008 11 48 20 of 402 Refer to node for more information Use case diagram Refer to use case diagram for more information Sequence diagram Refer to sequence diagram for more information Collaboration diagram Refer to collaboration diagram for more information Class diagram Refer to class diagram for more information Activity diagram Refer to activity diagram for more information State diagram Refer to state diagram for more information Object diagram Refer to object diagram for more information Component diagram Refer to component diagram for more information Deployment diagram Refer to deployment diagram for more information file E uml BOUML boumlL 4 2 doc TOUT html Previous top level menus Next package 17 02 2008 11 48 Package file E uml BOUML boumlL 4 2 doc TOUT html A Package is first something like a directory and may contain other packages use case views class views component views and deployment views and dependencies in any order B Package a fase Case View FaClass view af Component view a Deployment view a subPackagel lt dependency gt other Package A package allows also to indicate where the code must be produced by the generator
323. ms Activities Others class stereotypes iii actor auxiliary boundary control entity enum enum_pattiem exception focus Implementation class interlace interiace metacla As you can see it is possible to set a default stereotypes list for the classes and all the relations between classes The code generators does not distinguish the generalization and the realization even they do not have the same meaning in UML Generation settings This very important dialog allows to specify many default definitions concerning the classes more details will be given in C generator Java generator Php generator Python generator and Idl generator The tabs associated to a given language are only visible when the corresponding language is set through the Languages menu The tab Stereotypes allows to specify how the class s stereotypes are translated in each language 67 of 402 17 02 2008 11 48 68 of 402 Classes s stereotypes correspondence class class ignored Ignored H oou GenerationSettings dialog 45 Types Stereotypes c t1 Crvie csi cta ces davaji Savage savers tatty tae tai S comment template class name inherit 13 members i is inlines Class default declaration Struct default declaration Linton default declaration Enum default declaration Typedet default declaration Jade b ee comment enum name S item
324. n empty description is replaced by the artifact description without adding imports is replaced by import and from import forms from the dependencies between classes and between artifacts stereotyped import or from A dependency stereotyped import between artifact produces an import stereotyped from this produces a from import A dependency stereotyped import between classes produces an import stereotyped from this produces a form from import Or course the packages are taken into account You can also directly add import forms by hand in the artifact definition they will be taken into account to not produce useless package path when classe names will be generated definition is replaced by the definition of the classes associated to the artifact xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the artifact if not found for the deployment view containing the artifact if not found in the package containing the deployment view etc Class Bouml allows to define class for any releases of Python to help for Python 2 2 classes generation a toggle Python 2 2 is defined in each class its default value is set through the generation settings When Python 2 2 is set and a class doesn t inherit in the model the inheritance or object is automatically added The Python definition of a class is set through the Uml and Python tabs of the class dialog
325. n idl management and default declaration Verbose code generation Preserve operations s body Add operation profile on body edition The Languages menu allows to ask BOUML to produce or not a default definition declaration refer to the C generation Java generation Php generation Python generation and Id generation when a browser item is created and to select for which language dialogs shown through tabs This menu also allows to update or not the body of the operation during the code generation refer to the C generation Java generation Python generation and Php generation to produce or not the operation s profile when you edit an operation s body through an external editor refer to operation edition Miscellaneous menu 8 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Miscellaneaus p show stereotypes in browser Style k Font size b Diagram defaut forma Edit shortcuts Al Miscellaneous lv Show stereotypes in browser Styie A0 Landscape 41 Landscape Diagram default format A2 Landscape Edit shortcuts 43 Landscape A4 Landscape 45 Landscape Miscellaneous p Show stereotypes iin browser A Landscape hotif B Landscape Font size MotiPlus Diagram default format e Windows Landscape D Landscane Edit shortcuts E Landscape The Miscellaneous menu allows to show hide the stereotypes in the browser to c
326. n an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own 200 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu duplicate The menu entry duplicate clone the activity control node without its children Menu referenced by To know who reference the current activity control node through a transition Menu mark See mark Menu delete The menu entry delete is only present when the activity control node is not read only Delete the activity control node and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry tool is only present in case at least a plug out may be applied on a activity control node of this kind The selected tool is called and applied on the current activity control node Default stereotypes The dialog allowing to set the default stereotypes Default stereotypes d
327. n of the attribute stops may be 101 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Tee ae TI Umi C Java ici User Visibility follow uml protected public protected private comment static mitable volatile iconst vector lt typel gt name valuel Yector lt Stop gt stops Result after substitution Default declaration Not generated in C Refer to the generation settings and the C Generator for more details and explanation of the other keywords Attribute dialog tab Java This tab allows to give the Java definition of the attribute it is visible only when Java is set through the menu Languages For a standard attribute as you can see string is automatically translated into String thanks to the generation settings Attribute dialog 25 pempe or j Lim cre Java iat User M transient TS comment e visibility istatic final transient volatile type Siname value ithe name of the stop Reeds are trumpet cromorne Flutes are bourdon rhorflote Result after Principal are montre prestant substitutian Btrings are viola unda maris Mutation are nazard thierce Compound are mixture cornet protected String name For an enumeration s item Enum item dialog lt Lm Cre Java fiar User Si comment public static final int _ name value Bechara public static fi
328. n the UML Tab or to change it replacing visibility by the desired one to not generate the visibility set it to package static produce an empty string when the attribute is not an class attribute see the UML tab else produce static const produce an empty string when the attribute is not read only see the UML tab else produce const var produce var when the attribute is not read only nor static see the UML tab and the visibility is not package else produce an empty string name is replaced by the attribute s name see the UML tab value is replaced by the initial value of the attribute see the UML tab The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Refer to the generation settings and Php generator for more details and explanation of the other keywords 104 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Attribute dialog tab Python This tab allows to give the Python definition of the attribute it is visible only when Python is set through the menu Languages For a standard attribute without multiplicity or with the multiplicity 1 i Attribute dialog lt 3 ey IC Umil C Java Pho Python idi Properties comment self tname value tthe name of the stop Reeds are trumpet cromorne Flutes are y Bourdon rhorflote Result after Principal are
329. n used to mark its body changes during the import e The bodies under the model are not updated by the code generation use roundtrip body for that e Only the operations using the keyword body may have a preserved body 344 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e The only modification you can do in the lines containing the delimiters is the indent e The toggle is saved in the file associated to the project be sure the save is done when you change this toggle Attribute The Php definition of an attribute is set through the Uml and Php tabs of the attribute dialog The indentation of the first line of the definition give the indentation added to the class definition for all the attribute definition An attribute may be a standard attribute or the item of an enumeration defined through a class standard attribute In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Php code generator are e comment is replaced by the description of the attribute adding e description is replaced by the attribute description without adding o visibility produce the visibility see the UML tab except if the visibility is package use this case to produce Php4 code o static produce static when the attribute is a class attribute see the UML tab e const produce const when the attribute is read only see the UML tab e var produce var
330. nal class name new class _ name fhave more than one pipe souding per note Result ater public static final int _Compound substituton public static final StopKind Compound new StopKind _ Compound Default declaration Hot generated in Java 102 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for Java supposing you do not modify the Java code generator When you push the button default declaration the form specified through the generation settings is proposed this last may be modified as you want even to produce illegal source code When you do not want to have this attribute defined in Java empties the declaration manually or using the button not generated in Java It is possible to follow the visibility as it is set in the UML Tab or to change it replacing visibility by the desired one static produce an empty string when the attribute is not an class attribute see the UML tab else produce static final produce an empty string when the attribute is not read only see the UML tab else produce final transient produce an empty string when check box transient is not checked else produce transient volatile produce an empty string when the check box volatile is not checked else produce vol
331. nce the diagram was opened the last time Note that the diagram is restored independently of the the pr saving Obviously the deleted browser items was not restored Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the diagrams 290 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Default stereotypes dialog Stas Package ciass Usecase Artfact Views 0 class diagram stereotypes object diagram stereotypes Sequence diagram stereotypes use case diagram stereotypes state aes aky diagram Aamen deployment diagram Stereotypes Drawing lit recelver sgel dial tone Caller hangs up disconnect A state diagram may contain states packages fragment notes texts diagram icons pseudo states and the transitions To place these elements in the diagram use the buttons on the top to create a new element or choose from the already defined ones tl click at the appropriate position in the diagram or grab the element from the browser into the diagram Warning when you use the buttons to add a state or pseudo state and you click on a state drawing the new state will be nested in the other state In case you place the new state or pseudo state out of any state drawing the new one will be nested in state owning the diagram To add a new relation between states and pseudo states select the appropriate relation thro
332. nd may contain e packages use case views 14 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e class views e component views e deployment views e relations A package may indicate where the code must be produced by the generator for each language and may specify the C namespace Java package Idl module A generator producing code for an artifact looks at the package containing the deployment view where is the artifact to get these information Refer to package for more information Use case view A use case view may contain e sub use case view e use cases e classes an actor is just a class having the stereotype actor e class instances e states e activities e use case diagrams e object diagrams e sequence diagrams e collaboration diagrams Refer to use case view for more information Class view A class view is used to design the classes and may contain e classes e class instances e states e activities e class diagrams e object diagrams e sequence diagrams e collaboration diagrams Refer to class view for more information Ei Component view A component view may contains e components 15 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e component diagrams Refer to component view for more information I Deployment view A deployment view may contains e nodes e artifact e deployment diagrams Refer to deployment
333. ndard to be not exception nor stream The editor button visible above and associated here to the default value and description allows to edit the default value or the description in a window or to call an external editor for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which looks each second at the file contents to get the new definition until the dialog is closed I do not like ve much this polling but this works even QT isn t compiled with the thread support parameter dialog tab Ocl The Ocli tab allows to specify the selection using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention 159 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Parameter dialog selection parameter dialog tab C This tab allows to specify the selection in C but in fact BOUML doesn t check the syntax this is just a convention Parameter dialog selection parameter dialog tab Java This tab allows to specify the selection in Java but in fact BOUML doesn t check the syntax this is just a convention 160 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Parameter dialog 2 TET selection Menu duplicate The menu entry duplicate clone
334. nding on their definition under BOUML After while the toggle is set and the delimiters present the bodies will not change allowing you to modify them out of BOUML Notes e In case the file containing a body definition is not consistent with the artifact under BOUML the body will be regenerated by th code generation using its definition under the model 351 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e When you import a project the body of the imported operations must be the right one in the imported model The preserved bodies of the imported operations will not be find because the identifier of an operation used to mark its body changes during the import e The bodies under the model are not updated by the code generation use roundtrip body for that e Only the operations using the keyword body may have a preserved body e The only modification you can do in the lines containing the delimiters is the indent e The toggle is saved in the file associated to the project be sure the save is done when you change this toggle Attribute The Python definition of an attribute is set through the Uml and Python tabs of the attribute dialog An attribute may be a standard attribute or the item of an enumeration defined through a class The static attributes are produced in order directly in the class definition The instance attributes are produced at the beginning of operation __init__ when its definition
335. ngs directory directory Browse Browse package mt W Package dialog lt gt Lim cH Java Php IDL Properties The generation directory may be relative in case the root directory is speciied through the project menu entry edit generation settings directory Browse module OK Cancel When a directory specification is empty the generation is made in the directory specified through the last tab of the generation settings dialog As it is mentioned in the dialogs in case a root directory is specified through the generation settings dialog the directory specifications in the three dialogs above may be relative the directory ies used by the code generators will be the root directory collapsed with the appropriate relative directory This allows to move all the generated files changing only one path When a namespace java package python package module specification is empty the generated code will not be placed in a namespace package module else you have to specify the full namespace package module specification this allows to have a browser s package tree different than the namespaces packages modules imbrication For instance in case the C namespace is mynamespace the generated code will be placed in the namespace mynamespace In case the C namespace is mynamespace subnamespace subsubnamespace the generated code will be placed in the namespace subsubnamespace it
336. nheritance specified by the class s relations you just have to replace inherit by anything you want When you do not want to have this class defined in C but it must be defined in Java or Idl so the class must have an associated artifact empties the declaration manually or using the button not generated in C an other way is to empty the C definition of the artifact The external check box must be used when the class must not be defined in C by BOUML but you want to specify the name of the class to nc follow the Uml Java Idl name and or the included files and or using forms or any other forms needed to use it template produce a template declaration in case the class is a template class else an empty string members produce the declaration and definition of the class members relations attributes operations and extra members following the browser order and repartition in the header and source files inline produce the definition of the operations and extra members declared inline may be an empty string Refer to the generation settings for more details The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Class dialog tab Java This tab allows to give the Java definition of the class it is visible only when Java is set through the Languages menu Generic definition 17 02 2008 11 48 file E
337. nition having these to spaces unchanged the first filter must be set to lt space gt lt space gt body where lt space gt is a space character and you set without the other filters are empty set operation only set the right languages set current to body and new to lt space gt lt space gt body where lt space gt is a space character press Replace When you ask for a replacement a dialog indicate how many changes was done and may be how many can t be done because it is possible to set the definition declaration of a read only element Warning global changes may have dramatic consequences when the filtering is not sufficient Previous Deploy classes Next plug outs 377 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Plug outs The plug outs are the external programs written in C or Java interacting with BOUML these programs may be written using BOUML itself T previous chapter describe some plug out including the code generators and code reverse A plug out is a very practical way to automatize treatment on the model do not hesitate to write plug out I just recommend you to save your model before executing your plug outs when you debug them Declaring a plug out To be executed a plug out must be declared through the tool dialog called when you select the tools settings entry of the tools menu a Tools dialog lt 3 Class State Activity Others dis
338. nment Drawing A component is drawn in a component diagram or a deployment diagram following the drawing settings they may be drawn as a rectangle containing the component icon UML 2 0 notation or as a component icon being a rectangle with two lobes UML 1 5 notation component diagram aafe E Fla 4 4 o O e te Iscale 100 Accaunt The default color of a component may be set through the drawing settings A right mouse click on a component in a diagram calls the following menu supposing the component editable 212 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html upper lower edit drawing settings edit component select In browser select linked items set associated diagram remove from view delete fram model tool b Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a component in a diagram all the settings are set to default drawn as lean defaut _ Diagram Draw 7 show required and provided Interfaces defaut diagram calar show realizations defaut component color defaut OK Cancel Cancel show allows to write or not the component s interfaces and realization in
339. not modify the Java code generator 84 of 402 17 02 2008 11 48 85 of 402 file E uml BOUML boumlL 4 2 doc TOUT html When you push the button default declaration the form specified through the generation settings depending on the stereotype and multiplicity and of course the language is proposed this last may be modified as you want even to produce illegal source code When you do not want to have this relation defined in Java empties the declaration manually or using the button not generated in Python The instance relations are automatically produced at the beginning of the body of the operation __init__ this operation is produced for each class even when you don t define it The static relation are produced inside the class definition comment produces a comment from the UML description adding a at the beginning or each line following the current indent A newline produced if needed at the end to not have something else generated on the same line after the comment description is like for comment but without adding self inside the operation __init__ this produces the name of the first parameter followed by a dot else nothing type produces the type of the relation it is used by default when the relation is a composition to create an instance of this type multiplicity produces the multiplicity of the relation probably used inside a comment stereotype is replaced by the translation in Python o
340. not want to have this attribute defined in C empties the declaration manually or using the button not generated in C It is possible to follow the visibility as it is set in the UML Tab or to change it static produce an empty string when the attribute is not a class attribute see the UML tab else produce static const produce an empty string when the attribute is not read only see the UML tab else produce const type is replaced by the type of the attribute see the UML tab stereotype is replaced by the translation in C of the attribute s stereotype see the UML tab multiplicity is replaced by the multiplicity of the attribute see the UML tab must be used in case the multiplicity is a vector or array dimensioning and are added when they are not present name is replaced by the attribute s name see the UML tab value is replaced in the source file by the initial value of the attribute see the UML tab when this one is not an enumeration item Fo enumeration items the value is of course generated in the header file h_value is replaced in the header file by the initial value of the attribute see the UML tab h_value must be used when you want to set the value of a const attribute mutable produce an empty string when the check box mutable is not checked else produce mutable volatile produce an empty string when the check box volatile is not checked else produce volatile The definitio
341. not written A double mouse left click on a diagram icon opens the diagram the open entry of the diagram icon menu does the same thing A right mouse click on a diagram icon show the following menu 294 of 402 17 02 2008 11 48 295 of 402 URPET lower open select diagram in browser select linked items remove from view Previous class diagram Next activity diagram file E uml BOUML bouml_4 2 doc TOUT html The other diagram s elements have an own chapter refer to them 17 02 2008 11 48 Activity diagram Bouml home bruno uml EX activity activity prj a5 Project Windows Jools Miscellaneous Help or aS WN oowser SS 2 activity BPaClass view EY tan activity ERE Process Order Diagram A Requested Order e lt flow gt E e HReceive Order a e flows e ciowe F ill Order H Ship Order BOClose Order Bt a 3 F OSend Invoice e lt flow gt Make Payment MOA cept Payment aC invoice Diagram Process Order lt singieExecution gt gt lt lt preconditton gt lt postcandition gt order complete order clased Requested Order Process Order The activity diagrams may be placed in an activity ja HseSGonesehGgurhoon abe file E uml BOUML boumlL 4 2 doc TOUT html fiore 4 mi S A activity diagram is created through the new activity diagram entry of the activity browser menus Browser menu The node menu appearing with a ri
342. npro producing a pro file from the artifact executable of the plug outs An artifact may be created through the new artifact entry of the deployment view menu through the artifact button of a deployment diagram or through the create source artifact of the class menu in case the class view containing the class has an associated deployment view Browser Menu The artifact menu appearing with a right mouse click on its representation in the browser is something like these supposing the artifact not read only nor deleted see also menu in a diagram executable edit edit delete delete referenced by referenced by mark mark tool tool Menu edit edit allows to show modify the artifact properties In case the artifact is read only the fields of the dialog are also read only Artifact dialog tab Uml The tab Uml is a global tab independent of the language 214 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html i artifact dialog a lief ma Uml C header C source Java source Php source Associated classes Associated aniacts Properties name Biain Stereotype source The main function you have to modify at least the line containing description Editor Default Umicom targetItem gt 77 it if you want your program does something cue The proposed stereotypes are the default one specified through the Default stereotypes
343. nshots is permitted worldwide in any mediu provided a mention of Bouml or http bouml free fr However following the shocking behavior of administrators of Wikipedia the distribution on all the Wikipedia sites of screenshot or a part of the documentation is forbidden without autorisation Apologies First I apologize for the poor quality of my English and secondly it is clear that BOUML is not developed following all standard principles UML help to diffuse this is a little bit strange for an UML tool Nevertheless I hope the documentation is enough clear and consistent and I am sure that BOUML is fast and not glutton in memory At least this document describe BOUML not the Unified Modeling Language 2 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Next Starting 3 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Starting When you execute BOUML for the first time this one ask you to have an own identifier between 2 up to 127 through the environment variable BOUML_ID Multi users considerations BOUML_ID amp X The BOUML_ID environment variable is not or wrong defined This one allows several users to work on the same project this time your identifier is 102 but BOLIML declines all the responsabilies of this random choice You must to define the environment variable BOUML_1D valuing between up to 127 not used by an other person working at the same time on
344. nstraint Editor The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it abstract allows to declare that the class is an abstract class not instanciable The artifact used to produce the class source code must be chosen in the proposed list or the field may be empty Obviously a nested class can t have an associated artifact but a nested class has a visibility The description will be generated in the class source code in case the comment or description macro appears in the class definition as a comment The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support The default button visible above associated to the description allows to set the description with a default contain specified through the generation settings Useful to generate com
345. nt Eoiagram C enterAmout i ae ST _ Shack U4 4 e DOE s E mbes Aner OO e T Tok gt abart e E Cis lt machines gt SM B C lt emachine gt gt telephone EC lt lt machine gt gt Processes A right mouse click on a state in a diagram calls the following menu supposing the state editable 145 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html enterAmount upper lower edit drawing settings edit state select in browser select linked items set associated diagram remove from view delete from model tool b Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a state in a diagram all the settings are set to default show activities defaut draw regions horlantalty defaut state colar drawing language defaut show activities Allows to show or not the state s activities in a compartment depending on the drawing language entry behavior done on entry exit behavior done on erit do behavior in state drawing language Allows to specify the used language in case the state s activities are shown drawing regions horizontally Allows to indicate if the r
346. nter verticaly 8e align center horzontaly If all the selected elements has the same kind for instance all are a class you edit their drawing settings globally 271 of 402 17 02 2008 11 48 Multiple selection menu Select linked tems Align Copy selected Ctrl c Cut selected Ctriex remove from view Remove selected from view Suppr Edit drawing settings and for instance when the elements are classes in a class diagram Delete selected Control dq D Diagram Drawing Settings s diagram color drawing fanguage drawing mode show context hide attributes hide operations show members full definitian show members visibility show parameter direction show parameter name show information note unchanged lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt lt unchanged gt file E uml BOUML boumlL 4 2 doc TOUT html The settings valuing lt unchanged gt are not changed for the selected elements in the other case the same value is set for all the elements Fragment A fragment is resizeable To change the fragment s name choose the edit entry of its menu or double click on it A right mouse click on a note show the following menu Egit Add separator Edit drawing settings Edit drawing settings allows to change the
347. ntext which is the path of the package in the browser choice followed for awt below or the C namespace specified by the package or the Java package specified by the package choice followed for picture below or at least the Id module 307 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html java caw image jave awtinage e automatic labels position To ask BOUML to move or to not move the associated labels on the relations in the diagram when the relation is edited or the linked items moved etc e draw component as icon by default the component drawing follows the UML 2 0 notation this setting allows to use the old representation see customer e show component s required and provided interfaces to indicate if the required and provided interfaces of the component must written in the drawing of the component as a compartment e show component s realization to indicate if the realizations of the component must be written in the drawing of the component as a compartment Browser Menu duplicate Clone the diagram in a new one in the same diagram view Browser Menu delete The delete entry is only present when the diagram is not read only Delete the diagram and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Browser Menu tools The menu
348. nus The expansion region menu appearing with a right mouse click on its representation in the browser is something like these supposing the region not read only nor deleted see also menu in a diagram expansion region add expansion node add nested expansion region add interruptible activity region add activity action add object node edit duplicate set it nested in region above extract it fram current parent region celete mark Menu add These entries of the menu allow to add an expansion node a nested region or an activity node activity action object node or control node Menu edit edit allows to show modify the region properties In case the region is read only the fields of the dialog are also read only Expansion region dialog tab Uml 166 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Expansion Region dialog 2 mpe epig Umi Properties name expansion region stereotype more iterative T must isolate description 3 Editor The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The mode and the flag must isolate are the standard UML information The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc
349. o align botom cut selected Ctrl x remove from view E align let remove selected fram view Suppr align right delete selected Contral d 6 align center F align center verticaly 8e align center horzontaly Fragment A fragment is resizeable To change the fragment s name choose the edit entry of its menu or double click on it A right mouse click on a note show the following menu Egit Add separator Edit drawing settings Remove from view Edit drawing settings allows to change the fill color Note A note may contain any text a note is resizeable To change the text of a note choose the edit entry of its menu or double click on it this open a window containing the text close the window to end the edition i boumi eee alesis is under edition A right click on the edited note calls a dialog allowing some text manipulations thanks Qt A right mouse click on a note show the following menu Upper Lower Edit Cotor of text Font b Edit drawing settings select linked items Remove from view The font may be changed by default the font is the one used to write the other texts The color of the text may be changed a text is black by default 323 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Edit drawing settings allows to change the fill color Select linked items select all the items connected this the current one through any line in the previous picture th
350. o filter through the stereotype Choose any to not consider the stereotypes is to consider only the elements having the specified stereotype may be an empty one and is not to not consider the elements having the specified stereotype may be an empty one Several targets may be set to choose on which kind of elements the change must be done Several languages may be set too to choose for which language the definition declarations the changes must be done Current indicates the current form to be changed new the value the substitution being done on the element definitions declarations compatible with all the previous indications Notes except for the stereotype n is used to indicate a line break in the inputs The carriage return characters are removed to not pollute the filtering searching and replacement At most one replacement is done by form Examples of use e you want to replace everywhere comment by description all the filters must be empty set any artifact class operation attribute and relation set the right languages set current to comment and new to description press Replace 376 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e In the old releases the operation body indent must be set inside the body because the form body was not preceded by two spaces to replace the old definitions by the new default one where body is placed after two spaces and to keep the defi
351. o ones are 86 of 402 17 02 2008 11 48 87 of 402 file E uml BOUML boumlL 4 2 doc TOUT html linked to the associated relation to be updated or deleted when the relations is deleted The default name of the operations an characteristics are set through the generation settings By default the get and set operations generated for the C s relation theC2 are C Java Php inline const C2 C get_theC2 const public final C2 get_theC2 final public function getTheC2 return theC2 return theC2 return Sthis gt theC2 void C set_theC2 C2 value public void set_theC2 C2 value theC2 value theC2 value public function setTheC2 value Sthis gt theC2 Svalue Python Idl def getTheC2 self C2 get_theC2 return self theC2 setTheC2 self value selt thet valne void set_theC2 C2 value Menu delete The menu entry delete is only present when the relation is not read only Delete the relation associated get and set operations when they exist and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the relations 17 02 2008 11 48 88 of 402 file E uml BOUML boumlL 4 2 doc TOUT html i Default ste
352. ociated to the relation in the default position Useful wher you are lost after many label movings By default when you move a class instance or a link point break or edit the link the labels are moved to their default position this may be irritating To ask BOUML to not move the labels in a diagram use the drawing settings of the diagrams Class instance Menu The menu appearing with a right mouse click on a class instance is something like this supposing the diagram not read only Bruno Person oper Lower Edit drawing settings Edit select in browser select class in browser Select linked items Remove from view Delete from model Contrarily to the sequence and collaboration diagrams an object diagram show modeled instances there is no pure graphical instances Message Menu edit drawing settings This dialog allows to specify how a the class instance must be drawn you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level 280 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Diagram Drawiniccow Diagram Drawin 7 diagram color rite class instance selon nat defaut class instance color defaut horizontally write class instance horizontaly To write the instance type and name on the same line or on two lines 2 Default stereotypes The dialog a
353. oer toar fiaa ma Visibility Madifiers _ default definition public protected private F inline F const value F const 00S set_ name F alse in uml Set operation Visibility Modifiers default definition value comment Enumeration iter default delinitian Cott tpe tres rogu er Fa ewes pat are Ostia type tore ton Pe ters net giver e poet fitype im he lire tot fit ype iwoletile i throw fi abetr inkine Gityeel Ficlaseic tiname 10 F 1 E ioonet Pivolet ilal f throw tat ion body The second Java tab allows to set the default definition of an attribute in Java only visible when Java is set through the menu Languages 110 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a GenerationSettings dialog s5 SS LLL LR M Types Stereotypes ceti cl cH ca cts Javaj avalz Javas Javal4 iaga bag el ata icigs Description we S comment visibility static final transient volatilej type name value S corment 16 visibility istatic final transient volatile stereotype name value Atribute nek multiplicity defauit erick declaration S comment ia ivieibility istatic final l transient volatile type multiplicity name value probably a number comment Pivieibility Gietaticol Fi finel
354. of each line xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the operation if not found for the class containing the operation etc If the toggle preserve operations s body is set through the Languages menu the generators do not modify the body of the operations protected by dedicated delimiters This means that for them the boc definition set through BOUML is not used The first time you generate the code with the toggle set because the delimiters are not yet present in the generated code the operation s body will be updated depending on their definition under BOUML After while the toggle is set and the delimiters present the bodies will not change allowing you to modify them out of BOUML 335 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Notes e In case the file containing a body definition is not consistent with the artifact under BOUML the body will be regenerated by th code generation using its definition under the model e When you import a project the body of the imported operations must be the right one in the imported model The preserved bodies of the imported operations will not be find because the identifier of an operation used to mark its body changes during the import e The bodies under the model are not updated by the code generation use roundtrip body for that e Only the operations using the keyword body may have
355. of the relation dialog The static relations corresponding to variables are produced in order directly in the class definition The instance relations corresponding to variables are produced at the beginning of the operation __init__ when its definition contains body The operation __init__ is automatically added by the code generation even if they are no instance attribute or relation Relation corresponding to variable In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Python code generator are o comment is replaced by the description of the relation adding at the beginning of each line and forcing a newline at the end Produce nothing when the description is empty 352 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e description is replaced by the relation description without adding Produce nothing when the description is empty o self inside the operation __init__ this produces the name of the first parameter followed by a dot else nothing e name is replaced by the role s name see the UML tab e multiplicity is replaced by the multiplicity of the relation probably used inside a comment e stereotype is replaced by the translation in Python of the relation s stereotype see the UML tab probably something like list o type is replaced by the type of the relation it is used by default when the relation is a composition to cre
356. oggle set because the delimiters are not yet present in the generated code the operation s body will be updated depending on their definition under BOUML After while the toggle is set and the delimiters present the bodies will not allowing you to modify them out of BOUML Notes e In case the file containing a body definition is not consistent with the artifact under BOUML the body will be regenerated by th code generation using its definition under the model Of course an operations becoming inline or stopping to be inline is not a problem e When you import a project the body of the imported operations must be the right one in the imported model The preserved bodies of the imported operations will not be find because the identifier of an operation used to mark its body changes during the import e The bodies under the model are not updated by the code generation use roundtrip body for that e Only the operations using the keyword body may have a preserved body e The only modification you can do in the lines containing the delimiters is the indent e The toggle is saved in the file associated to the project be sure the save is done when you change this toggle Attribute The C definition of an attribute is set through the Uml and C tabs of the attribute dialog The indentation of the first line of the definition give the indentation added to the visibility specification in the class definition for all the attribute def
357. omponent 208 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Component A component is an autonomous unit with well defined interfaces that is replaceable within its environment In the old release of BOUM up to the 1 5 1 the behavior of the artifact was defined at the component level A component may be placed in a component view or is nested in another component B feComponent view component diagram El Store Order Customer Product A component may be created through the new component entry of the component view menu or through the component button of a component diagram Browser Menu The component menu appearing with a right mouse click on its representation in the browser is something like these supposing component not read only nor deleted see also menu in a diagram add nested component edit Set It nested in Order extract it fram Store delete referenced by mark tool select the required class select the provided class Menu edit edit allows to show modify the component properties In case the component is read only the fields of the dialog are also read only Component dialog tab Uml The tab Uml is a global tab independent of the language i component dialog rp en ae Uml Required classes Provided classes Realizing classes Properties name Order Stereotype description Editor 209 of 402 17 02 2008 11 48 fi
358. omponent provides a component dialog 3 Pye Umi Required classes Provided classes Realizing classes Properties Stereotype filtering Available classes Provided classes Account Orderableltem Person OK Cancel When a component C contains nested components it is impossible to repeat the list of provided realized interfaces at the level of C already defined by the sub components the right list will be provided when you will add or Component dialog tab Realizing classes This tab allows to specify the list of classes realizing the behavior of the component 210 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html i component dialog amp a ih ile Umi Required classes Provided classes Realiing classes Properties Stereotype filtering Available classes Realizing classes Account Orderentry Orderable ltem Person OK Cancel Menu set it nested in X The menu entry set it nested in X is present when the component follow the component X in the browser Choosing this entry the current component became a sub component of X Menu extract it from X The menu entry extract it from X is present when the component is nested in X perhaps X is itself nested in another one but it is not visible here Choosing this entry the current component became a children of the parent of X Menu delete The menu entry delete is only present when the component artifac
359. on 293 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html boumi 2 Pep ry se is under edition A right click on the edited note calls a dialog allowing some text manipulations thanks Qt A right mouse click on a note show the following menu Color of text Font b Edit drawing settings select linked items Remove from view The font may be changed by default the font is the one used to write the other texts The color of the text may be changed a text is black by default Edit drawing settings allows to change the fill color Select linked items select all the items connected this the current one through any line in the previous picture this select all except the package the text upper diagram and the use case diagram icon Text Text is another way to write a text contrary to the note a text is written alone see upper diagram on the picture below by default a text contains blabla a text cannot be empty The edition of a text is done like for a note A text is resizeable a resize 1s not automatically done when the contains is modified A right mouse click on a text show the following menu Remove from view Diagram icon A diagram icon is a shortcut to a diagram this allows to quickly navigate through the diagram without limitation a actor or some othe item kinds may be associated to only one diagram The used icon indicates the diagram kind but its name is
360. on object send signal broadcast signal unmarshall and value specification The pins are added automatically by Bouml depending on the kind of the action for the call behavior and call operation and actions on a variable the pins are set when the behavior operation variable is set or changed When something is changed all the current pins are removed then new ones may be added Note that you may change or delete the default pins or add new ones and the pins are not changed when the corresponding behavior operation variable is modified The parameter sets are defined on the actions and have sense only for call behavior action when the behavior is an activity but this is not checked by Bouml so a parameter set contains pins corresponding to parameters To define parameter sets on action rather than activity allows you to use them as you want The activity action s and pin s properties are exposed below Activity action menus The activity action menu appearing with a right mouse click on its representation in the browser is something like these supposing the action not read only nor deleted see also menu in a diagram add pin add parameter set edit duplicate delete referenced by mark Menu add To add a pin or a parameter Set Menu edit edit allows to show modify the action properties In case the action is read only the fields of the dialog are also read only The aspect of the dialog depend on the kind o
361. on this part start with the first class and stops before the first form which is not a class The classes must be at the toplevel level this means not embedded in a if or other form This part produces definition in the definition of the artifact e the rest if the file this part is placed at the end of the definition of the artifact Previous Python generator Next Idl generator 354 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Id generator The Id code generator is a plug out directly written in C The generated sources follows the definition made in BOUML at the artifact class operation relation attribute extra member levels When the code generation is applied on a artifact associated to several classes the code generation is made for all these classe Nevertheless the the Id code generator produce first the code in memory and update the appropriate files only when it is necessary to not change the last write date of the files for nothing Depending on the toggle verbose code generation of the global menu Languages the code generator is verbose or not The Id code generator plug out may be called on e aclass in this case the code generation is in fact applied on the class s artifact then on all the classes associated to this artifact e a artifact in this case the code generation is in fact applied on all the classes associated to the artifact e aclass view th
362. on node is not read only and if a class is selected in the browser to set the type to be this class The multiplicity ordering in state and is control are the standard UML properties The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Expansion node dialog tab Ocl The Ocl tab allows to specify the selection using the Ocl language but in fact BOUML doesn t check the syntax this is just a convention Expansion Node dialog 2 mpe mi a nge Uml Oct c Java Properties selection OK Cancel Expansion node dialog tab C This tab allows to specify the selection in C but in fact BOUML doesn t check the syntax this is just a convention Expansion Node dialog 2 nape mum hie bean selection Ok Cancel Expansion node dialog tab Java This tab allows to specify the selection in Java but in fact BOUML doesn t check the syntax this is just a convention 170 o
363. ond at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu duplicate The menu entry duplicate clone the pseudo state without its children Menu referenced by To know who reference the current pseudo state through a transition Menu mark See mark Menu delete The menu entry delete is only present when the pseudo state is not read only Delete the pseudo state and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry tool is only present in case at least a plug out may be applied on a pseudo state of this kind The selected tool is called and applied on the current pseudo state aS Default stereotypes The dialog allowing to set the default stereotypes 153 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Default stereotypes dialog Te pm pseudostate stereotypes Drawing A pseudo state is drawn in a diagram depending on its kind Er abe scale 100 Sy _ Diagram FHEOec ex ehxpoan TIPITIT entry Initial A right mouse click on a pseudo state in a diagram calls the following menu supposing the pseudo state editable imitial upper
364. only when the action is associated to a variable behavior or an operation to select this one the the browser 192 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Menu select associated diagram from behavior Appears only when the action is a call behavior and the behavior an activity or a state has an associated diagram set this last to be the diagram associated to the action this allows to goes to the diagram associated to the behavior on a double click on the action Menu tools Appears only when at least one plug out is associated to the activity actions To apply a plug out on the activity action Pin drawing A Pin is drawn as a small square with the stream or exception indication stream a A right mouse click on a pin in a diagram calls the following menu supposing the pin editable upper lower edit drawing settings edit pin select in browser select class in browser select linked Items delete fram model Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a pin in a diagram all the settings are set to default Diagram Dri coat color pin colar default cu To specify the fill color Menu
365. ons in Java but in fact BOUML doesn t check the syntax this is just a convention Activity dialog 4 meem ep oE Lm oc c Java Properties i Pre condition Post conditian cre Menu duplicate The menu entry duplicate clone the activity without its children 157 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Menu referenced by To know who reference the current activity through a dependency or a call behavior action Menu mark See mark Menu delete The menu entry delete is only present when the activity is not read only I speak about the file permission not about the read only UML property Delete the activity and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry tool is only present in case at least a plug out may be applied on an activity The selected tool is called and applied on the current activity Parameter Menus The parameter menu appearing with a right mouse click on its representation in the browser is something like these supposing the parameter not read only nor deleted see also menu in a diagram edit duplicate delete referenced by mark Menu edit edit allows to show modify the parameter properties In case the parameter is read only the fie
366. oo When we speak of free software we are referring to freedom not price Our General Public Licenses are designed to make sure that y have the freedom to distribute copies of free software and charge for this service if you wish that you receive source code or can get it if you want it that you can change the software or use pieces of it in new free programs and that you know you can do these things To protect your rights we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the software or if you modify it For example if you distribute copies of such a program whether gratis or for a fee you must give the recipients all the rights that you have You must make sure that they too receive or can get the source code And you must show them these terms so they know thei rights We protect your rights with two steps 1 copyright the software and 2 offer you this license which gives you legal permission to copy distribute and or modify the software Also for each author s protection and ours we want to make certain that everyone understands that there is no warranty for this fr software If the software is modified by someone else and passed on we want its recipients to know that what they have is not the original so that any problems introduced by others will not reflect on the orig
367. or in a message sequence or collaboration diagram The specified encoding is followed in the project s files and for the exchanges with the plug out this means for instance that Cyrillic characters may be used in the comments and are generated unchanged by the code generators Previous Project files Next GNU public license 396 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html GNU public license The BOUML Toolkit is Copyleft 2004 2008 Bruno PAGES You may use distribute and copy the BOUML Toolkit under the terms of GNU General Public License version 2 which is displaye below GNU GENERAL PUBLIC LICENSE Version 2 June 1991 Copyright C 1989 1991 Free Software Foundation Inc 51 Franklin Street Fifth Floor Boston MA 02110 1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document but changing it is not allowed Preamble The licenses for most software are designed to take away your freedom to share and change it By contrast the GNU General Publi License is intended to guarantee your freedom to share and change free software to make sure the software is free for all its users General Public License applies to most of the Free Software Foundation s software and to any other program whose authors commit to using it Some other Free Software Foundation software covered by the GNU Library General Public License instead You can apply it to your programs t
368. or instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Browser Menu edit drawing settings This dialog allows to specify how the items of the diagram must be drawn by default you may choose default for each value in this case the effective value if specified in the upper level which itself may specify default etc up to the project level a Diagram Drawing Settings diagram color drawing language uml default package color defaut show operations full definition defaut fein di show hierarchical rank defauit default fragment color default write nametype horlzantally defauit ackages name in tab defaut F A default note color default show package context default haat relate default default class instance default E color draw shadow default e drawing language to indicate in which language the operations must be written when the full definition is showed see below like for the class drawing in a class diagram For instance the class C has the operation op retu
369. orresponding user property if it is defined for the class or at an upper level else it is not substituted Class dialog tab Python This tab allows to give the Php definition of the class it is visible only when Php is set through the Languages menu For an enum class with the stereotype enum recall the instance attributes are produced in the operation __init__ 62 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html J Class dialog aiee d Umi Parametrzed C Java Php Python iot Properties E Python 2 2 l extemal Classe name i docstring imembers Definition Result after substitution Default definition Not generated in Python cw Standard class 3 Class dialog aiee d Ika Umi Parametrized C Javea Php Python IBL Properties E Python 2 2 Glass name S inherit i docstring i members Definition Class Cfobject sec OP eae BtSticattr Resultater init _ t substitution Default definition Nat generated in Python The Python 2 2 check box allows to ask for classes introduced by Python 2 2 the default value of this toggle is the one specified by the generation settings The external check box must be used when the class must not be defined in Python by BOUML but you want to specify the name of the class to follow the Uml C Php Python Idl name on the first line name by default may be followed
370. osed below i ee Menus E lt lt machine gt gt ReadAmount Diagram A OselectAmount amp JenterAmount ae etransition abort at file E uml BOUML boumlL 4 2 doc TOUT html The pseudo state menu appearing with a right mouse click on its representation in the browser is something like these supposing the pseudo state not read only nor deleted see also menu in a diagram Menu edit exit point edit duplicate delete relerenced by mark tool edit allows to show modify the pseudo state properties In case the pseudo state is read only the fields of the dialog are also read only 152 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html exit point dialog lt 3 mpr mipi Uml User name i Jabor Stereotype description __ Editor The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each sec
371. osing the region editable Interruptible reglon Upper lower edit drawing settings edit Interruptible activity region select in browser set associated diagram remove from view delete from model Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a region in a diagram all the settings are set to default 173 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Interruptible activity region color default To specify the fill color Menu set associated diagram set associated diagram allows to automatically open the current diagram when a double mouse click is made on the region representation in a diagram or the browser After that the only way to edit the region is to choose the edit entry in the menu Menu tools Appears only when at least one plug out is associated to the regions To apply a plug out on the region Expansion node drawing A expansion node is drawn in a diagram as pins expansion noge i celteraliyve gt gt A right mouse click on as expansion node in a diagram calls the following menu supposing the node editable expansion node dagar lower edit drawing settings edit expansion node select in browser
372. otype of the class es in Idl to compute the default declaration The editor button visible above and associated here to the description and initial value allows to edit the description or initial value in an othe window or to call an external editor for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which looks each second at the file contents to get the new definition until the dialog is closed I do not like ve much this polling but this works even QT isn t compiled with the thread support Flow dialog tab Ocl This tab allows to give the Ocl definition of the flow but in fact BOUML doesn t check the syntax this is just a convention Flow dialog id ah aa i 4 Um Oct C Java Properties weight guard Editor selection Editor transformation The weight guard selection and transformation are the standard UML properties of a flow Flow dialog tab C This tab allows to give the C definition of the flow but in fact BOUML doesn t check the syntax this is just a convention 204 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Flow dialog ml Oci Cr Java Properties weight guard Editor Aaaa selection Editor transformation Editor
373. otypes Javafi Java 2 Javafs Java 4 Phof1 Php 2 Python 1 Pythoniz Pythont3 i ee ee comment self iname value Association and Multiplicity 1 aggregatian or unSspec default other f oomment lself iname stereotypel declaration multiplicity y multiplicity t fi comment self name typel Composition or unspeci e F _ other comment self F mame stereotypel multiplicity Enueg hem i comment fieeififiname ralue Get operation fgstSiNameh F lame get N li default definition set p iName also in uml Ber sper name set Name Woofer default definition Operator ei tieratic tl abetrect def ote orfintior chose tr ingi FU becety The form in from of also in uml allows to specify the name of the operation in Python the same rule is followed in UML if also in uml is set The third Id tab allows to specify the default Id generated code for the relations a GenerationSettings dialog a Types Stereotypes cesti ceta cots cert cots Javai Jawata savata Javatay ti rage ts multiplicity 1 S comment jreadonly attribute typel name Association and unspecific aggregation multiplicity comment readonly attribute Fistereotype lt typej gt F namet default ar ab declaration X probablyal lcomment readonly attribute stereotype lt type multipl
374. otypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of an operation does not have special meaning BOUML The visibility may be chosen with the radio buttons the operations have a default visibility set through the class settings eee m Class Settings d pp Faut amits iliy Srini arana tliii default operations visibility public Force body generation allows to generate the body of the operation even if preserve operations s body is set in the menu Languages This option is used by the state machine generator to produce the body of the generated operations in all the cases The parameters have obviously a direction but I known a commercial UML tool which does not manage it a name a type following the considerations about the return value type and a default value unfortunately this one is not yet managed by the code generators The last column do of the parameters table allows to insert delete move a parameter Insert param before insert param after delete param copy param cut param paste param move param The exceptions produced by the operation may be specified even for C these types follow the considerations about the return value type The 1 column do of the exception table allows to insert delete move an exception By default the description is used to produce comments by the code generators The
375. ow packages name In tab i automatic labels position show packages context draw all relations craw all relations u g draw shadow craw shader Cancel Cancel 27 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a Diagram Drawing Settings dialog us case corr class sequence collaboration object show packages name in tab show packages name in tab 0 show packages context show packages context automatic labels position automatic labels position draw all relations draw shadow draw all relations draw component as ican class drawing mode show components required and provided interlaces draw shadow show component s realizatians Cancel Cancel 28 of 402 17 02 2008 11 48 29 of 402 show packages name in tab show packages context write node Instances horizontally automatic labels position draw all relations draw shadow draw component as ican show component s required and provided interfaces show component s realizations Cancel file E uml BOUML bouml_4 2 doc TOUT html show packages context automatic labels position write transition horizontal show transition definition draw all relations draw shadow show state activites draw state s regions horizontally yes drawing language uml 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a
376. ow packages name in tab default show packages Context default write node instances horizontally default default artifact color default automatic labels position default default component color default draw all relations default draw shadow default default note color default draw component as ican default r default package color default show component s required ditat al and provided interfaces Hefault fragment color astaun efault show component s realizations d This dialog allows to specify how the deployment diagrams must be drawn by default Menu delete The menu entry delete is only present when the class view is not read only Delete the deployment view and all its children and all the representation of them in the opened diagrams After that it is possible undelete them from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Menu tools The menu entry tool not present above is present in case at least a plug out may be applied on the component view The selected tool is called and applied on the current deployment view A Previous component view Next use case 46 of 402 17 02 2008 11 48 Use case file E uml BOUML boumlL 4 2 doc TOUT html In the browser an use case may contain other use cases actors classes stereotyped actor classes class instances state ma
377. own by the Php code generator are e comment is replaced by the description of the class adding e description is replaced by the class description without adding e public produce public when the class is declared public e final produce final when the class is declared final e abstract produce abstract when the class is abstract e name is replaced by the class s name e fextend is replaced by the class inheritance e fimplement is replaced by the interface inheritance e members is replaced by the code generated for all the class s members relations attributes operations and extra members following the browser order 343 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e f items produces the enumeration items of an enum other members are not produced e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the class if not found for the container of the class an other class of a class view etc In the special case where the class is declared external its Php type declaration must contains a line indicating how the name of the class is generated by default name meaning that the name is produced unchanged the only allowed keywords are name Name and NAME Operation The Php definition of an operation is set through the Uml and Php tabs of the operation dialog The indentation of the first
378. own during the mous move The right mouse click is used to show context dependent menus control s is a shortcut to save the project control a is a shortcut to select all the diagram s elements control d is a shortcut to delete the selected element s the model is affected suppr is a shortcut to remove the selected element s from the diagram these elements are not deleted control c 1s a shortcut to copy the selected diagram s elements control x is a shortcut to cut remove from view the selected diagram s elements control v is a shortcut to paste the selected diagram s elements the keyboard arrows allow to move the selected items You can define your own shortcut using the shortcut editor through the Miscellaneous menu When several diagram s elements are selected the menu appearing on a left mouse click allows to align them 235 of 402 17 02 2008 11 48 Multiple selection menu select linked items copy selected Ctri c cut selected Cirit remove from view remove selected from view Suppr delete selected Control d file E uml BOUML bouml_4 2 doc TOUT html IE align top Qo align bortom E align lett A align right 0 align center F align center verticaly 8e align center horzontaly If all the selected elements has the same kind for instance all are a class you edit their drawing settings globally Multiple selection menu Select linked items Align Copy selected Ctri c Cut select
379. own during the mous move The right mouse click is used to show context dependent menus control s is a shortcut to save the project control a is a shortcut to select all the diagram s elements control d is a shortcut to delete the selected element s the model is affected suppr is a shortcut to remove the selected element s from the diagram these elements are not deleted control c is a shortcut to copy the selected diagram s elements control x is a shortcut to cut remove from view the selected diagram s elements control v is a shortcut to paste the selected diagram s elements control z and control u are a shortcut of undo control r and control y are a shortcut of redo the keyboard arrows allow to move the selected items You can define your own shortcut using the shortcut editor through the Miscellaneous menu When several diagram s elements are selected the menu appearing on a left mouse click allows to align them Multiple selection menu select linked items 15 align top copy selected Ctri c g align bottom cut selected Ctrl x remove from view E align lett remove selected fram view Suppr align right delete selected Contral d 0 align center F align center verticaly 8e align center horizontaly If all the selected elements has the same kind for instance all are a class you edit their drawing settings globally 292 of 402 17 02 2008 11 48 Multiple selection menu Select linked tems Ali
380. packages name in tab default show packages context default F default component color defauit automatic labels position default defautt note color defautt draw all relations i default draw shadow default default package calor default draw component as ican default show components required asia ihe and provided interfaces default fragment colar default show component s realizations default This dialog allows to specify how the component diagrams must be drawn by default Menu delete The menu entry delete is only present when the class view is not read only Delete the component view and all its children and all the representation of them in the opened diagrams After that it is possible t undelete them from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Menu tools The menu entry tool not present above is present in case at least a plug out may be applied on the component view E Previous class view Next deployment view 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Deployment view A deployment view may contains nodes artifacts and deployment diagrams in any order oha Deployment view a Deployment Diagram C lt lt source gt gt an Artifact 0 lt lt executable gt gt an other Artifact Gle lt cpu gt gt a Node Cil lt lt device gt gt an other Node
381. pact on the picture quality It is also possible to print all not only the visible part the current diagram on printer or a file through the button Picture Menu save optimal picture part To save all the diagram elements in a file equivalent to a optimal windows size followed by a save visible picture part then a restore of the original windows size Picture Menu save visible picture part To save the visible part of the current diagram in a file it is a screen copy the current scale have impact on the picture quality Picture Menu set preferred size and scale To memorize the current diagram sub window size and the current scale These ones will be used the next time the diagram will be opened Picture Menu set preferred scale To memorize the current scale These one will be used the next time the diagram will be opened Picture Menu restore preferred size and scale In case a preferred sub window size and preferred scale was set follow them Picture Menu unset preferred and scale To stop to define a preferred size and scale was set Picture Menu format By default the diagram s canvas size is 840 x 1188 points corresponding to an iso A4 format 210 4 x 297 4 all the available formats are e iso A5 592 x 840 e iso A4 840 x 1188 299 of 402 17 02 2008 11 48 e iso A3 1188 x 1680 e iso A2 1680 x 2376 e iso Al 2376 x 3364 e iso AO 3364 x 4756 e USA A 864 x 1116 e USA B 1116 x 1728 e USA C 1728
382. pansion node menus The expansion node menu appearing with a right mouse click on its representation in the browser is something like these supposing the node not read only nor deleted see also menu in a diagram expansion node edit duplicate delete referenced by Menu edit edit allows to show modify the expansion node properties In case the node is read only the fields of the dialog are also read only Expansion node dialog tab Uml Expansion Node dialog 2 npemi ep nge Umi oct c Java Properties name expansion node stereotype we 3 multigligity ordering unordered in state M is_control description Editar wen The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The proposed types are the non class types defined in the first tab of the generation settings more all the classes defined in the project with their localization to distinguish synonymous classes You are not limited to the proposed list and any form even invalid for th target language s may be given The button type shows a menu proposing 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e if the current type of the expansion node is a class to select this class in the browser e if the expansi
383. pecified in the generation settings The tree formed by the sub directories produce an equivalent tree of sub packages on whose the needed class view and deployment view are made to support the classes and artifacts When a type is referenced but not defined in the reverse files a class having the same nam defined under an additional package named unknown Obviously the Python code reverse tries to produce the definitions made in BOUML at the artifact class operation relation attribute levels When it is possible it creates a relation rather than an attribute The instance attributes and relation are created from the initializations made in the reverse operation __init__ The static attributes and relations are created from the variable initializations made at the toplevel of the class An operation is declared static when it has the decorator staticmethod is it declared abstract when it has the decorator abstractmethod The Python code reverse works in two steps during the first step it scans all the files to establish the list of defined types then the second step may reverse the files When the Python code reverse has a problem for instance on a syntax error it produces a warning in the trace window The trace window is automatically opene BOUML it may also be manually opened through the Tools menu The reversed files are considered composed in three parts e a header without class definition e only classes definiti
384. pened Picture Menu restore preferred size and scale In case a preferred sub window size and preferred scale was set follow them Picture Menu unset preferred and scale To stop to define a preferred size and scale was set Picture Menu format By default the diagram s canvas size is 840 x 1188 points corresponding to an iso A4 format 210 4 x 297 4 all the available formats are e iso AS 592 x 840 e iso A4 840 x 1188 e iso A3 1188 x 1680 e iso A2 1680 x 2376 e iso Al 2376 x 3364 e iso AO 3364 x 4756 e USA A 864 x 1116 e USA B 1116 x 1728 233 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html e USA C 1728 x 2236 e USA D 2236 x 3456 e USA E 3456 x 4472 Each format also exists in landscape Picture Menu undo changes Undo all the changes made since the diagram was openned the last time Note that the diagram is restored independently of the the project saving Obviously the deleted browser items was not restored Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the diagrams Default stereotypes dialog 2 spie Se e Package Class UseCase Artfact Views Diagrams Activities Others class diagram P stereotypes object diagram PO stereotypes collaboration diagram CO Stereotypes sequence diagram P stereotypes use case diagram FP stereotypes state diagram Slereotypes activity d
385. placed by the class pointed by the relation see the UML tab stereotype is replaced by the stereotype translated in Java first tab of the generation setting dialog multiplicity is replaced by the multiplicity a form 123 become see the UML tab name is replaced by the relation s role name see the UML tab 82 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html value is replaced by the initial value of the relation see the UML tab association produce the association class produces the annotations when it is present in the definition the button Edit annotation is active a specific dialog allows you to enter the annotations proposing the default annotations Deprecated and the ones defined through the classes stereotyped interface bouml he 7 Rx To add an annotation at the cursar position yau may Select it in the fist and press add Add Deprecated The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Refer to the generation settings and Java generator for more details and explanation of the other keywords Relation dialog tab Php This tab allows to give the Php definition of the relation it is visible only when Php is set through the Languages menu SERRE TT RTS Lim c Java Php io Properties inc comment visibility
386. play PaO HTML documentation HTMIL doc fat AODA Generale ora Import Rose mA Generate Ah A Lise case wizard Check in rf Check out Deploy classes The first column specify how the plug out is executed for a C program you just have to give its name and may be the path depending on your environment in Java the cp option allows to specify the path and the starting class is Main except if you change the definition of the executable artifact The content of the second column will be displayed in the menu when your plug out is applicable on the target item The other columns allows to specify the kind of the items on whose the plug out is applicable For instance below gpro may only be applied on a artifact Note that the declaration of the plug out is saved in the file named tools this allows you to quickly set the tools list after creating a new project copying the tools file of an old project this file is read when you load the project Creating a new plug out The distribution of BOUML contains a project named empty this one is a plug out doing nothing for you point of view in fact it implements in C and Java the API allowing to interact with BOUML To develop a new plug out open the empty project BOUML will ask you to save it in an other project to keep empty unmodified You may also develop a plug out from one of the others available plug outs you just have to know that these ones was developed at differ
387. r The first tab allows to specify how the types not supported by an UML class are translated in each language except Php and the defau C argument passing for these types depending on the direction more the default type form to return value 126 of 402 17 02 2008 11 48 The file E uml BOUML bouml_4 2 doc TOUT html AGADAENADD NMA ETE is ci eh abe Ti Object boolean har unsigned char char unsigned char byte shart short unsigned short short int Int unsigned int int unsigned irit long lang unsigned long long igat fgat doubie double QCString String char String void lang char byte QSocketDevice Socket fourth octet youd Sitypey oer any const type type boolean Sitype char Bitype octet dtype octet type shori unsigned short type long Stype unsigned lang Sitype unsigned lang type lang Bitype type unsigned long type ioar Sitype double string string iter id itype Bitype itype nbqtypey Eitype Stype Socket C Pityne amp Pitype amp Ditype amp fitype amp type amp bitype amp type amp hitype amp Bityne amp itype amp Bihyne amp itype amp itype amp Sitypey amp const itype Bitype amp Bitype amp Pype amp Bitype amp type amp tab Stereotypes allows to specify the default declaration and definition of an operation without the para
388. r Menu tools The menu entry tool iS only present in case at least a plug out may be applied on the diagram The selected tool is called and applied on the current diagram Picture menu The diagram menu appearing with a right mouse click out off any item in the diagram picture is something like these supposing th diagram not read only 317 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Deployment diagram mernu Edit drawing settings Select diagram in browser Select all Ctri a Find selected browser element Copy optimal picture part Copy visible picture part Save optimal picture part png Save visible picture part png Save optimal picture part svg Save visible picture part svg Optimal scale Optimal window size Set preferred size and scale set preferred scale size unset Restore oreferred size and scale Unset preferred size and scale Format Unda all changes Picture Menu edit drawing settings see edit drawing settings Picture Menu select all Select all the items of the current diagram may also be done through control a Picture Menu find selected browser element To find in the diagram a representation of the elements selected in the browser Picture Menu optimal scale similar to the fit scale button change scale to see all the diagram s elements at great as possible Picture Menu optimal window size Similar to the button H change the size of the windows to see all t
389. r dialog tab Python The tab Python allows to specify the code generated in Python it is visible only if Python is set through the menu Languages i Extra Class Member dialog 2iaqus Extra member dialog tab Idl The tab Idl allows to specify the code generated in Idl it is visible only if Idl is set through the menu Languages 136 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html i Extra Class Member dialog eskala Lm C Java Php Python ren Properties Menu duplicate The menu entry duplicate clone the extra member Menu delete The menu entry delete is only present when the extra member is not read only Delete the extra member After that it is possible to undelete it from the browser until you close the project obviously the deleted iten are not saved Menu mark See mark Menu tools Appears only when at least one plug out is associated to the extra member To apply a plug out on the extra member Previous operation Next class instance 137 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Class instance A class instance may be placed under a class view a use case view or a use case Menus The class menu appearing with a right mouse click on its representation is something like this supposing the instance not read only nor deleted see also menu in a diagram Edit Duplicate Delete Referenced by Menu e
390. r have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very much this polling but this works even QT isn t compiled with the thread support Menu duplicate The menu entry duplicate clone the region without its children Menu set it nested in the region above The menu entry set it nested in the region above is present when the previous element in the browser is a region allows to move the region inside Menu extract it from current parent region The menu entry extract it from current parent region 1s present when the region is nested in an other one allows to extract the region and place it in its grand parent 168 of 402 17 02 2008 11 48 169 of 402 file E uml BOUML boumlL 4 2 doc TOUT html Menu mark See mark Menu delete The menu entry delete is only present when the region is not read only Delete the region and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry tool iS only present in case at least a plug out may be applied on an interruptible region The selected tool is called and applied on the current region Ex
391. r it through the operation dialog except if you ask for non contextual indent but of course you have to manage yourself the indentation change due to control statement for instance artifact The Python definition of a artifact is set through the Python source tabs of the artifact dialog The code generation depend on the stereotype of the artifact e text the Python definition of the artifact is produced without changes the name of the generated file is the name of the artifact including the extension e source see below e else nothing is generated for the artifact The generated file name is the artifact s name with the extension specified in the first Python tab of the generations settings 349 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html a GenerationSettings dialog A m e Ak x ies Stereotypes c 1 c f2 cesta ceta c 5 Javai Javage Javagal Javajay Pythoni mgent step 4 Spaces 2 fle defaut import genarmeni at idefiniti n reversed py file extension clate inane i inherit fidocaetring naniere clases of ewn 22 leae name fidocetring members In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Python code generator are o comment is replaced by the artifact description adding at the beginning of each line and a newline at end or nothing if the descriptio
392. ral classes the code generation is made for all these classe Nevertheless the the Java code generator produce first the code in memory and update the appropriate files only when it is necessary to not change the last write date of the files for nothing Depending on the toggle verbose code generation of the global menu Languages the code generator is verbose or not The Java code generator plug out may be called on e a class in this case the code generation is in fact applied on the class s artifact then on all the classes associated to this artifact e a artifact in this case the code generation is in fact applied on all the classes associated to the artifact e aclass view the code generation will be applied on all the sub classes then on all the artifacts associated to these classes e a deployment view the code generation is applied on all the sub artifacts e a package may be the project itself the code generation will be applied on all the sub class views and deployment views then on all their sub classes and artifacts When the Java code generator is ask through the Tools menu it is applied on the project then on all the artifacts The name of the generated files depend on the artifact name the extension depend on the language and is fixed for each by the generations settings see below the directory where the files are generated may be set in each package containing directly or indirectly the artifact see gene
393. rameters list t lt n gt and p lt n gt produce the type and the name of each parameter count from 0 this allows you to remove a parameter etc body is replaced by the body of the operation this macro may also be replaced by the body itself BOUML use this way for the get and set operations associated to a relation attribute The usage of body has a great advantage when you hit Default definition the body is not cleared At least BOUML share the definition forms of the operations and other objects to minimize the ne memory size body help for this The indentation of the keyword body is added at the beginning of each line In the special case of the __init__ operation the initialization of the instance attributes and relations is added just before the body they are not produced if body is not part of the operation definition xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the operation if not found for the class containing the operation etc If the toggle preserve operations s body is set through the Languages menu the generators do not modify the body of the operations protected by dedicated delimiters This means that for them the boc definition set through BOUML is not used The first time you generate the code with the toggle set because the delimiters are not yet present in the generated code the operation s body will be updated depe
394. ration directory artifact The Java definition of a artifact is set through the Java source tabs of the artifact dialog The code generation depend on the stereotype of the artifact e text the Java definition of the artifact is produced without changes the name of the generated file is the name of the artifact including the extension e source see below e else nothing is generated for the artifact The generated file name is the artifact s name with the extension specified in the first Java tab of the generations settings 333 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html ag GenerationSettings dialog E bey an bem pbs Types Stereotypes C 1 C 2 cta crta c ts Javaj Java 2 Java a 1t taia Wela amp comment package generated reversed PE fle default definition file extension content generate Javadoc style comment zj abstract gjia a mame ont eris impi eet s Lich gifinaijtiebertract enus finame i implements f i ccoment pabi meia g private int velu gadt i b b return veji omea In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Java code generator are e comment is replaced by the artifact description adding e description is replaced by the artifact description without adding e package is replaced
395. rent scale have impact on the picture quality Picture Menu set preferred size and scale To memorize the current diagram sub window size and the current scale These ones will be used the next time the diagram will be opened Picture Menu set preferred scale To memorize the current scale These one will be used the next time the diagram will be opened Picture Menu restore preferred size and scale In case a preferred sub window size and preferred scale was set follow them Picture Menu unset preferred and scale To stop to define a preferred size and scale was set Picture Menu format By default the diagram s canvas size is 840 x 1188 points corresponding to an iso A4 format 210 4 x 297 4 all the available formats are e iso A5 592 x 840 278 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e iso A4 840 x 1188 e iso A3 1188 x 1680 e iso A2 1680 x 2376 e iso Al 2376 x 3364 e iso AO 3364 x 4756 e USA A 864 x 1116 e USA B 1116 x 1728 e USA C 1728 x 2236 e USA D 2236 x 3456 e USA E 3456 x 4472 Each format also exists in landscape Picture Menu undo changes Undo all the changes made since the diagram was opened the last time Note that the diagram is restored independently of the the pr saving Obviously the deleted browser items was not restored Link Menu The menu appearing with a right mouse click on link is something like these supposing the diagram not read
396. reotypes dialog oe yee ne aa ew E Package Class Usecase Artfact Views Diagrams Activities Others class stereotypes attribute list set vector map stereotypes n focus implementation class interface interface metaclass struct type typedef union utility operation Oe Stereotypes Stereotypes complete disjoint fincamplete disjoint foam list set vector map list set vector map list set vector map iist set vector map list set vector map iist set vector map relations gt friend import from Slereotypes As you can see it is possible to specify a default stereotypes list for each kind of relation Associated to a multiplicity the stereotype is used by the code generators to produce the desired forms the translation in each language of the UML stereotype is specified through the generation settings Generation settings This very important dialog allows to specify many default definitions concerning the relations more details will be given in C generator Java generator Python generator and Id generator The tab Stereotypes allows to specify how the relation s stereotypes are translated in each language except Php 17 02 2008 11 48 89 of 402 Attributes and Relations stereotypes file E uml BOUML bouml_4 2 doc TOUT html ae Mi SEQUENCE vector Ve sequence list li sequence set tz Sequence map Mila Seguente correspondence Ae jf ot S
397. rk based on the Program o1 volume of a storage or distribution medium does not bring the other work under the scope of this License 3 You may copy and distribute the Program or a work based on it under Section 2 in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following a Accompany it with the complete corresponding machine readable source code which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange or b Accompany it with a written offer valid for at least three years to give any third party for a charge no more than your cost of physically performing source distribution a complete machine readable copy of the corresponding source code to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange or c Accompany it with the information you received as to the offer to distribute corresponding source code This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer in acc with Subsection b above The source code for a work means the preferred form of the work for making modifications to it For an executable work complete source code means all the source code for all modules it contains plus any associated interface definition files plus the scripts used
398. rning an int supposed translated int in C and Java octet in Idl and having the input parameter p having the type uchar supposed translated unsigned char in C char in Java and octet in Idl Depending on the drawing language 254 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html languages Y 2 int opi nagd sie p x f k 1 optin p uchar rigt ra 4 3 int oo char pi e show operations full definition to show all the operation profile or just its name may be with the arguments specified at the operation level in the diagram see edit e show hierarchical rank a message may be numbered using its rank a simple number or its hierarchical rank numbers separated with dot write class instance horizontally To write the instance type and name on the same line or on two lines e package name in tab to indicate if the package s name must be written in the tab which is the small rectangle on the top note a transparent package doesn t have shadow e show packages context to indicate if the context where the package is defined must be written it is not the case just above The context may be the UML context which is the path of the package in the browser choice followed for awt below or the C namespace specified by the package or the Java package specified by the package choice followed for picture below or at least the Id module image jave awtinage an Browser
399. ros known by the Idl code generator are e comment is replaced by the description of the item adding e description is replaced by the item description without adding e visibility produce the visibility see the UML tab o type is replaced by the type of the attribute see the UML tab e stereotype is replaced by the translation in Id of the relation s stereotype see the UML tab e multiplicity is replaced by the multiplicity of the relation see the UML tab e name is replaced by the attribute s name see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc union s attribute The macros known by the Id code generator are e comment is replaced by the description of the item adding e description is replaced by the item description without adding e readonly produce readonly when the attribute is read only see the UML tab e case is replaced by the case associated to the attribute e type is replaced by the type of the attribute see the UML tab e stereotype is replaced by the translation in Idl of the relation s stereotype see the UML tab e multiplicity is replaced by the multiplicity of the relation see the UML tab e name is replaced by the attribute s name see the UML tab e xyz is replaced by the user property value in c
400. rt Put the visible part of the current diagram in the clipboard copy it is a screen copy the current scale have impact on the picture quality It is also possible to print all not only the visible part the current diagram on printer or a file through the button Picture Menu save optimal picture part To save all the diagram elements in a file equivalent to a optimal windows size followed by a save visible picture part then a restore of the original windows size Picture Menu save visible picture part To save the visible part of the current diagram in a file it is a screen copy the current scale have impact on the picture quality Picture Menu set preferred size and scale To memorize the current diagram sub window size and the current scale These ones will be used the next time the diagram will be opened Picture Menu set preferred scale To memorize the current scale These one will be used the next time the diagram will be opened Picture Menu restore preferred size and scale In case a preferred sub window size and preferred scale was set follow them Picture Menu unset preferred and scale To stop to define a preferred size and scale was set Picture Menu format By default the diagram s canvas size is 840 x 1188 points corresponding to an iso A4 format 210 4 x 297 4 all the available formats are e iso A5 592 x 840 e iso A4 840 x 1188 e iso A3 1188 x 1680 e iso A2 1680 x 2376 257 of 402 17 02 2
401. rted It is not possible to import a project formated by a release of BOUML less than 1 3 then to import a older project you have to reformat it To do this load the project to import with a release greater or equal to 1 3 edit the project package 21 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html hit Ok BOUML doesn t check if something is really modified then save the project Menu edit edit allows to show modify the project packages properties with the following dialog here Php is not selected in the top level menu Languages so its tab is not visible Package dialog 5 Umi c Java i01 User name fm stereotype pO This is a HTML documentation generator It is implemented simultaneously in C and Java and produce documentation running over the browser tree description cw The project s name cannot be changed through this dialog use save as in the project menu The stereotype of the project and packages doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each
402. runofumlper r 389 of 402 l homesbruna pr syncnronize As you can see only two of the three images may be synchronized because of read only files in the second image However the secor image will be used during the synchronization to get the new version of package and the new package package35 Cancel After selecting at least one image and hitting on synchronize the synchronization the selected images are updated then a dialog indicating the end of the synchronization appears 17 02 2008 11 48 Project syi ssk D synchronization done file E uml BOUML bouml_4 2 doc TOUT html When you confirm the execution of Project Synchro is done Supposing the synchronization done for the first and third image restarting Project Synchro this the same images one obtains Project synchro Project Style Help home bruno uml Rev Modif i i So irer alali brur brur prur brur alal irer irer Faf J need update 1 deleted RO Packaget B Package Package Package JPackages Package Packages Packages a Packages Eb al fen Emp HOi inel E sre Fa to date A Package 6 0 Package Package Package JPackages Package Packages Packages a Packaged Eb al en Emp HOi af Jere B jiava Obviously the first and third images have the same aspect and don t conta
403. runofumlsingleton singleton pr Ameto ihomebrungumbiroseirose prj home bruno uml genpra genore or mpfes es or fhomebruno Uumiemptwempty pr Arp tmpfem en prj Previous bouml Next top level menus 6 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Top level menus The menus accessible from the BOUML s window are Project menu New Create from Template f Open Save AS Close uit Edit e ihomebruno umbionprprj homebruno uml EX organ organ pr fhome bruno umleE Afar arto homebruno umlle dwidw pri ihomebrung umkihimlhtmnlpr home bruno umilE A rel2 rel2 pr fhomebrung umve s attreo attr20 o7 home brunofumlmiZiomiZ pr Amet g pr impemismapr The Project menu allows to create a new project load a project save it in place or in a new location print the current diagram close the project or quit bouml The bottom of the menu contains the historic the upper line correspond to last opened project for instance the current on When you try to close a modified project perhaps to load an other one BOUML ask for a saving If the environment variable BOUML_TEMPLATE is defined you can create a project from the one specified by this variable The goal is to get the settings from this project rather than to get the default settings I decide to set This variable must value the absolute path of a project file extension prj and probably
404. ry of the project s menu Some stereotypes have a special meaning for BOUML typedef a class having this stereotype may have an associated base type used to construct the typedef It is not possit relation attribute operation to a class stereotyped typedef nor to define it as a template but it may instantiate a template This stereotype doesn t have sense in Java e enum a class having this stereotype is an enum need at least the JDK 5 in Java Because a Java JDK 5 enum may have attri relations and operations it 1s possible to add these kinds of members to a class having the stereotype enum but their defau definitions are empty in C and Idl it is not possible to define or instantiate a template they are not yet managed in Java In Php an enum produces a class having only const variables e enum_pattern a class having this stereotype iS an enum even in Java for which a special definition compatible with JDK release less than 5 is produced it is not possible to relation operation to a class stereotyped enum nor to define or instantiate a template e union a class having this stereotype cannot instantiate a template e actor just to change the representation not relevant for the code generators Obviously because you may change the stereotype at any time it is possible to define for instance a class with an operation and after that to change its stereotype to enum_pattern In this case BOUML does nothing for instance it does no
405. s a class interface class enum enum_ pattern class class ignored class class class ignored interface 4 s templatefunion name Simembers i4inlines jvicomment typedef type name class interlace class enum enum class class ignored class class class Ignored Ignored class class class enum enum class class ignared class Glass class ignored Ignored The first Java tab allows to define the default Java class definition depending on the stereotype Valuetype interface exception eruti eriti Struct union typedef interface Valuetype valuetype ignored ignored file E uml BOUML bouml_4 2 doc TOUT html 17 02 2008 11 48 69 of 402 GenerationSettings dialog 5 iie Samal conte Class default declaration interface default declaration Enum default declaration Enum pattern default dectaration Se ee oveeraton he Ema Pe Re jpubiie static final Siclass f name new fic ey ef TEON Class default dectaration Fi commen i picteg i importa Eidet init ion ficcmmant C isibiliey Gletatic Cif inal Sitransient volatile t type inane fivalue Pinan f value compet peebiic t tic fial se Same i definir ion gt coumen t return finas git S aomment S public final class name members private int value oomment public interface name extends
406. s delete mark move marked into move marked after duplicate marked into sub Use Case View tool b On the example above at the menu appearing on the use case view propose to mark it to move the marked items into it to move the marked items after it in this case only the order of the items is modified or to duplicate the marked items into it The menu is c dependent for a marked item it proposes to unmark the item or to unmark all the marked items and for instance for a component view it just proposes to mark it because the two marked diagrams cannot be placed into the component view or after the marked diagrams cannot be placed into the package containing the component view When you remove an item from the model the icon contains a red cross for instance PX note that a deleted item is never saved when you save your project but it may be undeleted with or without its children until you close the project Sometimes it is not possible to delete an items because this one contains read only items or is referenced by a read only relation A double mouse click on an item allows to edit it except when the item have an associated diagram in this case the diagram is showed The other mouse buttons show a menu depending on the item kind control s is a shortcut to save the project control d and suppr are a shortcut to delete the selected item l Package A Package may be the project itself is first something like a directory a
407. s added to the indent of the operation at the beginning of each line Since release 3 4 contextual body indent is not set when an operation is produced by a reverse to not alter the original indent produces the annotations when it is present in the definition the button Edit annotation is active a specific dialog allows you to enter the annotations proposing the default annotations Deprecated and the ones defined through the classes stereotyped interface To add an annotation at the cursar position WOU may Select it in the fist and press add Add Deprecated The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted The edit body button is active when the definition contains body to edit it through the editor you want define the environment variable BOUML_EDITOR furthermore when you set add operation profile on body edition through the miscellaneous menu the form defining the operation in the editor is added at the beginning of the edited file 122 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html home bruno uml html gen_java_decl_body_87ffda0_2 java 5 File Hindia Edit Medes Search Feylon Font ise HeEn hi Produce the definition in Java iM public void gen_java_decl String e throws IOException body these lines will be automatically removed int n s length
408. s exactly the one you give this means that you have to give the when it mus generated this allows to give the arguments of a constructor The visibility may be chosen with the radio buttons the attributes have a default visibility set through the class settings Class Settings d acs default attributs visibility protected deim cetera vkl reces Grini ape mama vwy a e ae By default the description is used to produce comments by the code generators The editor button visible above and associated here to the description and initial value allows to edit the description or initial value in an othe window or to call an external editor for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which looks each second at the file contents to get the new definition until the dialog is closed I do not like ve much this polling but this works even QT isn t compiled with the thread support The default button visible above associated to the description allows to set the description with a default contain specified through the generation settings Useful to generate comments compatible Java Doc or Doxygen for instance Attribute dialog tab C This tab allows to give the C definition of the attribute it is visible only when C
409. s with the current scale Picture Menu copy optimal picture part Copy all the diagram elements equivalent to a optimal windows size followed by a copy visible picture part then a restore of the original windows size Picture Menu copy visible part Put the visible part of the current diagram in the clipboard copy it is a screen copy the current scale have impact on the picture quality It is also possible to print all not only the visible part the current diagram on printer or a file through the button Picture Menu save optimal picture part To save all the diagram elements in a file equivalent to a optimal windows size followed by a save visible picture part then a restore of the original windows size Picture Menu save visible picture part 309 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html To save the visible part of the current diagram in a file it is a screen copy the current scale have impact on the picture quality Picture Menu set preferred size and scale To memorize the current diagram sub window size and the current scale These ones will be used the next time the diagram will be opened Picture Menu set preferred scale To memorize the current scale These one will be used the next time the diagram will be opened Picture Menu restore preferred size and scale In case a preferred sub window size and preferred scale was set follow them Picture Menu unset preferred and
410. scale To stop to define a preferred size and scale was set Picture Menu format By default the diagram s canvas size is 840 x 1188 points corresponding to an iso A4 format 210 4 x 297 4 all the available formats are e iso AS 592 x 840 e iso A4 840 x 1188 e iso A3 1188 x 1680 e iso A2 1680 x 2376 e iso Al 2376 x 3364 e iso AO 3364 x 4756 e USA A 864 x 1116 e USA B 1116 x 1728 e USA C 1728 x 2236 e USA D 2236 x 3456 e USA E 3456 x 4472 Each format also exists in landscape Picture Menu undo changes Undo all the changes made since the diagram was opened the last time Note that the diagram is restored independently of the the pr saving Obviously the deleted browser items was not restored Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the diagrams 310 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Default stereotypes dialog lt aeih aiiai Package Class UseCase Artfact Views Diagrams Activities Others class diagram CO stereotypes object diagram stereotypes collaboration diagram CO stereotypes sequence diagram Stereotypes use case dagrar S stereotypes state diagram o stereotypes activity diagram Stereotypes component diagram Stereotypes deployment diagram Stereotypes Drawing component diagram Account lt lt component gt m Product
411. scellaneous Help Jeuse Diagram SEs DE B Cl p i aM ee a Ye fscate 100 5 i Bret 5 PaClass view BC recgeneralisation C3 ridir_a self_bi_dir r dir_b selt_bi_dir lt lt ffi rids _ theC p atheCe CandCe Seif bi air sew mono ON CZ dir_a R ratheC Candcz aia rea self mono_dir ra lt lt friend gt gt lt dependency gt C3 ica HDiagramz ea Generally the relation s stereotype is used to specify how a relation with a multiplicity different than 1 is translated in each languag instance to produce a vector The friend stereotype is a special case for a dependency and is used to produce a C friend declaration There are several kinds of relation e generalization to produce an inheritance e realization produce also an inheritance the code generators do not distinguish a realization and a generalization e dependency only the dependency having the stereotype friend are considered by the C code generator e unidirectional association to define a directional relation the code generators will produce an attribute having the role name In C the default generatec code use pointer s e directional aggregation to define a directional relation the code generators do not distinguish association and aggregation e directional composition directional aggregation by value to define a directional composition the code generators will produce an
412. se supposing the class not read only nor deleted see also menu in a diagram Enum EnumPattern add attribute acd item add item add operation add attribute edit add nested class add operation duplicate add extra member add extra member delete edit edit create source artifact duplicate duplicate elered by delete delete mark create source artifact select associated artifact generate k referenced by referenced by cn 3 mark mark _ generate d generate tool tool Menu add The first entries of the menu allowing to add something may not be present depending of the class s stereotype Menu edit edit allows to show modify the class properties In case the class is read only the fields of the dialog are also read only Note that fc consistency purpose you cannot edit a class while any other edition is made and while a class is edited all the other editions are impossible Class dialog tab Uml The tab Uml is a global tab independent of the language 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html 7 Class dialog Soise deh ikea Uml Parametrized C Java Php IBL Properties name umiciass Stereotype Ir abstract public protected private package description This class manages classes notes that the class Classitem is a mother class of the class s children Editor Default You can modify it as you want except the constructor co
413. self nested in the namespace subnamespace itself nested in the namespace mynamespace In Java and Python the 66 99 separator is a rather than In Id the separator is Menu edit default stereotypes This entry is only available in the project s menu Allows to set a default stereotypes list for some kinds of object the dialog s tat associated to the packages is 23 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Default stereotypes dialog 2 a amie Package class UseCase Artfact Views Diagrams Activities Others package facade framework model ibrary stub toplevel l facade framework model libr stub toplevel stereotypes a p Stereotypes relations stereotypes jaccess import from As you can see it is possible to set a default stereotypes list for the packages and the dependency relation starting from a package In the lists the stereotypes must be separated by a space The stereotypes import and from are specially known by the Python generator and allow to add import and from import forms Menu edit class settings Class Settings d default attributs visibility protected default relations visibility protected default operations visibility public ox Cancel As you can see this setting allows to set a default visibility at the UML level for the attributes relations and operations This setting may be re
414. sentation in the browser is something like these supposing the diagram not read only nor deleted edit edit drawing settings duplicate delete mark tool Browser Menu show show allows to show the diagram picture and edit it in case it is not read only Browser Menu edit edit allows to show modify the diagram properties In case the diagram is read only the fields of the dialog are also read only Use case diagram dialog tab Uml 230 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Use Case diagram dialog shes ka l ia i Umi User name key down stereotype description Editor wen The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of a diagram doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its parameter is the pathname of the file containing the description its execution is done in parallel with BOUML which look each second at the file contents to get the new definition until the dialog is closed I do not like very muc
415. set preferred size and scale To memorize the current diagram sub window size and the current scale These ones will be used the next time the diagram will be opened Picture Menu set preferred scale To memorize the current scale These one will be used the next time the diagram will be opened Picture Menu restore preferred and scale In case a preferred sub window size and preferred scale was set follow them Picture Menu unset preferred and scale To stop to define a preferred size and scale was set Picture Menu format By default the diagram s canvas size is 840 x 1188 points corresponding to an iso A4 format 210 4 x 297 4 all the available formats are e iso AS 592 x 840 e iso A4 840 x 1188 e iso A3 1188 x 1680 e iso A2 1680 x 2376 e iso Al 2376 x 3364 e iso AO 3364 x 4756 e USA A 864 x 1116 e USA B 1116 x 1728 e USA C 1728 x 2236 e USA D 2236 x 3456 e USA E 3456 x 4472 243 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Each format also exists in landscape Picture Menu undo changes Undo all the changes made since the diagram was opened the last time Note that the diagram is restored independently of the the pr saving Obviously the deleted browser items was not restored Operation message Menu The menu appearing with a right mouse click on an operation message arrow is something like these supposing the diagram not read only Upper Lower
416. settings and Python generator for more details and explanation of the other keywords Attribute dialog tab Idl This tab allows to give the Id definition of the attribute it is visible only when Idl is set through the menu Languages For a standard attribute here of a valuetype 106 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Attribute dialog lt 3 mpe m tk ie Um C Java itak User S comment readonly lattribut type namel Declaration f the name of the stop if Reeds are trumpet cromtorne ff Flutes are bourdon rhorflote Result atter if Principal are mwontre prestant Che if Strings are viola unda maris substitution if Mutation are i nazard thierce if Compound are mixture cornet attribute string name Default Attribute declaration Default State declaration zi Mot generated in Idi OK Cancel For an enumeration s item Enum item dialog ss sa esi ep r Wri c Java fani User name comment Declaration Compound s have more than one pipe souding per note Default declaration Not generated in lal In BOUML the generated code is obtained by the substitution of macros in a text only the Declaration part is editable the other one help you to see what will be generated for Id supposing you do not modify the Id code generator Result after substitution
417. show transition definition to write the name of the transition or its trigger guard constraint and activity e show state activities to show or not the state s activities in a compartment depending on the drawing language entry behavior done on entry arit behavior done on erii do behavior in state e draw state s regions horizontally to indicate if the regions are drawn horizontally or vertically for instance Processes Diagram at R EO 0 exSOe Oe OCD Note the regions are not visible while the state picture is too small e drawing language to indicate in which language the transition and state s compartment must be written Browser Menu duplicate Clone the diagram in a new one Browser Menu delete The delete entry is only present when the diagram is not read only Delete the diagram and all its representation in the opened diagrams After that it is possible to undelete it from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Browser Menu tools The menu entry tool 1S only present in case at least a plug out may be applied on the diagram The selected tool is called and applied on the current diagram Picture menu The diagram menu appearing with a right mouse click out off any item in the diagram picture is something like these supposing th diagram not read only 288 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT
418. specify where the xmi file must be generated and if you want to produce the UML C or Java definitions following some options 364 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html generated lt lt hdl fle inp Emel Encoding urr Imi e uml 2 0 E uml 2 1 Generate views as package r F Generate pk_ prefix for parameter direction T Generate vis _ pref for visibility M Use PrimitiveType rather than DataType Generate extensions Generate ff and cr characters instring rather than amp 10 and k 13 Lim G Java Cancel The XMI generator manages the following options in order e uml or C or java to specify the target language mandatory if other arguments are given except the port number given by Bouml itself generated XMI file path must not contains space encoding for instance UTF 8 view optional to generate views as package uml2 0 optional to generate for UML 2 0 rather than UML 2 1 pk optional to prefix the parameter direction by pk_ vis optional to prefix the visibility by vis_ primitiveType optional to define primitive and derived types like int through a primitive type rather than a data type extension optional to ask the generator to produce or not through an extension the stereotypes and user properties tagged value f optional to produce the characters line feed and carriage return without modification else t
419. st string Stop get_name return name void Stop set_name string new_value name new_value const Java public final String get_name return value public void set_name String new_value name new_value Php final public function getName return Sthis gt name public function setName value Sthis gt name value Idl string get_name void set_name string new_value Menu delete The menu entry delete is only present when the attribute is not read only Delete the attribute associated get and set operations when they exist and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu mark See mark Menu tool 108 of 402 17 02 2008 11 48 Appears only when at least one plug out is associated to the attributes To apply a plug out on the attribute Default stereotypes The dialog allowing to set the default stereotypes has a tab associated to the attributes Generation settings This very important dialog allows to specify many default definitions concerning the attributes more details will be given in C generator Java generator and Idl generator The first tab allows to specify how the types not supported by an UML class are translated in each langu
420. stereotyped import between classes produces an import stereotyped from this produces a form from import definition is replaced by the definition of the classes associated to the artifact The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Artifact dialog tab Id source This tab is only available for the source artifacts and allows to give the definition of the Id source file generated for the artifact it is visible only if Id is set through the menu Languages In the picture given for the UML tab the Idl tab is not enabled because the artifact is not associated to at least one class defined in Id else tifndef NAME _H tdefine NAME _H 5 comment File l includes definition mule start definition module end fandif Editor Defaut definition Not generated In Id I ifndef _UMLARTIFACT_H tdefine _UMLARTIFACT_H inelude a_neaded file h produced by the IDL generator This class manages artifacts ff You can modify it as you want e zcept the constructor Yaluetype Umlartifacr c shtml 8Kind he fandif Result after substitution cr When you push the button default declaration the form specified through the generation settings is proposed this last may be modified as you want even to produce illegal source code When
421. t contains blabla a text cannot be empty The edition of a text is done like for a note A text is resizeable a resize 1s not automatically done when the contains is modified A right mouse click on a text show the following menu Upper Lower Edit Color Font select linked items Remove from view Diagram icon A diagram icon is a shortcut to a diagram this allows to quickly navigate through the diagram without limitation a actor or some othe item kinds may be associated to only one diagram The used icon indicates the diagram kind but its name is not written A double mouse left click on a diagram icon opens the diagram the open entry of the diagram icon menu does the same thing 313 of 402 17 02 2008 11 48 A right mouse click on a diagram icon show the following menu 314 of 402 Overall short cut upper lower open select diagram in browser select linked items remove from view file E uml BOUML bouml_4 2 doc TOUT html The other diagram s elements have an own chapter refer to them Previous class diagram Next deployment diagram 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Deployment diagram a Deployment Diagram Diagram Faf x eaf B F a ala Se ae rer ae scale 100 2 mt Se The deployment diagrams may be placed in a deployment view oha Deployment view Eja Deployment Diagram C lt lt source gt gt an Artifact lt
422. t delete itself the operation to help you to come back to a more apprc stereotype without undesirable modifications The extend of the previous stereotypes include C and Java and Idl both This means for instance that you cannot add an operation to an enum_pattern independently of the translation of this stereotype in C Java Php Python Idl specified through the generation settings But it is also possible to have stereotypes with an extend limited to each language through the definition of new stereotypes For instance if you define the stereotype eiu which is translated by enum in C interface in Java class in Php and Python and union in IDL through the generation settings you will have exactly that you want magic isn t it The stereotypes known at each language level by BOUML are 53 of 402 17 02 2008 11 48 54 of 402 file E uml BOUML boumlL 4 2 doc TOUT html e C class or empty stereotype enum struct typedef and union e Java class or empty stereotype enum enum_pattern interface and interface e Php class or empty stereotype enum interface e Python class or empty stereotype enum produce also a class o Idl enum exception interface struct typedef union and valuetype The class s properties will be exposed below Menus The class menu appearing with a right mouse click on its representation in the browser depend on the stereotype and the artifact association it is something like the
423. t is executable in this case is is the project s name You may specify the template app lib or subdirs set some flags like debug the C pre processor Variable definitions see plug out for explanations on WITHCPP WITHJAVA and WITHIDL ask to place the objects in a directory which is not the one used for the sources etc The source files considered by genpro are the ones produced by the source artifacts associated to the executable artifact on which genpro is applied The same technique may be used to directly generate a Makefile for a C or Java program Previous Html documentation generator Next Rose project import 369 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Rose project import This plug out is developed using BOUML in C As it is signified by its name this one import a Rose model from its mdl and associated files into BOUML in the package project where it is launch This plug out is under development actually the imported diagrams are created empty the BOUML s API doesn t yet allows to modify them Actually the reverse C doesn t allows to complete the imported model with the files generated by Rose BOUML manages the case of the controlled packages through a cat or a sub files find through a variable rather than a fixed path When a variable is not an environment variable BOUML ask for its value only one time or course BOUML write a message into the tool w
424. t is not read only Delete the component and all its representation in the opened diagrams After that it is possible to undelete it from the browser until close the project obviously the deleted items are not saved Menu referenced by To know who are the classes associated to the component and the components referencing the current one through a relation Menu mark See mark Menu tool Appears only when at least one plug out is associated to the components To apply a plug out on the component Menu select the required class Menu select a required class Menu select the realized class Menu select a realized class Menu select the provided class Menu select a provided class Appears only when at least one class is required provided realized by the components To quickly select the appropriate class th component may also be quickly selected from its associated classes 211 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Default stereotypes The dialog allowing to set the default stereotypes has a tab reserved for the components ao Default stereotypes dialog is sleek He 3 Package Class UseCase Artifact Views Diagrams machine submachine top pseudostate a Stereotypes state action send signal receive signal Stereotypes component bull d component entity implement process service subsystem R T i stereotypes to o 5 i cpu device executionEnviro
425. t synchronization This tool synchronize several images of a project developed in parallel by several users The synchronization is made by replacing old files by new ones Note that the files are copied not merged To use Project synchro several conditions must be followed else the synchronization may broke you projects e To detect a file must be replaced by a new one the tool uses the revision not the date when the file was saved the last time Because the revision is used it is not possible to use the tool to synchronize projects modified by the releases of BOUML strictly less than 2 21 If you already have several images of a project you must first resynchronize them by yourself to obtain a uniq image e Each user has his own copy of the project and works only on this copy Obviously each user has his own BOUML_ID e A given project file must be modified by only one user for instance thanks to Project Control This means that when the owner of a file change you must perform a synchronization before obviously it is useless to do a synchronization when a file without own since the last synchronization become owned by someone e The synchronization is not possible for an image having a read only file Project Synchro is not a plug out it is launch like BOUML or any tool when you start it the following window appears Project synchro 20 Project Style Help The menu Project is used to load several images of the same project
426. ta cta certs Javai davate Jawata fiot iae iets taa Directory ifndef _ NAME _H define _ NAME _H comment fle default Fi inelidas fle extension id content module start definition tetece Sete rt ia efi ia yor Stat apc ier miiy iiccmmenti truct f name ei monies s comentionion inane ewitchi tf lewitch fineness j In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Idl code generator are e NAME produce the artifact name capitalized Name produce the artifact name with the first letter capitalized at least name produce the artifact name without modification e comment is replaced by the artifact description adding e description is replaced by the artifact description without adding e fincludes is not yet managed by the Idl generator and produce an empty string e module_start is replaced by the module xx forms dependent on the module specifications associated to the BOUML package containing the deployment view where the artifact is defined e definition is replaced by the definition of the classes associated to the artifact e module_end is replaced by dependent on the module specifications associated to the BOUML package containing the deployment view where the artifact is defined e f xyz is replaced by the user property value in case xyz is the key of this property
427. tate action in a diagram calls the following menu supposing the state action editable upper lower edit drawing settings edit state action select ln browser remove from view delete from model tool Menu edit drawing settings 150 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html These drawing settings concerns only the picture for which the menu is called A settings valuing default indicates that the setting specified in the upper level here the diagram must be followed obviously this one may also be default up to the project level When you add a state action in a diagram all the settings are set to default drawing language deaur state action colar defaut drawing language Allows to specify the used language showing the expression State action color To specify the fill color Menu tools Appears only when at least one plug out is associated to the state actions To apply a plug out on the state action Previous state Next pseudo state 151 of 402 17 02 2008 11 48 Pseudo State Currently BOUML manages only the behavioral states The pseudo states are e final state for reasons of simplification e initial e deep history e shallow history e join e fork e junction e choice e entry point e exit point e terminate In the browser a pseudo state may contain transitions when this is legal The pseudo state s properties will be exp
428. text contains blabla a text cannot be empty The edition of a text is done like for a note A text is resizeable a resize 1s not automatically done when the contains is modified A right mouse click on a text show the following menu Color Font Select linked tems Remove from view Diagram icon A diagram icon is a shortcut to a diagram this allows to quickly navigate through the diagram without limitation a actor or some othe item kinds may be associated to only one diagram The used icon indicates the diagram kind but its name is not written A double mouse left click on a diagram icon opens the diagram the open entry of the diagram icon menu does the same thing A right mouse click on a diagram icon show the following menu Overall short cul upper lower open select diagram in browser select linked Items remove from view The other diagram s elements have an own chapter refer to them 304 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Previous state diagram Next component diagram 305 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Component diagram mje FE g gt 0 ob scale 10034 Si lt lt component gt gt L a Account Orderableltem lt lt component gt gt Product The component diagrams may be placed in a component view a feComponent view component diagram El amp S
429. the get and set operations specificities in Php only visible when Php is set through the menu Languages 111 of 402 17 02 2008 11 48 a GenerationSettings dialog lt I Jes C 1 C 2 cer cota C 5 Javaj ssi auis Aaval Phot PhplZ ia comment visibility const static var name value file E uml BOUML bouml_4 2 doc TOUT html comment visibility comet tT letetic t ver t iname value eonst name value comment Enumeration item default definition Visibility shared with Java default definition public protected C private F final Set operation Visibility shared with Java default definition public protected C private Op ator The first Python tab allows to set the default attribute definition for Python depending on the multiplicity only visible when Python through the menu Languages rot ep fa spaces a Somme t isgert idef init ion Elt inama F l inked it p E Atr ingi 0 menier E clase neme fidocetring members ff comment self namel value multiplicity 1 or unspecified I comment self iname sterectype i other multipiicity The second Python tab allows to set the default enum item definition for Python and the get and set specificities for Idl only visible when Python is set through the menu Languages 112 of 402
430. the BOUML distribution Nevertheless you have to know e the entry point of a plug out in C and Java is placed in the artifact named Main under USER API refer to it e in C if the C pre processor variables WITHCPP WITHJAVA WITHPHP and WITHIDL are defined using define or D option of the G compiler etc you will get all the informations from BOUML if the C pre processor variables WITHCPP WITHJAVA WITHPHP and WITHIDL are not defined you will access only to UML data this means for instance that the operations cppDecl javaDecl phpDecl and idlDecl will not be defined for UmlBaseClassItem this limits the amount of data managed by a plug out and reduce the execution time and used memory space if only WITHCPP is defined you will access only to UML and C data this means for instance that the operations jJavaDecl phpDecl and idlDecl will not be defined for UmlBaseClassItem this limits the amount of data managed by a plug out and reduce the execution time and used memory space if only WITHJAVA is defined you will access only to UML and Java data this means for instance that the operations cppDecl phpDecl and idlDecl will not be defined for UmlBaseClassItem this limits the amount of data managed by a plug out and reduce the execution time and used memory space if only WITHPHP is defined you will access only to UML and Php data this means for instance that the operations cppDecl javaDecl and idlDecl will not be defined for Um l
431. the activity actions In the browser an activity object is placed in an activity or an activity region and may contain flows B 4 tactivity Bie interruptible region ECobject flows Efimexpansion region LJobject object The activity object s properties are exposed below 7 ay Menus The activity object menu appearing with a right mouse click on its representation in the browser is something like these supposing the object not read only nor deleted see also menu in a diagram edit duplicate delete referenced by mark Menu edit edit allows to show modify the object properties In case the object is read only the fields of the dialog are also read only Activity object dialog tab Uml The tab Uml is a global tab Activity Object dialog S Umi oct c Java Properties name object Stereotype type rmiultiolicity ordering unordered in state M is_control description Editar The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The proposed types are the non class types defined in the first tab of the generation settings more all the classes defined in the project with their localization to distinguish synonymous classes You are not limited to the proposed list and any form
432. the class pointed by the relation see the UML tab e name is replaced by the role s name see the UML tab 359 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e stereotype is replaced by the translation in Idl of the relation s stereotype see the UML tab e multiplicity is replaced by the multiplicity of the relation see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the relation if not found for the class containing the relation etc Relation equivalent to an attribute in an union In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Idl code generator are e comment is replaced by the description of the relation adding e description is replaced by the relation description without adding e readonly produce readonly when the relation is read only see the UML tab e type is replaced by the name of the class pointed by the relation see the UML tab e name is replaced by the role s name see the UML tab e stereotype is replaced by the translation in Id of the relation s stereotype see the UML tab e multiplicity is replaced by the multiplicity of the relation see the UML tab e case is replaced by the case associated to the relation e xyz is replaced by the user property value in case xyz is the key of this property The propert
433. the corresponding user property if it is defined for the class or at an upper level else it is not substituted Artifact dialog tab Php source This tab is only available for the source artifacts and allows to give the definition of the Php source file generated for the artifact it 1 visible only if Php is set through the menu Languages zeera RC a0 Umi header C Source dava source Php source Associated class File definition o gt Editor Default definition Not generated in Php lt php abstract abstract class Cl extends C2 implements I a tab Result after i opt substitution f CPP iva wen When you push the button default declaration the form specified through the generation settings is proposed this last may be modified as you want even to produce illegal source code When you do not want to generate the Php source file empties the declaration manually or using the button not generated in Php comment is replaced by the artifact description adding description is replaced by the artifact description without adding definition is replaced by the definition of the classes associated to the artifact The forms property are replaced by the value of the corresponding user property 1f it is defined for the class or at an upper level else it is not substituted Artifact dialog tab Python source This tab is only available for the source ar
434. the definition of the classes associated to the artifact e namespace_end is replaced by the forms dependent on the namespace specifications associated to the package containing the deployment view where the artifact is defined e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the artifact if not found for the deployment view containing the artifact if not found in the package containing the deployment view etc artifact source C The generated file name is the artifact s name with the extension specified in the first C tab of the generations settings In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the C code generator are e comment is replaced by the description of the artifact adding e description is replaced by the artifact description without adding o fincludes if all_includes is not used in the header definition it is replaced by the automatically generated include and using forms corresponding to the declaration generated in the header file If all_includes is used in the header definition it is replaced by the include of the header It is also a good place to add your include and using forms e namespace_start is replaced by the namespace xx forms dependent on the namespace specifications associated to the package containing the deployment view where the artifact is d
435. the edition the characters encoded with a 16 bits unicode character set but out of the editions the characters are saved on only 8 bits When you use non ISO_8859 1 latinl characters you must specify how to do the conversion through the environment variable BOUML_CHARSET When this variable is undefined or has an empty value the character set is ISO_8859 1 If its value is not a known character set s name a dialog appears when you start Bouml giving the available names So to know the possible character sets set BOUML_CHARSET to wrong for instance and call Bouml Examples the list depends on the release of Qt e ISO_8859 1 latin1 for English French Italien German e ISO_ 8859 7 for Greek 395 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e KOI8 R or KOI8 RU or CP_1251 to allow Cyrillic JIS7 for Japan GB2312 GBK or GB18030 for Chinese The specified encoding is used for the description of every elements the user properties and associate values of every elements the stereotype of every elements the definition of the artifacts classes operations attributes relations and extra members the state action behavior the state entry exit do behavior the transition trigger guard do behavior the attribute s value in an object diagram the notes and text in the diagrams It is not used else where for instance you can t use non ISO_8859 1 characters to name the elements
436. the parameter without its children Menu referenced by To know who reference the current parameter through flow Menu mark See mark Menu delete The menu entry delete is only present when the parameter is not read only Delete the parameter and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry fool is only present in case at least a plug out may be applied on an parameter The selected tool is called and applied on the current parameter Default stereotypes The dialog allowing to set the default activity and parameter stereotypes 161 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html Default stereotypes dialog 4 pmp activity CO stereotypes sterest yes parameter OO stereotypes piii H omase cert aiher L u cani Activity Drawing A activity is drawn in a diagram as a rectangle with rounded corners Boumi home bruno uml EX activity activity prj ss Project Windows Tools Miscellaneous Help ia a WW Diagram B activity anje B ARB amp HOO p A th ee Ch abe fiors 4 M4 B PaClass view an activity i Re Process Order Process Order lt lt singieExecution gt gt SDiagrami lt eprecondition gt order complete lt lt postcandition gt order closed
437. this project is empty In this case when you choose create from template the specified project is load and a save as is automatically done Windows menu Winders Cascade l Tile i Preferred geometry P Typical Execution Class and class members classes inheritance diagram The Windows menu allows to select an opened diagram or change the sub windows disposition Tools menu 7 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Tools Languages Miscellaneous show race Window Generate C Ctra Generate Java Ctri J Generate Php Ctrl P Generate Python Cte Generate idl Ctri l Reverse C Reverse Java Reverse Php Reverse Python Java Catalog HTML documentation HTML doc flat HTML doc svg HTML doc flat svg Import Rose Generate AMI 1 2 Generate XMI 2 1 Import ARAL 2 7 Check in Check out Global Change Tools Settings import settings The Tools menu allows to re open the trace window where the plug outs write their messages to apply a plug out on the project independently of the browser item currently selected to add remove modify the known plug outs list see plug out or to import the plug outs list defined in an other project Language menu Languages Miscellaneous Help C management and default declaration definitian lv Java management and default definition fy Pho management and default definition p Python management and default definitio
438. ti jentry to produce the html code receiving chapter number description path rank in the mother and level in the browser tree Editor Default constraint Editor The name may contains spaces to define C operator for instance and a class may have several operations having the same name A clas constructor have the name of its class The proposed type for the value type etc are the non class types defined in the first tab of the generation settings more all the classes defined in the project with their localization to distinguish synonymous classes You are not limited to the proposed list and any for even invalid for the target language s may be given The button value type shows a menu proposing e if the current value type is a class to select this class in the browser e if the operation is not read only and if a class is selected in the browser to set the value type to be this class e if the view containing the class containing the operation is not read only to create a new class and to set the return type to it Nevertheless I strongly recommend you to not add type modifier like amp etc with a class name in the UML tab because BOUML differentiate a reference to a class of the model and any other forms see type considerations 117 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The proposed stereotypes are the default ones specified through the Default stere
439. tifact it is visible only if Java is set through the menu Languages artifact dialog 4 a ah ae i j Umi C header C source Java source dispute Associated classes Associated artifacts User 7 comment File import java io delinition package definition Editar Default definition Not generated in Java import java io 4 This elass manages artifacts i ER f f You can modify it as you want except the constructor substitution olass UmlArtifact extends UmlBaseArtifact a UmbaArtifact i a ehtml 5Kind be When you push the button default declaration the form specified through the generation settings is proposed this last may be modified as you want even to produce illegal source code When you do not want to generate the Java source file empties the declaration manually or using the button not generated in Java comment is replaced by the artifact description adding description is replaced by the artifact description without adding package is replaced by the package xx forms dependent on the package specifications associated to the BOUML package containing the deployment view where the artifact is defined definition is replaced by the definition of the classes associated to the artifact The forms property 217 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html are replaced by the value of
440. tifacts and allows to give the definition of the Python source file generated for the artifact it is visible only if Python is set through the menu Languages artifact dialog Si a a E Umi c header C source Java source Python source dl source comment Fil import z definition definition Editor Default definition Not generated in Python es Import ii produced by the Python generator Result ater Joyass Cl object substitution oper i is iait t 218 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html When you push the button default declaration the form specified through the generation settings is proposed this last may be modified as you want even to produce illegal source code When you do not want to generate the Python source file empties the declaration manually or using the button not generated in Python comment is replaced by the artifact description adding at the beginning of each line description is replaced by the artifact description without adding imports is replaced by the automatically generated import and from import forms done by the Python code generator not made by the dialog which produce a fixed form from the dependencies between classes and between artifacts stereotyped import or from A dependency stereotyped import between artifact produces an import stereotyped from this produces a from import A dependency
441. tion We consider in this chapter only the relations between classes To add a relation to a class you have to use a class diagram obvious diagram or the relation drawing may be deleted just after it is not possible to add a relation through the browser It is also not possible to move a relation into an other class or elsewhere The icon in the browser indicates if the relation is public protected private or package The protected and package visibilities are translated in private in Idl The package visibility is translated in private in C and doesn t produce a visibility in Php use this case to produce Php 4 code A class relation is underlined A bi directional relation is supported by two relation items in the browser A relation have a name a stereotype may have one or two roles and multiplicity one by direction Note that it is not possible to specify a stereotype for each direction of a bi directional relation frankly I avow that the main reason is to simplify as it is possible the drawing of the relations in the diagrams with the associated labels In the browser are written the name of the relations by default its kind between parenthesis the role s of the associations an aggregations the end class of the generalization realization and dependency The stereotype may be may be showed hidden through the Miscellaneous menu The name of a relation is not used by the code generators Project Windows Jools Mi
442. to its drawing as a compartment Menu set associated diagram set associated diagram allows to automatically open the current diagram when a double mouse click is made on the component representation in a diagram or the browser After that the only way to edit the component is to choose the edit entry in the menu Fe Previous flow Next artifact 213 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Artifact Artifacts are used to produce source file s when the stereotype is source or to specified how libraries or an executable are composed ERAP USER Deployment view h lt lt executable gt gt executable lt lt source gt gt Main 4 lt lt source gt gt UmlActualParameter S lt lt source gt gt UmlClassitem lt source gt gt UmlFormalParameter lt lt so0urce gt gt LimlAttribute An artifact stereotyped source potentially associated to classes to produce their code but you may directly give its source s contain for instance to define the C main function as it is made in the plug outs An artifact stereotyped text is not associated to classes and allows to produce its C Java Php python or Id definition as it is set without any changes Thi generated file is named like the stereotype including the extension The non source nor text artifacts may be associated to other artifacts this allows to define libraries and executable to generate Makefile etc see the plug out ge
443. to specify the default Php generated code for the relations and to specify the get and set operations specificities in Php a GenerationSettings dialog m Stereotypes c c 2 CHE csta C 5 Java 1 Javarz Java a Javal4 Phat Pheig aj 7 comment Fivisibility comet G etatici me aor Association and d comment Sivisibi lity const static var name valua aggregation default declaration comet mame j walwed commerst Enum atan age i Visibility shared with Java Modifiers sibility shared with Java G public protected private F final name get Name F alsa in uml default definition en r Visibility shared with Java Modifiers z Set operation leat Name T also in uml default definition public protected private I final cabin ili Sicomment FifinaliFivisibility Fiaketrect fietetic function f name F11 91 Ope ator i cite ceive ti bcety borarne The form in from of also in uml allows to specify the name of the operation in Php the same rule is followed in UML if also in uml is set The second Python tab allows to specify the default Python generated code for the relations and to specify the get and set opera specificities in Python 91 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a GenerationSettings dialog PF _ 7 ex Types Stere
444. tore amp Order Customer i Product A component diagram is created through the new component diagram entry of the component view browser menus Browser menu The node menu appearing with a right mouse click on its representation in the browser is something like these supposing the diagram not read only nor deleted show edit edit drawing settings duplicate delete mark tool Browser Menu show show allows to show the diagram picture and edit it in case it is not read only Browser Menu edit edit allows to show modify the diagram properties In case the diagram is read only the fields of the dialog are also read only component diagram dialog tab Uml 306 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Component diagram dialog 4 Umi User name Diagram Stereotype description Editar The proposed stereotypes are the default one specified through the Default stereotypes dialog more the current one empty here It is possible to choose into the list or to give a new one or to empty it The stereotype of a diagram doesn t have a special meaning for BOUML The editor button visible above and associated here to the description allows to edit the description in an other window or to call an external editc for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external editor have to create an own window its
445. trol the project files with CVS Subversion Clear Case or other file controller doing the check in out on the appropriate files This plug out asks for the command to be made on each file The command is executed through the function system don t forget to give the option nc for Clear Case Of course in case you don t use a file control you may use this plug out to set the file permissions using chmod in the commands under Linux etc The first parameter of the plug out must be ci or CO to know what must be done this means that the plug out is configured two times for instance like this HTML documentation A LALA A ALA ALA AOA AA AAR A MAJA XIA OR Generate pro a jirase Import Rose AODA _Jcpp_util C utilites A jgmi Generate Ml a 6 stmgen C state machine A 7 _jusecasewizard Use case ward F fle_contral eci Check in A LA a file controlco Check out AOA i Deploy classes executable cen When it is applied to a the project or an other package it ask you for the command proposing the last used one file_control M Check in sub packages In the command fhe will be replaced by the file s name and dir by the directory where is the fle Command specify the command with the fle replaced by fle Save then reload the project to see the new write permission of the files Ok Cancel fiie control lt 2 gt e k Check out sub packages In the command fle will be replaced by the file s name and dir
446. ttached to a package except its sub packages have the write access of this package Recall the generation settings default stereotypes etc are associated to the project package a good way is to not define views directly in the project package but to immediately create sub packages each one owned by a different user or protected Project Control is not a plug out it is launch like BOUML or any tool when you start it the following window appears mt Project control lt 3 Project Style Help we amp WR browser Owner Owner name Revision Modited by ser 15 bruno id z To avoid inconsistencies you can t apply Project Control several times on a given project and you can t use it on a project while it 1s edited by BOUML or by Project Synchro if this is the case a message warns you Control project S winx The project is already locked by Project control or Project syneha the directory alllock esdsts The write access are written inside the project files associated to the packages if all the users access to the same shared image of thi project the protection will be taken into account by BOUML If there are several images of the project after the use of File Control each image must be updated or you must set the same write access using the tool by yourself All the operations are presented to be done for a given user this user is indicated at the bottom of the window Obviously the user is firs
447. tum 0 in C lai maset IdjCase Fa and produce a RuntimeException in Java creafe inout parent UmiClass ins stri i UrnlAttribute The bouml window is composed of three parts e The left sub window display a browser presenting your project the navigation may be done by the mouse or the keyboard s arrows The bold font is used when an item is modifiable an item is read only when you do not have the write permission for the file s 4 of 402 17 02 2008 11 48 5 of 402 file E uml BOUML boumlL 4 2 doc TOUT html supporting it see project files The system items supporting the plug out s API for instance Um lBaseActor are also read only e The bottom right sub window is used to display modify the comment associated to the current selected item e The top right part is used to display modify the diagrams these ones may be maximized or minimized Notes e if you have at least a dual monitor configuration the better is to set the environment variable BOUML_LIMIT_DESKTOP see here e if you use non ISO_8859 1 latin1 characters for instance Cyrillic set the environment variable BOUML_CHARSET see here e itis possible to start a plug out when Bouml is launch see here Project creation A project creation is done through the entry new of the project menu When you create a new project a file dialog appears its aspect depend on the used system and window manager and you have to selec the directory where the project will b
448. uUenCEe collaboration state show packages name In tab default default note color default show packages context defauit default use case color default ul k Hi default automatic labels position i defaut defauk package color default fragment color default write transition horzontally default default subject color default default default duration color default draw all relations default default continuation colar default draw shadow defautt default class color default x sian ee meee wc J default state color default draw state s regions horizontally default Jee state acin cater oett drawing language default default activity color oett show transition definition W Diagram Drawing Settings di a 4 ollaboration state activity colar 1 color 2 default activity region color default default activity action color default default parameter and pin color default This dialog allows to specify how the sub diagrams must be drawn by default Menu delete The delete entry is only present when the package is not read only Delete the use case view and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu mark
449. ue iS replaced by the initial value of the static attribute in the declaration part generated in the header file see the UML tab value and h_value are exclusive e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc enumeration item The macros known by the C code generator are e comment is replaced by the description of the item adding e description is replaced by the item description without adding e name is replaced by the item s name see the UML tab e value is replaced by the value of the item see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc Relation The C definition of a relation is set through the Uml and C tabs of the relation dialog The indentation of the first line of the definition give the indentation added to the visibility specification in the class definition for all the relation definition except for the pre processor commands beginning by whose are placed at the beginning of the line Relation equivalent to an attribute In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the C code generator are e comment is replaced b
450. ugh the buttons on the top of the diagrar 291 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html window click on the start state or pseudo state with the left mouse button move the mouse each time the mouse button is raised a new line break is introduced at least click on the end state or pseudo state To abort a relation construction press the right mouse button or do a double click with the left mouse button A line may be broken during its construction of after clicking on the line with the left mouse button and moving the mouse with the mouse button still pushed To remove a line break a double click on the point with the left mouse button is enough or use the line bri menu of the point using the right mouse button The scale may be changed from 30 up to 200 To allows to see the operation message kinds even with a small scale the size of the arrc unmodified fit allows to set the largest scale allowing to show all the picture as it is possible Because of the scrollbar management hitting several times on fit may give several scales Classically the left mouse click may be used to select an element or several when the control key is down a multiple selection may also be done defining a region using the mouse left click out of any element and moving the mouse with the click and maintaining the clic down The diagram s elements may be moved after a left mouse click on an element and maintaining the click d
451. ully managed by BOUML and saved among the project data see project files However you can also enter the bodies out of BOUML thanks to the option Preserve operations s bodies of the Language see top level menu An operation is created through the class menu called from the browser or a class picture in a class diagram UmlOperation ower edi drawing settings UmlOperation mehvidum airin visibity add atribut INdrviduAl operaban visibity add operation edt clasa add inherited operation acid atribut add embedded class eit attribut acd etra memher add operation E add inherited operation dane ae ed operaton P set i embedded in _imiNode select in browser Sect 6650Cieted Compone nrt set associeted diagram nelerenced by femo ye for view mri delete kom model generate z generate P too z too The icon in the browser indicate if the operation is public protected private or package The protected and package visibilities are translated in private in Idl The package visibility is translated in private in C and produce nothing in Php allowing you to generate Php 4 code Note that BOUML doesn t check the validity of the re refinition of an inherited operation for instance thi visibility 1S not checked the operation may be final in Java etc but some operations are not part of the proposed operations list the constructors destructors and the operations alre defined in the
452. ult note calor default Huug show parameter directian default show parameter name default E eeto z KE fierun foetan oetan draw all relations defauit default package color default show packages name in tab default show classes and packages context defauit Jo od automatic labels position default default fragment color default show information note default draw shadanw default Cancel Cancel e drawing language to indicate in which language the operations must be written when the full definition is showed see below see class drawing in a class diagram 266 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html classes drawing mode to draw the class using a rectangle or an icon see drawing mode in a class diagram e hide classes attributes to hide or not the attributes it is also possible to specify the visibility for each one e hide classes operations to hide or not the operations it is also possible to specify the visibility for each one e show classes member full definition to show all the attributes and operation profile or just their name e draw all classes relations to automatically draw or not the new relations obviously a relation will be added in a diagram only when the start and end cla may be the same are drawn e package name in tab to indicate if the package s name must be written in the tab which is the s
453. um default Sfitems declaration Typedef default Floomment typedef Fitype Finame declaration F comment exception name Exception default fei members f declaration The tab Description allows to set a default description the default description is used when you hit the button default in the description part of a class of the class dialog 70 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html GenerationSettings dialog Hay cata ceta ces Javai Javagz savarsi tai tee ioia toita Description Directory Drawing A class is drawn in a diagram as a rectangle or an icon depending on the class s stereotype and the drawing settings Diagram Faf aj Jen x BEET 9 4 os o ca ws locate 100 J gt ntity E Control i Boundary Ketar ner 4 td A right mouse click on a class in a diagram calls the following menu supposing the class editable 71 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html StandardClass upper lower edit drawing settings individual attribut visibility individual operation visibility edit class add attribut edit attribut add operation edit operatian P select in browser set associated diagram remove from view delete from model generate i i tool Menu edit drawing settings These drawing settings concerns only the picture for which the menu is called A settings valu
454. umbering recursively or not or delet some of them recursively or not Collaboration diagram message dialog jig asl ib 5 ank Hierarchical rank From Message To organist KeyOownt greatkeyboard greatkeyboard blowt stop stop singi pipe greatkeyboard keyDown surellkeyboard swelltkeyboard blows stop Stop singi pipe The proposed messages are the operations defined on the message receiver more the current one but you may also give any other message A mouse click on the appropriate line and column allows to modify the appropriate cell Picture Menu edit drawing settings see edit drawing settings Picture Menu select all Select all the items of the current diagram also done through a control a 256 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Picture Menu find selected browser element To find in the diagram a representation of the elements selected in the browser Picture Menu optimal scale similar to the fit scale button change scale to see all the diagram s elements at great as possible Picture Menu optimal window size Similar to the button Hy change the size of the windows to see all the diagram s elements with the current scale Picture Menu copy optimal picture part Copy all the diagram elements equivalent to a optimal windows size followed by a copy visible picture part then a restore of the original windows size Picture Menu copy visible pa
455. unset preferred and scale To stop to define a preferred size and scale was set Picture Menu format By default the diagram s canvas size is 840 x 1188 points corresponding to an iso A4 format 210 4 x 297 4 all the available formats are e iso AS 592 x 840 e iso A4 840 x 1188 e iso A3 1188 x 1680 e iso A2 1680 x 2376 e iso Al 2376 x 3364 e iso AO 3364 x 4756 e USA A 864 x 1116 e USA B 1116 x 1728 e USA C 1728 x 2236 e USA D 2236 x 3456 e USA E 3456 x 4472 Each format also exists in landscape Picture Menu undo changes Undo all the changes made since the diagram was opened the last time Note that the diagram is restored independently of the the pr saving Obviously the deleted browser items was not restored Network Menu The menu appearing with a right mouse click on a network line is something like these supposing the diagram not read only 319 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html edit select stereotype and label default stereotype and label position remove from view Network Menu edit edit allows to edit the network label ethernet stereotype Network Menu select stereotype and label To select the network label and stereotype Useful when you are lost after many label movings Artifact association Menu The menu appearing with a right mouse click on an association between artifacts is something like these
456. ursively from this one Alt p to protect all the packages from the current and going down recursively e Assign to lt user gt unassigned packages recursively from this one to protect except for the current user all the unprotected packages from the current and going down recursively the state of the other packages is unchanged e Assign to lt user gt all packages recursively from this one Alt a to protect except for the current user all the packages from the current and going down recursively e Unassign lt user gt s packages recursively from this one to not protect the packages own by the current user from the current package and going down recursively the state of the packages is unchanged e Unassign all packages recursively from this one Alt u to not protect the packages from the current package and going down recursively Warning the change is immediately made and these is no undo Change the current user To change the current user use the button representing an actor or the entry in the project menu a dialog appears Choose aaia Select a user to get its identity you may change or set his name J User 2 bruno New name Ck Cancel Choose a user from the list set the name through the line editor when it is unknown for the selected BOUML_ID 386 of 402 Previous Plug out Next Project synchro 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Projec
457. use button still pushed To remove a line break a double click on the point with the left mouse button is enough or use the line bri menu of the point using the right mouse button By default the lines go to the center of their extremities to decenter a line click near the desired extremity and move the mouse click down To come back to a center line use the menu geometry A right mouse click on a relation in a diagram or a double click with left mouse button calls the following menu supposing the rel editable edit select in browser select labels labels default positon geometry Ciril i remove from view delete from model tool Menu edit To edit the relation Menu select labels To select the labels relation s name stereotypes role s and multiplicity ies associated to the relation Useful when you are lost afte many label movings Menu labels default position To place the labels relation s name stereotypes role s and multiplicity ies associated to the relation in the default position Useful when you are lost after many label movings By default when you move a class or a relation point break or edit the relation the associated labels are moved to their default position this may be irritating To ask BOUML to not move the associated labels on the relations in a diagram use the drawing settings of the diagrams Menu geometry Allows to choose one of the line geometry or to recenter a decent
458. va but in fact BOUML doesn t check the syntax this is just a convention Activity Action dialog 2 mpm yl ye ml oct c Java Properties Fre condition Post condition Menu duplicate The menu entry duplicate clone the activity action without its children Menu referenced by To know who reference the current activity action through a flow Menu mark See mark Menu delete The menu entry delete is only present when the activity action 1s not read only Delete the activity action 186 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html and all its children and all the representation of them in the opened diagrams After that it is possible to undelete them from the browser until you close the project obviously the deleted items are not saved Menu tool The menu entry tool is only present in case at least a plug out may be applied on a activity action The selected tool is called and applied on the current activity action Pin menus The pin menu appearing with a right mouse click on its representation in the browser is something like these supposing the pin not read only nor deleted see also menu in a diagram edit duplicate delete Menu edit edit allows to show modify the pin properties In case the pin is read only the fields of the dialog are also read only Pin dialog tab Uml The tab Umil is a global tab name pin stereotype
459. value of the attributes and relations appears T husband A right mouse click on a class instance in an object diagram calls the following menu supposing the instance editable Upper Lower Edit drawing settings Edit s lect in browser select class in browser Select linked items Remove from view Delete from model Please refer to the chapter object diagram for more details Previous extra member Next state 141 of 402 17 02 2008 11 48 Currently BOUML manages only the behavioral states file E uml BOUML boumlL 4 2 doc TOUT html State A state represents a state machine a sub machine a composite state or a simple state By definition each state placed in a class view a use case view or a use case is a state machine and a state machine may contains sub machines and states By default at the creation time a state machine is stereotyped machine and a sub machine is stereotypes submachine Note for reasons of simplification the final state is considered to be a pseudo state In the browser a state may contain sub states regions pseudo states transitions actions and state diagrams E leemachine gt gt AStateMachine Eli AState region regim _Jeesubmachine gt gt ASubMachine State Diagram ee PhO Peres yyy entry E eereceive signal gt gt l gt lt lt send sigqnal 2 gt The state s properties will be exposed below Menus The state menu appearing w
460. ve optimal picture part png Save visible picture part png Save optimal picture part avg save visible picture part svg Optimal scale Optimal window size Set preferred size and scale set preferred scale size unset Restore preferred size and scale Unset preferred size and scale Format Unda all changes Picture Menu transform to flat activity bars transform to overlapping activity bars Allows to automatically modify the diagram to use flat or overlapping activity bars The overlapping level introduced by a reflexive message is propaged to the next messages you may have to add explicit return transforming flat activity bars to overlapping ones Known problem the fragments alt are not taken into account by the transforma cutting first the activity bars crossing over the separators may help for The transformation is not undoable to save the project before may be a good idea In a diagram using overlapping activity bars the reception of a synchronous message create a new overlapping activity bars this is not the case for the reception of an asynchronous message but you can ask for to create an overlapping activity bars through the mem message in a diagram using overlapping activity bars a reflexive synchronous messages is always at the beginning of an activity bars and a reflexive returns at the end you can t move them Picture Menu edit drawing settings see edit drawing settings Picture Menu sel
461. visibility for each one hide operations To hide or not the operations it is also possible to specify the visibility for each one show full members definition To write all the attribute operation definitions or just their names See also drawing language 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html show members visibility To write or not the visibility show attributes multiplicity To write or not the multiplicity of the attributes when the drawing language is UML and you ask to show for full members definition show attributes initialization To write or not the default value of the attributes when you ask to show for full members definition member max width To limit the width in characters used to produce the definition of the operations and attributes When the width is greater that the m width the string is cut and is added Doesn t take into account the stereotype show parameter direction To write or not the direction of the operation s parameters show parameter name To write or not the name of the operation s parameters show information note To show or not the constraints as a note This note is able to contain the constraints of the class itself the constraints of its members and the inherited constraints To choose which constraint must be written edit the node and a dedicated dialog will appears Ci z s oan z eee r IE F a Constraints visibility dialog lt 3 Fes
462. w or not the activity s pre and post conditions depending on the drawing language Note on an upper level for instance at the diagram level this drawing follow the value of the drawing show info notes In the diagram above show conditions is true if false the drawing become Process Order lt lt singleExecution gt order rejected drawing language Allows to specify the used language in case the activity s pre and post conditions are shown 163 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html activity color To specify the fill color Menu set associated diagram set associated diagram allows to automatically open the current diagram when a double mouse click is made on the activity representation in a diagram or the browser After that the only way to edit the activity is to choose the edit entry in the menu Menu tools Appears only when at least one plug out is associated to the activitys To apply a plug out on the activity Parameter Drawing A parameter node is drawn in a diagram as a rectangle with the indication indicating if the parameter is a stream or an exception an activity a parameter parameter stream parameter _ exception A right mouse click on a parameter in a diagram calls the following menu supposing the parameter editable upper lower edit drawing settings resize other like it edit parameter select in browser select class
463. wing settings 277 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html see edit drawing settings Picture Menu select all Select all the items of the current diagram also done through a control a Picture Menu find selected browser element To find in the diagram a representation of the elements selected in the browser Picture Menu optimal scale similar to the fit scale button change scale to see all the diagram s elements at great as possible Picture Menu optimal window size Similar to the button H change the size of the windows to see all the diagram s elements with the current scale Picture Menu copy optimal picture part Copy all the diagram elements equivalent to a optimal windows size followed by a copy visible picture part then a restore of the original windows size Picture Menu copy visible part Put the visible part of the current diagram in the clipboard copy it is a screen copy the current scale have impact on the picture quality It is also possible to print all not only the visible part the current diagram on printer or a file through the button Picture Menu save optimal picture part To save all the diagram elements in a file equivalent to a optimal windows size followed by a save visible picture part then a restore of the original windows size Picture Menu save visible picture part To save the visible part of the current diagram in a file it is a screen copy the cur
464. xtension depend on the language and is fixed for each by the generations settings see below the directory where the files are generated may be set in each package containing directly or indirectly the artifact see generation directory artifact The C definition of a artifact is set through the C header and C source tabs of the artifact dialog The code generation depend on the stereotype of the artifact o text the C definition of the artifact is produced without changes the name of the generated file is the name of the artifact including the extension source see below e else nothing is generated for the artifact artifact header C The generated file name is the artifact s name with the extension specified in the first C tab of the generations settings 325 of 402 17 02 2008 11 48 326 of 402 file E uml BOUML boumlL 4 2 doc TOUT html GenerationSettings dialog ek L EE ifndef _ NAME _ H fidefine _ NAME H i comment i includes declarat ions Namespace start definition namespace _end fHendif Header file default content comment S ineludes namespace start members namespace end Source file default content generatedreversed generatedireversed ki le 7 ie h x A cpp include without path header file extension source fle extension force Namespace r generate Javadoc prefix gener
465. y has a great advantage when you hit Default definition the body is not cleared At least BOUML share the definition forms of the operations and other objects to minimize the ne memory size body help for this The indentation of the keyword body is added at the beginning of each line xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the operation if not found for the class containing the operation etc If the toggle preserve operations s body is set through the Languages menu the generators do not modify the body of the operations protected by dedicated delimiters This means that for them the boc definition set through BOUML is not used The first time you generate the code with the toggle set because the delimiters are not yet present in the generated code the operation s body will be updated depending on their definition under BOUML After while the toggle is set and the delimiters present the bodies will not change allowing you to modify them out of BOUML Notes e In case the file containing a body definition is not consistent with the artifact under BOUML the body will be regenerated by th code generation using its definition under the model e When you import a project the body of the imported operations must be the right one in the imported model The preserved bodies of the imported operations will not be find because the identifier of an operatio
466. y default the names of the generated attributes are the role names The multiplicity is used to compute the default declaration and the generated code for each language the proposed ones are not the alone know by the code generators you may also use a number or a number between they are not distinguished by BOUML to specify a vector c sequence or numbers each between to specify a multi dimensioned array The initial value give the default value of the generated attribute s in C it is taken into account only when the relation is a read only class relation default the generated form is exactly the one you give this means that you have to give the when it must be generated this allows tc give the arguments of a constructor 79 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html The visibility may be chosen with the radio buttons the relations have a default visibility set through the class settings Class Settings d Dauh aries vieii orotected default relations visibility protected Grimi operations willy aen oros By default the description is used to produce comments by the code generators The editor button visible above and associated here to the description and initial value allows to edit the description or initial value in an othe window or to call an external editor for instance Xcoral specified through the environment variable BOUML_EDITOR Note that this external
467. y if searched first for the operation if not found for the class containing the operation etc Attribute The Id definition of an attribute is set through the Uml and Idl tabs of the attribute dialog The indentation of the first line of the definition give the indentation added to the class definition for all the attribute definition The definition of an attribute depend on the stereotype of its class interface s attribute In BOUML the generated code is obtained by the substitution of macros in a text the macros known by the Id code generator are e comment is replaced by the description of the attribute adding e description is replaced by the attribute description without adding 357 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html e readonly produce readonly when the attribute is read only see the UML tab o f attribute produce attribute o type is replaced by the type of the attribute see the UML tab e stereotype is replaced by the translation in Idl of the relation s stereotype see the UML tab e multiplicity is replaced by the multiplicity of the relation see the UML tab e name is replaced by the attribute s name see the UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the attribute if not found for the class containing the attribute etc valuetype s attribute The mac
468. y if searched first for the relation if not found for the class containing the relation etc Inheritance The class inheritance are managed at the class level Extra member The Id definition of an extra member is set through the Id tabs of the extra member dialog No macros Previous Python reverse Next Roundtrip body 360 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html Roundtrip body This is a plug out directly written in C When you set preserve operations s body through the miscellaneous menu you edit the operation s bodies out of Bouml and this one doesn t contains up to date operation s bodies except for operations setting force body generation This plug out updates the operation s bodies in Bouml from the sources Roundtrip body works on the artifact not at class level So when you ask for roundtrip body on an artifact or an upper level all the operations of all the classes having the mark in the sources associated to the artifact will be roundtripped You can ask for roundtrip body at package deployment view or artifact level except in this last case the roundtrip is done recursively Previous Idl generator Next State machine generator 361 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html State machine generator The state machine generator create or update the classes implementing a behavioral state machine on which it is
469. y said This root directory may be relative to the project The browse buttons call a file browser Menu edit drawing settings 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html aa Diagram Drawing Settings dialog drawing language uml Classe drawing mode matiral x k hide classes altibutes hide Classes operations drawing language show classes members full definiti n ng show classes mambers visibility instances drawing mode natural show classes members stereciype show atinibute multiplicity show atribuie initialization shaw operations full definition has members wigih unlimiied show operation parameter direction yes show operation parameter nama yas write nametype horizontally yes draw all relations show packages name In tab draw all relations yes show classes and packages conterd i aulomalic labels pisitan show information note draw shadow 26 of 402 17 02 2008 11 48 file E uml BOUML bouml_4 2 doc TOUT html a Diagram Drawing Settings dialog ak i Diagram Drawing Settings dialog class sequence coliaboration abject use case com class sequence collaboration jobject use case com drawing language uml _ Write nametype horizontally yes show operations full definition mo show packages name in tab na show hierarchical rank show packages context write nametype horizontally sh
470. y the description of the relation adding e description is replaced by the relation description without adding e static produce static when the relation is a class relation see the UML tab e const produce const when the relation is read only see the UML tab e type is replaced by the class pointed by the relation see the UML tab e name is replaced by the relation s role name see the UML tab e value is replaced by the initial value of the static relation in the definition part generated in the source file see the UML tab value and h_value are exclusive o h_value is replaced by the initial value of the static relation in the declaration part generated in the header file see the UML tab value and h_value are exclusive e mutable produce mutable when the relation is mutable e volatile produce volatile when the relation is volatile e stereotype is replaced by the translation in C of the relation s stereotype see the UML tab o multiplicity is replaced by the multiplicity of the relation see the UML tab must be used in case the multiplicity is a vector or arra dimensioning and are added when they are not present e fassociation is replaced by the association class see UML tab e xyz is replaced by the user property value in case xyz is the key of this property The property if searched first for the relation if 330 of 402 17 02 2008 11 48 file E uml BOUML boumlL
471. you do not want to generate the Id source file empties the declaration manually or using the button not generated in Idl NAME produce the artifact name capitalized Name produce the artifact name with the first letter capitalized at least name produce the artifact name without modification comment is replaced by the artifact description adding description is replaced by the artifact description without adding includes will be replaced by the automatically generated include forms not made by the dialog which produce a fixed form in a future version of the Id generator it is a good place to add your include forms 219 of 402 17 02 2008 11 48 file E uml BOUML boumlL 4 2 doc TOUT html module_start is replaced by the module xx forms dependent on the module specifications associated to the BOUML package containing the deployment view where the artifact is defined definition is replaced by the definition of the classes associated to the artifact module_end is replaced by the forms dependent on the module specifications associated to the BOUML package containing the deployment view where the artifact is defined Refer to the generation settings for more details The forms property are replaced by the value of the corresponding user property if it is defined for the class or at an upper level else it is not substituted Artifact dialog tab associated classes This tab is only av
Download Pdf Manuals
Related Search
Related Contents
Yamaha 2012 V Star 250 Owner's Manual Avision Inc. - Avision.com MANUAL DE USUARIO TS5 05 資料4 繁殖期のウズラ調査方法(プレイバック法)マニュアル Rangemaster CLAHDC100 Samsung 214T Uživatelská přiručka Mode d`emploi Descargar Copyright © All rights reserved.
Failed to retrieve file