Historic
Next releases
Historic of newest releases
4.23 Ultimate patch 7
October 2011
- C++ Reverse 2.15 patch 2
C++ Roundtrip 1.3 patch 2
Remove the '*' at the beginning of lines of comment
(javadoc case) to avoid unexpected redundant '*'
at generation or roundtrip time.
- XMI2 Generator 1.15 patch 1
Add the export of the operation's parameters default value
4.23 Ultimate patch 6
July 2011
- Php Generator 1.11 patch 1
Generated code was wrong for classes marked external and
defining the require_once form to produce
(cf.), fixed.
- Php Reverse 1.8.1 patch 1
A crash could occurred when reversed classes are defined in a namespace, fixed.
4.23 Ultimate patch 5
June 2011
- In a communication diagram, undo a geometry change on a link
between instances supporting at least one message could
introduce inconsistencies, fixed.
- State machine generator 1.4.2 patch 1
To manage the case where the name of the attributes of
classes in C++ is not the name of the corresponding
attributes/relations of classes in UML
(for instance their C++ definition is ...${type} _${name}...
rather than ...${type} ${name}...)
4.23 Ultimate patch 4
April 2011
- Java Reverse 2.18 patch 1
Java Roundtrip 1.5 patch 1
Java Catalog 2.17 patch 1
Fix bugs concerning the annotations
(cf.)
- C++ Generator 2.19 patch 1
Add the declaration of the friends classes defined in
an other namespace.
4.23 Ultimate patch 3
February 2011
- Unexpected changes of settings was done when importing a project,
or importing a project as a library, or updating an imported library,
fixed.
(cf.)
4.23 Ultimate patch 2
January 2011
- In a sequence diagram, to add a lost message terminating on a life line or a duration bar introduced inconsistencies and it was not possible after to reopen the diagram without producing an error and loosing part of the diagram, fixed.
4.23 Ultimate patch 1
December 2010
- C++ Reverse 2.15 patch 1
C++ Roundtrip 1.3 patch 1
The template form of a template function was wrongly reversed
in case there was several formals, fixed.
(cf.)
- XMI2 Import 1.10 patch 1
In previous release uml:ActivityFinalNode wasn't
imported, fixed.
(cf.)
4.23 Ultimate
November 2010
- In the previous releases in a diagram when you selected a line break of a
line/relation/transition/flow and hit a Suppr/Delete or control-d
the line/relation/transition/flow could disappears then reappears the next time
you reopen the diagram, rather than to just remove the line break and join the two
sub lines, fixed.
(cf.)
- In the previous releases, depending on the order of the changes, the tab instantiate
of a class dialog could be wrongly validated/unvalidated or the list of actuals could
not be up to date after you changed the list of the formals parameters of an inherited class,
fixed.
- In the previous releases after you resized a class to the its minimal height
but not its minimal width, any modification of the class resized it to
its minimal size, fixed.
(cf.)
- In the previous releases when you decreased the size of an element through the
top-left or top-right or bottom-left corner and the minimal size was reached,
the element moved, fixed.
(cf.)
- In the previous releases it was not allowed for an activity initial node to have
several outgoing flow, this is now possible.
(cf.)
- In the previous releases when you updated a project imported as a library the
body of the operations was emptied, fixed.
(cf.)
- In a communication diagram the instances can now be drawn using the
actor or boundary or control or entity or interface icon depending on
the drawing mode in the drawing settings.
(cf.)
To not change the already existing diagrams,
when you open an old diagram the drawing mode is initialized
to class.
- On parameter of operation add the multiplicity. Note this multiplicity is not taken into account
to compute the default declaration/definition of an operation nor used by them.
The drawing setting show attributes multiplicity is renamed
show members multiplicity and apply on attributes and operations.
The multiplicity is produced by a form ${m<n>} a priori in a comment.
- On operation add the multiplicity of the return type introduced by UML 2.2. Note
this multiplicity is not taken into account to compute the default declaration/definition
of an operation.
The multiplicity is produced by the form ${multiplicity} a priori in a comment.
- Add the default stereotype decisionInputFlow for decision input flow,
introduced by UML 2.2
- On activity actions add the attribute isLocallyReentrant
introduced by UML 2.3
- In the previous releases in C++ a friend class was indented with two spaces
and a nested class with four spaces. Now you are able
to set the expected indents through the generation settings.
(cf.)
- Php Generator 1.11
Since the release 4.22 a class declared external was always produced
after a \ independently of the namespaces, fixed.
(cf.)
To generate the multiplicity of the parameters and return type of the operations.
- C++ Generator 2.19
To generate the multiplicity of the parameters and return type of the operations.
To manage friend class and nested class indent.
- Java Generator 2.23
Idl Generator 2.16
Python Generator 1.6
To generate the multiplicity of the parameters and return type of the operations.
- XMI2 Generator 1.15
In previous releases an activity final node was produced throw an
uml:FinalNode rather than an uml:ActivityFinalNode, fixed.
(cf.)
In previous releases the value of an enumeration item was produced throw a
defaultValue rather than a specification, fixed.
(cf.)
To manage the multiplicity of the parameters of the operations.
To manage the multiplicity of the operations return type,
produced if you ask for at least an UML 2.2 generation.
To manage the decision input flow,
produced if you ask for at least an UML 2.2 generation.
To manage activity actions's attribute isLocallyReentrant.
It is produced if you ask for an UML 2.3 generation.
When you apply the plug-out when starting BOUML through a command line the
specification of the UML version is now done through the options -uml2.0,
-uml2.1, -uml2.2 or -uml2.3, the default is UML 2.3.
To produce the transitions in the right place removing the change introduced in
Bouml 2.31.3 to bypass a bug in Eclipse.
Remark UML tool Modelio based on Eclipse manages incoming and outgoing flows only
when they are specified specified through attributes, while Bouml produces
them through elements (the two ways are legal in XMI, Bouml XMI import manages
both), this may be a bug in Eclipse rather than Modelio.
- XMI2 Import 1.10
In previous releases an activity final node was read throw an
uml:FinalNode rather than an uml:ActivityFinalNode, fixed.
To be able to import old files uml:FinalNode is still managed
as uml:ActivityFinalNode.
(cf.)
In previous releases the value of an enumeration item was read throw a
defaultValue rather than a specification, fixed.
To be able to import old files defaultValue is still managed
as specification.
(cf.)
To manage the multiplicity of the parameters and return type of the operations.
To manage the decision input flow.
To manage activity actions's attribute isLocallyReentrant.
- Html documentation Generator 2.21
To produce activity actions's attribute isLocallyReentrant and
multiplicity of operation's return type and parameters.
- Plug-out upgrade 1.18.1
Add operations isLocallyReentrant and
set_IsLocallyReentrant on class UmlBaseActivityAction.
Add operation multiplicity and set_Multiplicity on class
UmlBaseOperation.
Add attribute multiplicity on class UmlBaseParameter.
Add operations friendClassIndent, set_FriendClassIndent, nestedClassIndent and
set_NestedClassIndent on class CppSettings.
- Uml projection 1.1.4
The input parameters of operations was wrongly managed as output parameters
for C++, fixed.
(cf.)
- C++ utilities 1.1.3
To allow to add operator<<
(cf.)
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.22.2
July 14th 2010
- When IDL was the alone selected language in the global menu languages
and you added parameter(s) through the UML tab when editing an operation,
random characters was inserted in the IDL declaration of the operation,
fixed.
(cf.)
- In the previous releases the default definition of a class in Php wrongly contained the
keyword ${visibility} producing an invalid form in case
the visibility is not package. This keyword
isn't any more present when you create a new project, nor managed by code
generator and reverse.
(cf.)
- In the previous releases when you edited a relation the definition for the target languages
was implicitly reinitialized to the default definition specified through the generation
settings only when you changed the kind of the relation. Now this is the case each time
the default definition associated to the new couple kind/multiplicity is not
the same as the previous couple.
(cf.)
In the previous releases when you edited an attribute the definition for the target languages
was never implicitly reinitialized. Now this is the case each time
the default definition associated to the new multiplicity is not the same as the previous.
- It is now possible to move a state machine into an other state machine or
a sub state of an other state machine. If the moved state machine is stereotyped
machine the stereotype becomes submachine.
(cf.)
- Php Generator 1.10.1
The generalizations / realizations and dependencies
wasn't taken into account to compute the needed required_once list,
this is the case now (when they have a non empty definition in Php).
(cf.)
Remove management of ${visibility} at class level.
(cf.)
- Php Reverse 1.8.1
Remove management of ${visibility} at class level.
(cf.)
- XMI2 Generator 1.14.1
In the previous releases the BOUML project-package produced both a XMI model and a package,
now an option allows you to not generate the model level.
(cf.)
4.22.1
June 23th 2010
- In release 4.22 the state activities wasn't written in the state diagrams,
fixed.
(cf.)
4.22
June 22th 2010
- It was not possible to reload a project where
the associated diagram of a component is a deployment diagram,
fixed.
- Each time you edited a dependency between a class and a package,
import was again added in the proposed list of
stereotypes, fixed.
(cf.)
- Add Php 5.3 namespace management.
(cf.)
Like for the other language the namespace is specified at package level.
The generation of the namespace declaration in Php is done
by an artifact containing ${namespace} in its Php definition, looking
at the namespace may be specified in the package containing the deployment
view containing the artifact (this is the case for the new projects,
you have to add ${namespace} by yourself if you want this feature
in your existing projects).
By default the Php code generator try to not generate namespace prefixes,
if you want to always generate them set the generation setting option
force namespace prefix generation.
- Add submachine state reference management.
Only states without child except transitions and entry or exit pseudo
states can be transformed into state reference
or allow to change the referenced state by an other one.
The referenced state is set/changed/removed by editing the (future)
submachine state reference.
To add a connection point reference to a
submachine state reference add an entry or exit
point then edit it to specify the reference.
- Enter and Exit points can now be placed on the border of their state.
- The profiles of the operations proposed in a list now contain the container
classes of the referenced nested classes. Previously it was not possible
to differentiate for instance the operations
void C1::f(C2::C) and void C1::f(C3::C)
because they was both written void C1::f(C).
(cf.)
- The shortcuts associated to the commands Edit and Menu
are now active in diagrams. By default the shortcut to show the menu
is the key return/enter, so if you select one element in a diagram
and hit return/enter the menu associated to this element is shown,
and if you select several elements in a diagram and hit return/enter
the multiple selection menu is shown.
Add the shortcut command Diagram menu to ask for the menu
of a diagram inside a diagram, this command do the same as if you
unselect all elements in the diagram by doing a left mouse click
out of any element then doing a right mouse click out of any element.
This changes are mainly dedicated to persons working with
visioboard and
having difficuties to do a double mouse click and to use the mouse right
click (left click directly usable).
- It was not allowed to have several activity actions or activity nodes
or activity objects or activity partitions or class instances
or expansion nodes or expansion regions or flows or
interruptible activity regions or parameter sets or pins
or pseudo states or state actions or state regions or
transitions having the same non empty name in the same
container, this limitation is removed.
(cf.)
- In the previous releases in C++ the visibility specifiers was
indented with two spaces. Now you are able to set the expected
indent through the generation settings.
(cf.)
- You can now save the content of the trace window in a HTML file.
- Through the global menu miscellaneous you can now specify a root directory
for the icons associated to the stereotypes or directly put in diagram.
(cf.)
- Previously the icon associated to the stereotypes was specified through
an absolute path or had to be find through the current directory whose
depend on the way Bouml is started.
Now you are able to specify a path relative to the root directory
for the icons or relative to the project directory. In case the path of an icon
is not absolute, the icon are searched first using the root directory
for the icons, then for compatibility reason using the current directory,
then using the project directory.
(cf.)
- You can now put icons in diagram independently of the use of stereotypes.
(cf.)
- Php Generator 1.10
To manage namespace.
- Php Reverse 1.8
Previous releases didn't expect to read Php block(s)
before the block containing classes, fixed.
To manage namespace, warning when a file define classes
in several namespaces only the classes of the first
namespace are reversed.
- C++ Generator 2.18
To produce the expected indent for the visibility specifiers.
Follow the new API.
- C++ Reverse 2.15
C++ Roundtrip 1.3
The comments placed before the definition
of an attribute in a class was lost, fixed.
Follow the new API.
- XMI2 Generator 1.14
Some activity flows was wrongly generated as object flow
rather than control flow, fixed.
(cf.)
To manage the submachine state reference
- XMI2 Import 1.9
To manage the submachine state reference
To manage virtual desktop (multiple screens configuration).
- Java Generator 2.22
Java Reverse 2.18
Java Roundtrip 1.5
Idl Generator 2.15
Python Generator 1.5
Roundtrip body 1.13
Follow the new API.
- Java Catalog 2.17
To manage virtual desktop (multiple screens configuration).
Follow the new API.
- Project control 1.2.5
Project synchro 1.2.4
Uml projection 1.1.3
.pro Generator 2.1.6
C++ utilities 1.1.2
Use case wizard 1.1.2 (C++ version)
File Control 1.0.6
Global change 1.2.1
To manage virtual desktop (multiple screens configuration).
- Html documentation Generator 2.20
To produce a valid XHTML.
(cf.
and cf.)
To manage submachine state reference.
- Plug-out upgrade 1.18
Add operations phpNamespace, set_PhpNamespace
and findPhpNamespace on class UmlBasePackage.
Add operations isForceNamespacePrefixGeneration
and set_IsForceNamespacePrefixGeneration on class
PhpSettings.
Add operations visibilityIndent and
set_VisibilityIndent on class CppSettings.
Add operations reference and
set_Reference on classes UmlBaseState, UmlBaseEntryPointPseudoState,
and UmlBaseExitPointPseudoState.
- Plug-out empty
Upgraded by plug-out upgrade.
- fr.lang updated.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
Php Generator 1.9 patch (Windows)
June 10th 2010
- Under Windows the Php generator terminated its execution when
managing ${require_once} because of a missing
compilation option.
The Php generator compiled with the right options is available
here
(cf.)
4.21
May 12th 2010
- In the previous releases only the operations whose name started
by operator could contain non alphanumeric characters,
this restriction is removed.
(cf.)
- require_once forms are now auto generated in Php when
the Php definition of an artifact contains ${require_once}
(this is the case for the new projects, you have to add it
by yourself if you want this feature in your existing projects).
The definition of an external class for Php is extended,
if a second line is present this one is considered to contain
the expected require_once form to produce.
New generation settings to choose how the path of the
required files are generated : without path, with absolute paths,
with relative paths, with path relative to the root directory.
(cf.)
- Add Reverse/roundtrip settings with a dedicated edition dialog
to specify through a regular expression the files and/or directories
whose must not be taken into account during a reverse and roundtrip,
allowing for instance to not reverse test programs.
(cf.)
- When you edit an attribute or an operation of a parametrized class
or nested in parametrized class(es) the name of the formal parameters
are now inserted in the list of proposed types.
(cf.)
- When several elements of the same type are selected in a diagram
the multiple selection menu allows you to use the drawing settings
of the first selected element for the other selected elements.
Have associated shortcut command Same drawing settings.
(cf.)
- Extension of the drawing setting show context
(cf.)
:
- In diagrams the context of nested classes now contains the
the container class when you ask for to indicate the namespace
or java package or python package or module through
the drawing setting show context or equivalent.
Warning, this affects existing
class diagrams
- New drawing setting show context in members definition
for classes in class diagrams. Only active when you also ask
for to show the full members definition. To indicate or not
the context of class(es) referenced in the declaration of an
attribute or an operation like the context is indicated for
the classes depending on show context or
show classes and packages context.
- In sequence diagrams add new drawing settings show classes context
for class instances, and show context in messages for messages
(only active when you also ask for to show the full operations definition).
- In communication diagrams the drawing settings
show packages context
is renamed show classes and packages context
and now also apply on class instances.
To not change the already existing diagrams,
when you open an old diagram this setting is set to no
on the class intances.
New drawing settings show context in messages for messages
(only active when you also ask for to show the full operations definition).
- In object diagram the drawing settings show packages context
is renamed show classes and packages context
and now also apply on class instances.
To not change the already existing diagrams,
when you open an old diagram this setting is set to no
on the class intances.
- Add a button Apply in the drawing settings dialog
to apply the new settings without exiting the dialog.
Warning, the already applyied settings are not canceled through
the button cancel.
(cf.)
- The list of opened non modal dialogs is now given by the dynamic
menu Windows after the list of opened diagrams. This
allow you to raise one of them, or to close all of them with
the diagrams through the menu entry close all.
- Php Generator 1.9
To automatically generate the require_once forms when
the Php definition of an artifact contains ${require_once}.
(cf.)
- C++ Reverse 2.14
C++ Roundtrip 1.2
Java Catalog 2.16
Java Reverse 2.17
Java Roundtrip 1.4
Php Reverse 1.7
To not reverse/roundtrip unexpected directories and/or files
specified through regular expressions.
(cf.)
- C++ Generator 2.17
Java Generator 2.21
Idl Generator 2.14
Roundtrip body 1.12
Follow the new API.
- Plug-out upgrade 1.17
Add operations requireOnceWithPath, set_RequireOnceWithPath,
isRelativePath, set_IsRelativePath, isRootRelativePath
and set_IsRootRelativePath on class PhpSettings to acces to the new generation
settings relative to the generation of the require_once in Php.
Add operations reverseRoundtripDirRegExp, isReverseRoundtripDirRegExpCaseSensitive,
set_ReverseRoundtripDirRegExp, reverseRoundtripFileRegExp,
isReverseRoundtripFileRegExpCaseSensitive and set_ReverseRoundtripFileRegExp
on classes CppSettings, JavaSettings and PhpSettings.
- Plug-out empty
Upgraded by plug-out upgrade.
- fr.lang updated.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.20
April 18th 2010
- Remark : under Windows the png/svg exports of the diagrams
don't work when they are done by a plug-out
launched by -execnogui (they work with -exec)
- Add constraint on activity and activity action.
(cf.)
- Java Generator 2.20.1
Python Generator 1.4.1
when a nested class reference was produced the container
class(es) name was missing and only the nested class's
name was generated, fixed.
- State machine generator 1.4.2
Add the operation doActivity() on the class representing
the state machine, when you apply this operation the
do activity of the current state is executed
if it is not empty.
- Html documentation Generator 2.19
XMI2 Generator 1.13
XMI2 Import 1.8
To manage constraint on activities and activity actions.
- Plug-out upgrade 1.16.1
Previous release missed to change the call of UmlCom::bye
in internal operation UmlBaseItem::read_(), fixed.
(cf.)
To manage constraint on activities and activity actions.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.19.3
April 11th 2010
- Add the new keyword ${inverse_name} producing the name of the inverse
role of a bi directional relation between classes.
- When you apply a plug-out when Bouml is started with the option
-exit, the return value of Bouml is the argument of the
operation UmlCom::bye(). This value is 0 when you apply an old
plug-out where bye doesn't have a parameter.
The return value is -1 if the plug-out execution can't be done
or if the plug-out doesn't connect to the modeler in less than 30
seconds.
- New option -execnogui, use it in place of -exec
when you don't want to see the GUI when you apply a plug-out
when Bouml is started.
In this case the messages normally written in
the trace window are produced on stdout.
You have to kill the process Bouml by yourself if you use
-execnogui without -exit.
(cf.)
- Python Generator 1.4
Extends the auto generated import to the classes referenced
by the attributes, associations and operations. Previously only
the inherited classes and dependencies stereotyped import or
from was taken into account.
(cf.)
Returns the number of errors through UmlCom::bye().
- C++ Generator 2.16
C++ Reverse 2.13
C++ Roundtrip 1.1
Java Generator 2.20
Java Catalog 2.15
Java Reverse 2.16
Java Roundtrip 1.3
Idl Generator 2.13
Php Generator 1.8
Php Reverse 1.6
Roundtrip body 1.11
Returns the number of errors through UmlCom::bye()
- Plug-out upgrade 1.16
To add a parameter of type int to UmlCom::bye,
it will be managed as the return value of the plug-out,
0 means no error.
You have to add by yourself an argument to the calls of
UmlCom::bye
- Plug-out empty
Upgraded by plug-out upgrade.
4.19.2 patch 1 (Windows)
March 29th 2010
- This release only exists for Windows.
- Since release 4.19 a crash could occurred
because of Microsoft Visual C++ compiler bug
when a nested relation was drawn in a class diagram and
changes was made concerning the drawn elements or the
diagram itself (including the case where a new nested relation
has to be drawn) ,
fixed.
4.19.2
March 28th 2010
- A crash could occurred when you opened a component
diagram referencing through a required or provided relation
a class deleted in a previous session,
fixed.
- When you closed Bouml though a shortcut (control-w by default)
while an additional window like an artifact source windows was
still open, Bouml crashed (without true consequence because if needed
the previously load project was already saved),
fixed.
- fr.lang de.lang es.lang updated.
4.19.1
March 14th 2010
- Since release 4.17.1 a crash could occurred when you did
some changes on a state present in an opened diagram but never visible
because of the diagram dimensions and the position of the scrollbars,
fixed.
- C++ Roundtrip 1.0.4
Java Roundtrip 1.2.3
To not empty the stereotypes when this is possible.
(cf.)
- Java Generator 2.19.2
To not duplicate imports both defined in artifact definition and through
dependencies.
4.19
February 27th 2010
- The message written to signal a message can't be added in a sequence diagram
contained wrong characters, fixed.
(cf.)
- Add lost/found messages in sequence diagram.
- Add interface icon using a simple circle, extends drawing mode
with it for classes in a class diagram, instances in a sequence
diagram and actors in a use case diagram.
To not change the already existing diagrams,
when you open an old diagram showing classes stereotyped interface
or instances of classes stereotyped interface, their drawing mode
is forced to class when it values natural (even
indirectly).
- In a sequence diagram, when an instance doesn't send nor receive message
the menu of the instance proposes to hide/show the life line. To allow
to draw a multiple instance with only one visible life line.
(cf.)
- XMI2 Generator 1.12.3
To manage lost/found messages.
- Plug-out API
The operation from() returns null for a UmlBaseMessage
corresponding to a found message.
The operation to() returns null for a UmlBaseMessage
corresponding to a lost message.
- fr.lang updated.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.18.2
February 13th 2010
- The class instances wasn't colored when you asked to
not draw the shadow in a sequence or communication diagrams, fixed.
(cf.)
- C++ Reverse 2.12.4
To set the C++ source and header directory for the additional packages
created during the reverse because all classes defined in a given directory
are not defined in the same namespace or some are defined in a namespace and some
others are defined out of a namespace, try to use path relative to root directory if
it is defined in the generation settings.
- C++ Roundtrip 1.0.3
The roundtrip was perturbed by the use of namespaces and produced a wrong
and inconsistent result, fixed.
In the previous releases of C++ reverse/roundtrip the C++ directory of source
and header files wasn't set for additional packages created to manage several
namespaces (see remark concerning the reverse above),
because of that the roundtrip may propose to delete classes defined under
these packages. If you used previous
releases of C++ reverse/roundtrip to reverse source codes using namespaces
you need to check the packages having empty C++ source and header directory
specifications to set them if needed.
To discard \r when comparing two strings to update or not an element.
- Java Roundtrip 1.2.2
To discard \r when comparing two strings to update or not an element.
- Uml projection 1.1.2
Projection to C++ missed to set C++ header definition
on already existing artifacts, fixed.
4.18.1
February 6th 2010
- A crash could occurred when you did some changes on relations
used by 'modeled' class instances (non pure graphical class instances)
or reload a project defining 'modeled' class instances, fixed.
(cf.)
- In a class diagram when the drawing setting draw all relations was false
the only way to show not yet drawn nesting relations was to set draw all relations
to true, then to remove undesired shown relations. Now the menu of a nested
class proposes to show the nesting relation when it is not yet drawn and the container
class is present.
(cf.)
- XMI2 Import 1.7.2
To replace newline by space in relations's name.
- C++ Reverse 2.12.3
C++ Roundtrip 1.0.2
The name of the parameters of the operations must be the name specified
in the definition when it is not empty, rather than the name
given in the declaration (regression introduced when I added roundtrip).
The instantiation of a template class inside the declaration or
the definition of its operations was reversed
as the class itself (without actuals), fixed.
- fr.lang updated.
4.18
January 24th 2010
- In the previous release changes done in an activity
diagram may crashed the memory under Windows because of a bug in
Microsoft Visual C++ compiler, this problem potentially also
existed in other cases, bypassed.
(cf.)
- I was forbidden to add a flow from an action to an object whose
is control was false, fixed.
- When you added a shortcut the indications control/shift/alt was removed when
you specified the key in case the current line was the last (generally the case),
fixed.
(cf.)
- Add the new shortcut commands Open project, Print and
Save as, default shortcuts are control o,
control p and control shift s.
Also add default shortcut control p printing the active shown diagram.
Warning, the default shortcut to generate Php source is
now control h rather than control p.
(cf.)
- XMI2 Generator 1.12.2
Improvement to know if a flow is a control or an object flow.
- C++ Generator 2.15.2
C++ Reverse 2.12.2
C++ Roundtrip 1.0.1
Java Generator 2.19.1
Idl Generator 2.12.1
Python Generator 1.3.1
Project control 1.2.4
Project synchro 1.2.3
XMI2 Import 1.7.1
File Control 1.0.5
Uml projection 1.1.1
Modified to not be potentially affected by Microsoft Visual C++ compiler bug.
- fr.lang, de.lang and es.lang updated.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.17.1
January 9th 2010
- A crash may occurred when drawing a class instances
non transparent and without drawing the shadows, fixed.
- Under Windows the default language was wrongly set to Spanish in case you previously used a
release older than the 1.15.1 and the environment variables LANG and LCID don't specify
English or French, fixed.
- Add related elements did nothing in a use case or deployment
diagram, fixed.
- When you manually resized an element in a diagram its self relations may be hidden
depending on the position of the self relation and the used corner, fixed.
- In a state diagram, when you added an element and it was automatically moved to be placed
in its container, its self relations didn't follow it and their cut points was poorly
placed, fixed.
- When you add a container in a state or activity diagram and its possible container wasn't
drawn but its sub elements was drawn, now the added container is automatically resized
to contain its sub elements. To try to not poorly move already placed elements to force
them to be inside the added container.
es.lang
January 3th 2010
- Complete version of es.lang to use Bouml in Spanish,
this version is newer than Bouml 4.17 and can be used with any releases since 4.15.1 (useless before).
Download es.lang
and indicate where you place it through the "Miscellaneous / Edit environment" dialog.
Many Thanks to Paulo Cesar Coronado.
4.17
January 1th 2010
- A crash occurred when you load an inconsistent model where two
operations share the same internal identifier, fixed.
(cf.)
- The optional parameters wasn't given to the init/check plug-outs
associated to the stereotypes part of profiles, fixed.
- The boxes representing the class instances was not produced in SVG
when you didn't ask for to draw the shadows and they aren't
transparent, fixed.
(cf.)
- Add the new shortcut commands Optimal scale, Optimal window size,
Zoom +, Zoom - and Zoom 100% for diagrams.
Also add control mouse wheel up/down management to
increase / decrease the zoom.
- In a diagram to move the mouse with the mid click pressed
moves the viewport accordingly.
- In a diagram add shift mouse wheel up/down management to
scroll left/right (mouse wheel up/down already did scroll up/down).
- Add the new shortcut commands Close and Quit to close
the project or quit, default shortcuts are control w and control q.
- When several resizable elements are selected in a diagram
the multiple selection menu allows you to resize them
to have the same width and/or height of the first selected element.
Have associated shortcut commands (Same width, Same height
and Same size)
- It is now possible to have a class diagram under a use case or a use case view,
this allows to define Iconix robustness diagram throw class diagram.
(cf.)
- XMI2 Generator 1.12.1
The post condition of an activity actions was not
exported, and the pre conditions wasn't exported
when the post condition was empty, fixed.
(cf.)
- C++ Roundtrip 1.0
New plug-out, please refer to the
documentation.
- C++ Reverse 2.12.1
For compatibility with the roundtrip now the #file property
is get from the project package rather than in the package where you start
a reverse.
To set the C++ source and header directory for the packages
created during the reverse, try to use path relative to root directory if
it is defined in the generation settings.
- Java Roundtrip 1.2.1
Fixe bugs.
To set the Java directory for the packages created during the
reverse even without associated Java package,
try to use path relative to root directory if it is defined.
- Java Reverse 2.15.1
Java Catalog 2.14.1
To set the Java directory for the packages created during the
reverse even without associated Java package,
try to use path relative to root directory if it is defined.
- Plug-out upgrade 1.15.2
To allow to create a class diagram under a use case or use case view
- Plug-out empty
Upgraded by plug-out upgrade.
- es.lang added allowing to use the modeler in Spain,
this work is in progress and some translations are still missing
(in this case the English is used).
Many thanks to Paulo Cesar Coronado for the translation.
So you can currently choose between English, French German and Spain.
- Recall : if you are volunteer to add the
translation for a new language contract me. The work consists
to translate more than 2000 short sentences with a tool
I developped for that (of course you don't have to change
the sources of Bouml).
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.16.4
November 25th 2009
- Facilitates the adding in a diagram of a incoming/outgoing
line (transition, flow ...) to/from a small item already
having lines.
(cf.)
- When you moved a decentered line having a geometry (
,
,
or
),
the attached labels (name, stereotype ...) could be moved
more than expected, fixed.
(cf.)
4.16.3
November 18th 2009
- Facilitates the selection in diagrams of small items having
incoming and/or outgoing lines.
- When you add an element in a state diagram and its state container
is already drawn, force the added element to be inside its
state container or region. When you add a state the already
draw sub elements are moved to be inside the added state, but
because the added state is small this poorly place them.
(cf.)
- You can now decenter lines (relations, transition ...)
having a geometry (
,
,
or
),
when you change the geometry the line is first recentered
on both extremities.
(cf.)
- C++ Generator 2.15.1
A space was missing between the two last > in an inheritance
of a template class when the last actual is also a template class,
fixed.
(cf.)
4.16.2
November 8th 2009
- Except few exceptions when you resized element like classes
the edge didn't follow the cursor, fixed.
(cf.)
- It was difficult to select a line drawn between an element
to an other element placed inside the first one
(for instance between a state machine and a sub state drawn
inside its state machine), fixed.
(cf.)
- In activity diagrams the stereotype of an action is now written,
except for opaque actions when you ask for to show
their definition through the drawing settings.
(cf.)
- You can now change the parent of a state, pseudo state and region
through drag&drop in the browser while you stay inside the
container state machine.
(cf.)
- de.lang added allowing to use the modeler in German,
this work is in progress and some translations are still missing
(in this case the English is used).
Many thanks to Oliver Rudolph for the translation.
So you can currently choose between English, French and German.
- Recall : if you are volunteer to add the
translation for a new language contact me. The work consists
to translate more than 2000 short sentences with a tool
I developped for that (of course you don't have to change
the sources of Bouml).
4.16.1
October 26th 2009
- In all the previous releases an import project or
import as library or import tools
crashed the memory under Windows because of a bug in Microsoft Visual
C++ compiler, bypassed.
(cf.)
- The tools dialog had wrong/random wording due to illegal memory
accesses and some translation cases was missing, fixed.
- fr.lang updated
4.16
October 25th 2009
- The buttons show/edit body of the operation dialog had
a wrong/random wording due to illegal memory
accesses and some translation cases was missing,
fixed.
- In the previous release in a use case diagram a class was represented
as an actor even its stereotype was part of a profile and has
an associated icon. Now like for in a class diagram the icon
associated to the stereotype is used when the drawing setting
values natural.
(cf.)
- It is now possible to show/hide the visibility of the relations between
classes depending on the value of the drawing settings
show relation visibility. By default the visibility
of the relations of not shown.
(cf.)
- Messages in a sequence diagram can now be stereotyped (by textual
stereotype out of profile). Default message stereotypes can
be set through the default stereotype dialog.
(cf.)
- It is now possible to ask for to draw a decomposition indicator icon
in a state in a state diagram. By default the icon is not shown. The fact
the icon is drawn or not is under your responsability, Bouml doesn't check
if this is consistent or not.
(cf.)
- Plug-out upgrade 1.15.1
To manage stereotype on messages in a sequence diagram.
- XMI2 Generator 1.12
To export stereotype of messages through an extension.
- Plug-out empty
Upgraded by plug-out upgrade.
- fr.lang updated
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.15.1
October 21th 2009
- Internationalization of the modeler's menus and dialogs using a
translation files specified through the environment dialog.
If you don't specify a translation file the English is used.
Note : when you change the language some global menus are unchanged
and description of buttons of already opened diagram too, to follow
the new language for all exist then restart the modeler.
Currently only the translation file fr.lang is available
to use French because I only speak French and English
If you are volunteer to add a
new translation contact me and I will send you the small tool I made
for that and how to do. I do not deny that it is quite laborious to translate
more that 2000 sentences, be sure you will have the courage to do that
before contacting me ;-)
4.15
September 26th 2009
- Allows to import a project as a library. A project imported as
a library can't be modified in the importing project,
but it can be updated to follow changes done in the imported
project.
In case the project imported as library contains others projects
imported as library this ones are not considered like that,
this means you can't update these sub projects separately but
you have to ask for to update the container project you
directly imported.
To simplify management you can't update a project imported
as library while the project is modified, this means you have
to save first your project or to reload it to forget changes
you don't want, and at the end of the update the project is saved, so you can't
undo an update.
This feature is dedicated to use projects defining
librairies, not to work at several on the same project,
for that see Project control
and Project synchro
- Project control 1.2.3
To manage case of projects imported as library
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.14
September 12th 2009
- When you deleted a package through a plug-out the container
package was not marked modified and was not saved without an
other reason marking it modified, and an error occurred when you
reload the project, fixed.
- Under Windows, after exiting from Bouml using the [X]
button in the title bar (rather than through the menu),
the main window is closed but it is possible to have
the bouml.exe process still alive and looping
indefinitely (problem not reproducted signaled by only one user), bypassed.
(cf.)
- In a class diagram it is now possible to resize the classes
drawn with the standard representation (not using an icon)
- New drawing setting hide get/set operations applying
on 'official' get and set operations in class diagrams.
By default get and set operations are shown.
- New C++ generation setting inline force include in header,
when it is set the types referenced in the profile of the inline
operations produce includes in the header like this was
obligatory the case with the previous releases, else the code generator
doesn't take care if there are inline operations to compute
dependencies. This setting values true by default
for the already existing projects to not perturbate them,
but false by default when you create a new project.
- C++ Generator 2.15
a space was missing between the two last > in the
definition of a template class whose last formal has
a default value being a template form (i.e. finishing by a >)
and also in the instantiation of a template class where
the last actual is a template form but doesn't correspond
to the last formal (next formals having default value)
(cf.)
To manage new generation setting inline force include in header
To avoid a crash on exit when bouml exits before.
Follow the new API.
- C++ Reverse 2.12
Java Generator 2.19
Java Reverse 2.15
Java Roundtrip 1.2
Java Catalog 2.14
Php Generator 1.7
Php Reverse 1.5
Python Generator 1.3
Idl Generator 2.12
Roundtrip body 1.10
To avoid a crash on exit when bouml exits before, mainly for
java catalog because other plug-outs finish automatically.
Follow the new API.
- Plug-out upgrade 1.15
To manage new generation setting inline force include in header
To avoid a crash on exit when bouml exits before.
Follow the new API.
- XMI2 Generator 1.11.1
To export transition's description and tagged values.
(cf.)
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.13.1
July 8th 2009
- Improvement to diminuish the needed time to load a project,
mainly in case of projects containing Php definition
obtained by a reverse producing artifacts having a long
Php definition
- C++ Reverse 2.11.1
Java Reverse 2.14.1
Java Roundtrip 1.1.1
Java Catalog 2.13.1
Php Reverse 1.4.1
speed improvement
4.13
July 3th 2009
- Add active on activity, class and state
- Add type specification of function's parameters and return values
(pep-3107).
When a return type is specified (it is not empty) the keyword ${type}
produces the return type prefixed by ' -> '
When the type of a parameter is specified (it is not empty) the corresponding
${<n>} produces the type prefixed by ': ' if the keyword is
part of the parameter list definition (between ${(} and ${)})
The code generator doesn't place the types between two string delimiters
by itself, to produce a string with delimiters you have to enter these
delimiters in the type definition at UML level.
By default when you add a parameter the keyword ${<n>}
is absent, it is added only if you set the new generation setting
operation of Python 3 (pep-3107) (generation settings dialog Python[2]),
and you have to change by yourself the default operation definition in the
generation settings to add ${type} between ${)} and ':'
- Plug-out upgrade 1.14
Add operations isActive and set_isActive on
UmlBaseActivity, UmlBaseClass and UmlBaseState.
Add operations isPython_3_operation and set_IsPython_3_operation
on PythonSettings
- Python Generator 1.2
To manage type specification of function's parameters and return values
- C++ Generator 2.14
C++ Reverse 2.11
Java Generator 2.18
Java Reverse 2.14
Java Roundtrip 1.1
Java Catalog 2.13
Idl Generator 2.11
Php Generator 1.6
Php Reverse 1.4
Roundtrip body 1.9
Follow the new API.
- Html documentation Generator 2.18
To import/export isActive.
To manage type specification of function's parameters and return values
Fixe the generation of the description of the elements defined in Java and/or
Php and/or Python
- XMI2 Generator 1.11
XMI2 Import 1.7
To import/export isActive.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.12.4
June 11th 2009
- Browser search allows now to search for elements depending
on their stereotype.
- The menu miscellaneous has the new toggle
completion in dialog, it is set by default to be
compatible to the behavior of the previous releases. When it is set
and you enter a string in a list of choices (combo box) in a
dialog, an auto completion/search is done, note this one is non
case sensitive (Qt limitation). If you don't like this
auto completion/search, unset the toggle.
- Internal extension of the Plug-out API for Java Roundtrip.
- C++ Generator 2.13
A dependency stereotyped friend produced a wrong code
in case the target class was a template, fixed.
Follow the new API.
- Plug-out upgrade 1.13
A crash occurred when you upgraded an old plug-out
without Python management, fixed.
(cf.)
Follow the new API.
- Java Roundtrip 1.0
New plug-out, please refer to the
documentation.
- C++ Reverse 2.10
Java Generator 2.17
Java Reverse 2.13
Java Catalog 2.12
Idl Generator 2.10
Php Generator 1.5
Php Reverse 1.3
Python Generator 1.1
Roundtrip body 1.8
Follow the new API.
- XMI Generator 1.4.6
When a parameter of an operation doesn't have type
the token UML:Parameter wasn't closed, fixed.
(cf.)
- XMI2 Generator 1.10.2
The base type of a class stereotyped typedef
is now produced in an extension form supposing you ask for them
Import Interface
May 5th 2009
New user contribution, please refer to
contributions
4.12.3
April 29th 2009
- Since 4.12 because of change concerning the z-dimension of lines
in diagrams it was difficult to select small elements connected
to a line in diagram and to connect required '(' and provided 'O'
representations in a component diagram, fixed.
(cf.)
- You can now close all the opened diagrams through the entry
Close all added in the global menu Windows
4.12.2
April 18th 2009
- When you duplicated a state Bouml
could crash, fixed.
(cf.)
- When you deleted attribute or operation of a class through a plug-out
the drawing of the class wasn't updated in already opened diagrams,
(the deleted members was still visible), fixed.
- Python Generator 1.0.9
In the previous releases the first line of a docstring was indented,
then the next lines was produced without adding the current indentation.
Now all the lines of a docstring are indented to follow pep-0257.
- Plug-out upgrade 1.12.11
Add the operation importProject on UmlBasePackage,
returns the UmlPackage corresponding to the imported
project or 0/null in case of an error.
- Plug-out empty
Upgraded by plug-out upgrade.
4.12.1
March 28th 2009
- When a class is associated to a relation (for instance in case of a class relation)
and you deleted the class, the plug-out API operation
UmlRelation::association() wrongly returned the deleted class, fixed.
- In a diagram when two elements was link by a line (whatever it represented)
and one the element contained the other one, the line was not drawn. This
was mainly a problem in case of high-level transition from a composite
state with a target inside the composite state. Fixed.
- An auto scroll is now made if necessary when you move in a diagram the mouse
with the center or right click down.
- Python Generator 1.0.8
When a class referenced an other one placed in the same python package, the
python code generator wrongly produced <artifact name>.<class name>
rather than <package name>.<artifact name>.<class name>,
fixed.
In the special case of the artifact is named __init__ this one is now
not generated, this means <package name>.<class name> is produced
- XMI2 Generator 1.10.1
When you defined an association between a class and an actor an unexpected and
inconsistent attribute was generated, fixed.
4.12
March 15th 2009
- In a communication diagram, when you used the menu to
change the geometry of a junction between two instances without
supporting yet a message, Bouml crashed, fixed.
- When you duplicate an activity Bouml
may crash, fixed.
- In an activity diagram, when an activity partition
was in horizontal display mode, and you assigned any colour to it,
then close the diagram and re-open it, you got an error message
and a part of the diagram was lost, fixed.
- In a state diagram it was possible to resize choices by selecting
them with other elements and doing a rezise, same thing for
decision and merge in an activity diagram, fixed.
- The virtual desktop set through the environment dialog
was not taken into account when you started Bouml, fixed.
- Add new US diagram formats : Letter, Legal, Tabloid,
Letter landscape, Legal landscape and Ledger.
- Search and referenced by dialogs are now not modal,
also add buttons to mark/unmark found elements.
- It is now possible to add marked elements in class, use case,
component and deployment diagrams
though the diagram menu entry add marked elements.
- It is now possible to ask for to add related elements in
diagram for a class, use case, package, component, artifact
and deployment node.
A related element is an element having a relation with
the current element whose can be shown in the current diagram
and part of the browser.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.11
February, 15th 2009
- Add specification on activity and state, used
to indicate an implemented operation. Add entries in
menu of operation to create an implementing activity
or state, or to access to them.
- XMI2 Import 1.6
Import specification on activity and state.
The previous releases force the roles of the relation,
regions and entry/exit pseudo states to not be anonymous,
not done anymore.
- XMI2 Generator 1.10
Html documentation Generator 2.17
Export specification on activity and state.
- Plug-out upgrade 1.12.10
Add the operations specification and
set_Specification on UmlBaseActivity and
UmlBaseState. Add the operation methods on
UmlBaseOperation.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.10
February, 7th 2009
- Add accept call, reply, create object, destroy object,
test identify, raise exception and reduce
activity actions.
- For Python a default definition of __init__ is now
specified through the generation settings, this one
is used when a class inherits other class(es), the
definition asks for mother class(es) initialization
through the form super(classname, self).__init__()
- In diagrams, now when you move a fragment the textes
in collision follow it.
- Python Generator 1.0.7
when a class inherits other class(es) without defining __init__
its auto generated definition now contains
super(classname, self).__init__()
- Plug-out upgrade 1.12.9
Bypass a bug on QVector assignment in Qt 2.3 (release used for Windows)
by modifying UmlBaseComponent::set_AssociatedClasses(),
UmlBaseArtifact::set_AssociatedClasses() and
UmlBaseParameterSet::set_Pins()
Add accept call, reply, create object, destroy object,
test identify, raise exception and reduce
activity actions management.
To access/modify the new Python generation settings giving
the default __init__ definition.
- XMI2 Import 1.5
XMI2 Generator 1.9
Forms produced / expected for provided and required interface
and for realizing classes was not the right ones, fixed.
Warning, the import of the forms
produced by the previous releases is not managed.
Import / export of added activity actions.
- Html documentation Generator 2.16
Generate added activity actions
Produce the initialization of the attributes, relations and
operation's parameters at UML level.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.9.3
January, 25th 2009
- To confirm the edition of a relation whose target was a read-only class
and without properties on the first role produced an error message,
the only solution was to cancel the edition, fixed.
- Extends the referenced by command searching for elements
in diagrams. To be find in a diagram an element must be directly
represented, this means for instance an operation nor an
attribute can't be find in a class diagram.
- Add management of ${type} for Php in operation,
attribute and relation dialogs, a priori used in
comment for instance php-comment forms. Note
${t<n>} was already managed.
To establish through the generation settings
a default description for the class,
operation, attribute and relation using
@return, @var and @access forms
helps you to generate php-comments. Of course it is
also possible to write a plug-out modifying
the description to use these forms including
@param depending on the element definition.
- Php Generator 1.4.6
Add management of ${type} in operation
generation (other cases already managed),
a priori used in comment for instance php-comment forms.
- Php Reverse 1.2.2
Parse comments to search for @param,
@return, @var and @access forms.
- Java Generator 2.16.6
In the previous releases, for an operation declared abstract
of defined in an interface, when the '{' corresponding to the
start of the body was reached a ';' was produced and the generation
of the operation was done.
Now a ';' is produced and the generation continues after the
first '}' placed after ${body}.
- Html documentation Generator 2.15.1
The description of an operations or a class stopped when a '{'
was reached, and the description of an attribute or a relations
stopped when a ';' was reached, fixed.
4.9.2
January, 11th 2009
- A crash may occurred when you changed the
drawing setting depending on the changes made before, fixed.
- The Plug-out operation UmlBaseClass::isPythonExternal()
returned if the class was external for Php rather then for
Python, fixed.
- Add management of ${association} in Python for relations
and getters/setters associated to a relation.
- Fill in white the part containing the name/type of a combined fragment
when its color is transparent and its name/type is not empty.
- Python Generator 1.0.6
To manage ${association}.
4.9.1
January, 5th 2009
- In an activity, when you created an
element through an activity diagram placing the element directly on
a partition, this element was wrongly nested in the partition in
the browser, and it was impossible to reload the project.,
fixed.
When you load a project the elements wrongly
nested in a partition are automatically extracted to come back
to a consistent project.
- Java Reverse 2.12.5
Java Catalog 2.11.5
The last character of a comment may not be placed
in the description, fixed.
- XMI2 Generator 1.8.1
To export state entry, do behavior and exit.
- XMI2 Import 1.4.1
To import state entry, do behavior and exit.
Some changes to import file produced by AndroMDA
- State machine generator 1.4.1
A C++ virtual destructor with an empty body
is now defined on each class created by the generator.
4.9
December, 23th 2008
- The modeler entered in an infinite loop
when you tried to change the geometry of an extension (uni
directional association from a stereotype-class to a
meta class), fixed.
- When a class was present in at least two
of the provided required and realizing lists of a component
and you deleted the class, saved the model then reload it,
the model was inconsistent and a crash can occurred, fixed.
- Operation's parameters using accentued characters in their
name or type was wrong written in diagrams and some
dialogs and menus, fixed.
- Add activity partitions (swimlanes), please refer
to the documentation.
- In state and activity diagrams it is now possible to
resize forks and joins.
- Check a property (tagged value) is present
only one time when you valid the edition of an
element.
- Now Add inhnerited operations doesn't propose
getter and setter operations of mother
classes.
When you move an attribut or relation by drag&drop
the associated getter and setter operations
are now deleted (the marks allow to move an attribut or relation
and its associated getter and setter
operations).
- Java Generator 2.16.5
In the previous releases a dependency stereotyped
import to a nested class produced an import
form concerning the top container class. Now the
import form concerns the nested class.
- Java Reverse 2.12.4
Java Catalog 2.11.4
When the default definition of an element doesn't use
${description}, remove the first/last line in
the comment when it is empty or only contains spaces
or tabs
The comments placed before the first package or import
form in a reversed file are associated to the corresponding
artifact.
- Plug-out upgrade 1.12.8
To fixe definition of operations set_AssociatedDiagram
to take into account the case where you unassign
the association (diagram is null)
To add activity partitions
- Html documentation Generator 2.15
XMI2 Generator 1.8
XMI2 Import 1.4
To manage activity partitions.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
- Note : Reference manual up to date
4.8.4
December, 7th 2008
- To validate the edition of a
relation whose first role is read only and without
property (tagged value) produced a crash, fixed.
- It is now possible to associate an icon to the
stereotypes defined in a profile by specifying
a picture file.
In a diagram the image is used without modification
when the scale is 100%, else it is resized.
This image is used in the diagrams for
classes when the drawing mode
is natural, components when you ask
for to use an icon, packages (context not written),
state actions (behavior not written),
activity object nodes, deployment nodes and artifacts.
In this case the name of the element is written under
the icon. These icons are not
exported in SVG.
The picture is also used in the browser when the
element is not deleted, the image is resized
to have its width and weight less or equal to 16.
For a plug-out the picture path is attached
to the property (tagged value)
stereotypeIconPath of the class-stereotype.
- It is possible to define a shortcut to do a browser search.
- C++ Generator 2.12.9
Java Generator 2.16.4
Idl Generator 2.9.5
Php Generator 1.4.5
Change in the generated indents to take into
account a class definition whose definition
is indented (definition starts by spaces or tabs).
- C++ Reverse 2.9.3
To not produce a syntax error on a forward declaration
of a struct, union or enum inside the definition
of a class, struct or union. Like it was already
made for a class, these forward declarations produce
an extra member in the model.
- XMI2 Generator 1.7.2
XMI2 Import 1.3.2
To manage stereotype icons.
- Roundtrip body 1.7.2
Indicate the line number where an invalid
preserved block starts.
- Rose project import 2.1.2
Fixe a possible crash.
4.8.3
November, 16th 2008
- Fixe problems concerning the duplication of getters
and setters
- C++ Generator 2.12.8
Java Generator 2.16.3
Idl Generator 2.9.4
Php Generator 1.4.4
Bypass a bug in the Qt operation QCString::remove
whose can indirectly produces a crash
- Global change 1.2
To manage Python
- Note : Reference manual up to date
4.8.2
November, 11th 2008
- Html documentation Generator 2.14.2
To also produce Python definitions.
Under Windows, for the C++ version, an extra dot may be added
at the end of the selected directory's name
returned by QFileDialog::getExistingDirector()
(problem detected by a user when the directory path
starts by //), add a hack to manage that.
- .pro Generator 2.1.5
Add the hask concerning the extra dot like for the Html generator.
- Deploy 1.1
Add Python management.
A class is deployed for a given language only when it is
non external and has a non empty definition.
Classes stereotyped stereotype or metaclass
are not deployed.
An associated artifact is created for a class only when it is
deployed for at least one language.
- Uml projection 1.1
To manage Python
- Plug-out upgrade 1.12.7
To add operations to access / modify Python definitions.
Note : you must define the C++ preprocessor variable
WITHPYTHON when your plug-out is implemented in C++ and you
defined WITHCPP WITHJAVA WITHPHP and WITHIDL.
- Plug-out empty
Upgraded by plug-out upgrade.
4.8.1
November, 3th 2008
- To modify through a plug-out some
generation settings can produce a crash, fixed.
You also have to fixe your plug-outs with plug-out upgrade.
- Add meta classes management. A meta class is a class stereotyped
metaclass.
The path of a meta class (by default
https://schema.omg.org/spec/UML/2.0/uml.xml or
https://schema.omg.org/spec/UML/2.1/uml.xml
depending on the XMI generation) is memorized
through the property (tagged value) metaclassPath.
- Modify the way a stereotype extends a meta classe.
In the previous releases you used the stereotype tab of the
class editor, and the extending classes was memorized in
the property (tagged value) stereotypeExtension.
Now an extension is suported by an uni directional
association from the stereotype (class stereotyped
stereotype) to a meta class (class stereotyped
metaclass). The explicit multiplicity 1
indicates the extension is required.
When you load a project the properties
stereotypeExtension of the stereotype are converted
to extensions, the needed meta classes are created.
You have to modify your plug-outs
to use the meta classes and extensions rather than
the properties stereotypeExtension on the
stereotypes.
- Plug-out upgrade 1.12.6
To fixe some setter operations on UmlSettings, CppSettings,
JavaSettings, IdlSettings and PhpSettings.
- XMI2 Generator 1.7.1
XMI2 Import 1.3.1
Html documentation Generator 2.14.1
To manage meta classes and extension.
- Deploy 1.0.1
To not deploy classes stereotyped stereotype nor
metaclass. Of course to apply it on a class view
part of a profile seems strange.
- Uml projection 1.0.2
To not project classes stereotyped stereotype nor
metaclass nor placed under a package stereotyped
profile.
- Plug-out empty
Upgraded by plug-out upgrade.
4.8 patch 1
October, 26th 2008
- Since the release 4.6 a crash occurred when
only one language is selected and you modified the parameters
list of an operation defined for an actor placed in a
use case or a use case view, fixed.
- To manage the special form used to initialize an enum item
in Java (value given in parameter rather than throw
an assignment).
- On attribute and relation add the property modifiers
derived, union (only active when derived
is set), ordered and unique.
- New drawing settings show attribute modifiers
and show relation modifiers
to how / hide property modifiers in class diagrams.
By default property modifiers are not shown.
- Java Generator 2.16.2 patch 1
To manage the special form used to initialize an enum item
(already managed by Java Reverse and Java Catalog).
- Python Generator 1.0.5
In the previous release the code generation
was done for Python 2.2 (explicit object
inheritance) depending on the 2.2 flag at
the generation setting level rather than at the
classes level, fixed.
In an operation definition ${class} produces
the name of the class containing the operation.
- Plug-out upgrade 1.12.5
To add the operations isDerived(), isDerivedUnion(), isOrdered(), isUnique()
set_isDerived() (set both if the property is derived and if yes
if it is derived union), set_isOrdered() and set_isUnique.
on UmlBaseAttribute and UmlBaseRelation
- Html documentation Generator 2.14
Export new property modifiers.
Upgraded by plug-out upgrade.
- XMI2 Generator 1.7
XMI2 Import 1.3
To manage new property modifiers.
To manage stereotypes extending several meta
classes.
Upgraded by plug-out upgrade.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.7
October, 10th 2008
- The default screen set through the environment dialog is not
taken account account when it is invalid (for instance
when the left coordinate is greater than the right
coordinate). Bouml now warns you in this case, and
the environment dialog now doesn't allow wrong values.
- A state region can now contain states (including initial
and final), pseudo states and state actions.
- Import generation settings now also import C++ include,
Java import, Python import and Idl include definitions
- Plug-out upgrade 1.12.4
Modify the type of the first parameter of the operation
UmlBaseStateAction::create() to UmlItem.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.6.1
September, 24th 2008
- Fixe a bug in the API with plug-outs occuring
when you ask for a sequence diagram definition
where an interaction use cover several
life lines.
Because of this bug the XMI2 generator can crash in
when used with the previous release of the modeler.
4.6
September, 22th 2008
- Under Windows, when the user configuration is wrong and
designates a non writable home directory contrarilly
to the directory given the environment variable
USERPROFILE, the environment dialog is show each
time you start the modeler, fixed.
- When only one target language is selected and you edit
an operation, a modification of a parameter impacting the default
definition of the operation was only done when you finish the
cell edition by clicking in an other cell of the parameters table.
Now this is also done when you go in an other tab or validate the
operation edition (to click on an other cell isn't necessary).
- A fragment can now reference a diagram, mainly to define
interaction use in sequence diagram. Arguments and
return value can also be specified through a string
(you have to give the full form containing parenthesis
and ':' if expected).
- XMI2 Generator 1.6
Export interaction uses, instance
destructions, and continuations.
Upgraded by plug-out upgrade.
- .pro Generator 2.1.4
Add WITHPHP and WITHPYTHON if at least two WITH*
are defined. Note : compatible with old
plug-outs without Php nor Python.
- Plug-out upgrade 1.12.3
On JavaSettings add operations
isForcePackagePrefixGeneration and
set_IsForcePackagePrefixGeneration.
On CppSetting add operations builtinIn, builtinOut,
builtinInOut and builtinReturn taking
a string in argument, if the argument is a type
defined in the first tab of the 'generation setting'
dialog the returned value is the parameter definition
depending on the direction, else a empty string/null.
Also add setter operations set_BuiltinIn, set_BuiltinOut,
set_BuiltinInOut and set_BuiltinReturn
taken in argument the type and the new parameter
definition, add the type if it is not yet defined through
the first tab of the 'generation setting' dialog.
On UmlBaseFragment add operations refer
returning the diagram referenced by the fragment or null,
arguments, covered returning
the list of covered instances (life lines).
On UmlBaseFragmentCompartment add operations
startContinuation and endContinuation.
Add two pseudo message kinds in aMessageKind :
aDestruction and anInteractionUse.
The pseudo message corresponding to an interaction use
is produced in the corresponding fragment and for only one
of the covered instances. In these two new cases the
operation to() returns as from()
Note : even the python management is not done in plug-outs,
you must define WITHPYTHON when
your plug-out is implemented in C++ and you
defined WITHCPP WITHJAVA WITHPHP and WITHIDL.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.5.1
September, 8th 2008
- Some files like .boumlrc are created into your
home directory, unfortunatelly under Windows some
users have a wrong configuration (for instance the value of the
environment variable HOMEPATH is empty) and the
home directory is not writable. In this case
the value of the environment variable USERPROFILE
is used to specify the home directory.
- In the previous releases, to hide all the attributs/operations
of a class in a class diagram through individual attribute/operation
visibility and setting specify visible member rather than hidden
ones didn't have effect, fixed.
- Fixing in the operation dialog similar to the one made in
the Java generator, see below
- When only one target language is selected, when you modify
the operation parameters through the associated dialog, the definition
for the target language is now also updated (in the previous versions
you had to add/remove/modify parameters by hand in the tab associated
to the target language). However I encourage you to continue to
check the definition for the target language after modifying the
parameters (mainly for C++ where modifiers are produced depending on
the parameter types and directions).
If you don't like this feature, just set another language through
the menu Languages.
- Java Generator 2.16.1
In the previous releases, when the description or the
definition of an operation defined in an interface
or an @interface contains a '{', this character
was replaced by a ';' and the code generation
of the operation was stopped even when this '{'
didn't correspond to the beginning of the body.
Now this management is done only for the first '{'
placed after ${)}.
- XMI2 Generator 1.5.9
Fixings concerning sequence and communication
diagram export
- Global change 1.1.1
A tab can be specified (out of stereotype) through
\t like a return is specified through a \n.
- Project synchro 1.2.2
Project control 1.2.2
Java Reverse 2.12.3
Java Catalog 2.11.3
To use USERPROFILE when the user configuration
specify an invalid home directory under Windows.
4.5
August, 26th 2008
- Previous releases may crashs when
you load a project containing a modeled class instance
(part of the browser) having a relation valuing a
deleted modeled class instance (deletion was made in
a previous session)
, fixed.
- Add Java generation setting force package prefix generation.
This setting is set by default for compatibility with previous releases.
- Java Generator 2.16
In the previous releases the name of a referenced class
was prefixed by its package when it is not part of the current
package even if you asked for import generation
through dependencies stereotyped import.
Now a referenced class is not prefixed by its package when the class
or its package is imported and force package prefix generation
is not set.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.4.3
August, 16th 2008
- Previous releases may crashs when
you load a project containing modeled class instances
(part of the browser) specifying value for relation(s)
, fixed.
- Add keywords ${v<n>} to generate operation
parameter default value in Python like for C++ and Php.
- Modify management of asynchronous call in sequence diagrams
using overlapping activity bars : an activity bars
is now created on the receiver side like for synchronous calls.
- Sometimes the width of some duration bars in sequence
diagrams became too fine, fixed.
- Python Generator 1.0.4
To manage keywords ${v<n>}
- XMI2 Generator 1.5.8
To generate communication diagrams
(not managed by XMI import).
To generate sequence diagrams (not managed by XMI import).
The result is unspecified in case of
non consistent diagrams or diagrams not using
overlapping activity bars or when an
asynchronous call doesn't create a new overlapping
activity bars on the receiver side.
Bug fixed by Plug-out upgrade.
- Html documentation Generator 2.13.5
Spelling (attribute)
- Plug-out upgrade 1.12.2
In C++ the operation UmlBaseFragment::container()
of the plug-outs may return a non
initialized value, fixe this problem.
- Plug-out empty
Bug fixed by plug-out upgrade.
4.4.2
July, 14th 2008
- Improve performances of the modeler to diminuish
execution time of deletions.
- XMI2 Generator 1.5.7
To generate import and extend forms rather than dependencies
between use cases if needed (already managed
by XMI import).
To generate extension points.
To generate associations between use cases and actors
extracted from use case diagrams (not managed
by XMI import).
- XMI2 Import 1.2.11
To import extension points.
4.4.1
June, 29th 2008
- Add keywords ${v<n>} to generate operation
parameter default value in C++ and Php.
- Improve performances of the modeler to diminuish
execution time of some operations.
- C++ Generator 2.12.7
C++ Reverse 2.9.2
Php Generator 1.4.3
Php Reverse 1.2.1
Uml projection 1.0.1
Html documentation Generator 2.13.4
To manage keywords ${v<n>}
- Use case wizard 1.1.1 (C++ version)
Get character set from file .boumlrc
rather than from environment variable BOUML_CHARSET.
4.4
June, 10th 2008
- To manage case of users strangly killing Bouml execution
the first time it asks for environment definition.
Yes, some users did that ... sigh.
- New drawing setting named Show stereotype properties
allowing to show or not the tagged values associated to
a stereotype. By default they are not shown.
The values are shown in a note attached to the stereotyped element,
except for the attributes and operations of classes in a class diagram
whose are shown inside the class itself.
- new macro ${nAME} producing artifact's name
converted to lower case.
- Php Generator 1.4.2
Python Generator 1.0.3
Idl Generator 2.9.3
To manage ${nAME}
- Java Generator 2.15.2
To manage ${nAME}.
Now the dependencies stereotyped import also
apply on the classes declared external.
- C++ Generator 2.12.6
To manage ${nAME}.
To not generate extra ',' when actual(s) are missing
for parameterized class binding (formal(s) have default value)
- Java Reverse 2.12.2
Java Catalog 2.11.2
In the previous releases a form T<...X...>
produces a relation to the generic T when it is
part of the reverse classes or known through a
catalog. Now the form produces a relation to X
if X is a known class and T is defined through
the generation setting as the translation in Java
of a relation/attribute stereotype (this is the case
by default for List for instance)
- Roundtrip body 1.7.1
Explain why the body of an operation can't be updated.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.3.5
May, 26th 2008
- The class diagram menu entry Add classes of the selected class view
now also add the nested classes.
- Unselect elements in diagram before a copy
into the clipboard.
- C++ Generator 2.12.5
fix bug concerning classes declared external.
4.3.4
May, 18th 2008
- Bugs fixing concerning the attribute in class-stereotype.
- The files .bouml .boumlrc and .bouml_shortcut
can't be read when the pathname of your homedir contains
non latin1 characters, for instance under Linux
when your login name use Cyrillic characters. Fixed.
- When a class instance is drawn in a diagram, :
is now written even if the instance is anonymous.
In an object diagram the instance name and class are now
underlined.
- Java Reverse 2.12.1
Java Catalog 2.11.1
Project synchro 1.2.1
Project control 1.2.1
To manage homedir containing
non latin1 characters.
4.3.3
May, 9th 2008
- To set the default screen through the environment dialog
in case of a multiple screens usage wasn't effect, fixed
- Fixe problem in the help dialog.
- When a class stereotyped typedef is read-only
and you edit it, the base type is empty in the
tab UML and the code preview in C++ tab
doesn't show the base type too. Fixed
- The forms @{...} are now substituted in the
code generated for the generalizations/realizations.
- Python Generator 1.0.2
Fixe a bug in the computation of the dependencies to
generate the import forms.
To substitute forms @{...} in the code generated
for the generalizations/realizations.
- C++ Generator 2.12.4
Java Generator 2.15.1
Php Generator 1.4.1
Idl Generator 2.9.2
To substitute forms @{...} in the code generated
for the generalizations/realizations.
4.3.2
May, 5th 2008
- Modify the attribution of the socket port number used
to exchange data between the modeler and the plug-outs.
The goal is to solve problems with firewall sometimes blocking
the plug-outs.
- In the previous releases some information was get from environment
variables, for instance BOUML_ID. Now these informations
are memorized in the file .boumlrc placed into the home
directory, and set through a dedicated dialog called through the
entry Set environment in the menu Miscellaneous.
This dialog is automatically called in case .boumlrc doesn't
exist, and of course the values set through the defined environment
variables are proposed.
The shortcuts are now saved in the file .bouml_shortcuts
- The chapter of the reference manual corresponding to the type of the
element selected in the browser is now shown by using the
F1 key or the help menu (About dialog is now
associated to the F2 key).
The chapter starting is used if no project is load,
if nothing is selected in the browser the chapter
browser items is used.
The directory where the documentation is placed can be specified
by setting the environment (see above), you can also indicate which
navigator will be used to show the HTML pages.
Two setups are now distributed for Windows, one of
them install the documentation.
- When you add an inherited operation the new operation is set not abtract.
If it is not empty the Php definition is now forced to contain
${body}, to help in case the inherited operation is abstract.
- In the diagrams add go up/down to change a little the level of
an element contrarilly to upper and lower.
Of course you can define shortcuts to these new commands.
- XMI2 Import 1.2.10
Little improvements.
- Project synchro 1.2
Project control 1.2
To not use environment variables. You must use the new release of
the modeler to create the file .boumlrc before using these
tools.
4.3.1
April, 27th 2008
- When a plug-out is launch from an other one the trace is
not cleared. It is also not cleared before the executions
of the check/init plug-out associated to the stereotype.
- When an element stop to be stereotyped by a stereotype
part of a profile, the properties associated to the stereotype
are now removed.
- XMI2 Generator 1.5.6
To generate profile imports associated to dependencies
stereotyped import between profiles.
Upgraded by Plug-out upgrade.
- XMI2 Import 1.2.9
To manage import of profiles defined in another XMI file.
Other little improvements.
Upgraded by Plug-out upgrade.
- C++ Generator 2.12.3
Except if you explicitly ask for, the code generator tries to produce
declarations in the header files and includes in the source files.
Unfortunatelly this was also true for the template classes, fixed.
- Plug-out upgrade 1.12.1
Fixe operation isToolRunning defined on UmlBaseItem.
- Plug-out empty
Upgraded by plug-out upgrade.
4.3
April, 20th 2008
- When a diagram is read-only it is now possible to do
some operations like to save it in a picture.
- In the previous releases the header file of a C++
class declared external in C++ was always included in the header
file of the other classes whatever it is used (by reference
or pointer, or by value).
Now it is included in the source file if you explicitly ask for
through a dependency, whatever it is used.
Note this is the reverse for the classes non declared external.
To not modify the behavior of the already existing
dependencies to classes declared external, their definition
is forced to #include in header.
- XMI2 Generator 1.5.5
To produce constraints
- XMI2 Import 1.2.8
To import constraints
- C++ Generator 2.12.2
To manage new behavior of dependencies to classes
declared external.
- Plug-out upgrade 1.12
In the class UmlBasePackage
the operation findNamespace is renamed findCppNamespace,
the operation findPackage is renamed findJavaPackage and
the operation findModule is renamed findIdlModule,
If you call these operations you have to modify
your code to use the new names.
In the class UmlBaseOperation add the operations
cppContextualBodyIndent, set_CppContextualBodyIndent,
javaContextualBodyIndent, set_JavaContextualBodyIndent,
phpContextualBodyIndent and
set_PhpContextualBodyIndent.
In the class PhpSettings add the static operations
isGenerateJavadocStyleComment and
set_IsGenerateJavadocStyleComment.
In the class UmlBaseClass add the static operation
findStereotype.
In the class UmlBasePackage add the static operation
updateProfiles.
In the class UmlBaseItem add the operation
applyStereotype.
In the class UmlBaseFragmentCompartment modify the C++ definition
texts() to bypass Microsoft Visual C++ limitation.
- Plug-out empty
Upgraded by plug-out upgrade.
- The previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.2.1
April, 5th 2008
- In the previous release the python body of an operation
was set when a plug-out asked for to set the Php
body. Of course this was also the case for php reverse
and roundtrip body. Fixed.
- In all the previous releases, when Bouml was compiled with a Qt3,
when you opened a dialog from an other one, the first dialog was
lowered, bypassed.
- Add profile management, refer to the
documentation.
The profile imports from an other one are not yet managed.
Warning : only the properties associated
to the profile can have a name containing two ':', the others
will be removed.
- When you import a project into an other one, the plug-outs,
attribute and relation stereotype correspondences and the class
stereotype correspondences between the languages are now also
added when they don't yet exist.
- In the shortcut definition the key Suppr is renamed
Delete. In the previous releases some shortcut
definitions may be lost when you reload a project, fixed.
- Modify the header added (then remove) when you set add operation
profile on body edition through the menu languages to
help external editor (BOUML_EDITOR) to compute the indent.
- Idl Generator 2.9.1
To prefix the class names by their module if necessary.
To not produce the ',' after the name of the last enumeration item
- Python Generator 1.0.1
Artifact's name was missing in some cases in the code
generated to reference classes, fixed.
Auto generation of import forms based on generalization, this
means a generalization is also implicitly a dependency
stereotyped import.
- XMI2 Import 1.2.7
In the previous releases nested components was imported out of the container
component, fixed.
To import profiles and stereotypes.
To import manifestations.
To manage files produced by Eclipse (aggregate definition on
other relation side)
- XMI2 Generator 1.5.4
To produce profiles and stereotypes.
To produce the associations between artifacts and
other artifact or classes
through manifestations.
To optionaly generate relation as Eclipse
(aggregate definition on other relation side)
To allow to place <xmi:Documentation exporter="Bouml" ...>
in comment else some tools refuse to import produced XMI
or have problem after the import(for instance
Rational Software Architech)
- Html documentation Generator 2.13.3
To produce Profile/Stereotype rather than
Package/Class if needed.
4.2
February, 17th 2008
- Since the 4.0 it was not possible to modify the Php definition
of an operation through a Plug-out without blocking it
(including the Php reverse), fixed.
- New drawing setting named show attribute initialization
allowing to write attribute initialization in a
class picture in a class diagram. This setting have sense only
when you also ask for to show the full members definition.
By default this setting is set to false.
- Default operation parameter direction is now in
rather than inout.
- XMI2 Import 1.2.6
Improve management of primitive types.
- C++ Reverse 2.9.1
To read anonymous namespaces (however they are
not reported in the model).
- Uml projection 1.0
New plug-out setting the definitions/declarations
with their default value according to the
generation settings. Create also the necessary
deployment views and artifacts.
Typically used after an XMI import to project
the imported model in the desired language.
Refer to the documentation.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.1
February, 3th 2008
- When several artifacts have the same name and you edit a class,
the shown artifact may not the right one, and if you change it
the class may not be associated to the desired one, fixed.
- New drawing setting named show members multiplicity
allowing to write attribute multiplicity in a
class picture in a class diagram. This setting have sense only
when you also ask for to show the full members definition
and when the drawing language is UML.
By default this setting is set to false.
- New drawing setting named max members width
allowing to limit attribute and operation width to a given
number of characters. When the number of
characters needed by an attribute or an operation is greater
than max members width, the string is cut to
max members width characters and "..." is added.
Note : the optionally written visibility and stereotype
are not taken into in the member width.
- XMI2 Import 1.2.5
Spaces are replaced by '_' in the name of an imported class,
attribute or relation.
Fixe bug on operation parameter multiplicity reading.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
4.0
January, 27th 2008
- In the previous releases the position of the
use cases in a use case diagram may
not be the right one when you re-open the diagram and
the zoom is not 100%, or when you change the zoom later,
fixed.
- It was possible to move in the browser an element by
drag&drop into a read-only one,
fixed.
- Add management of Python
Currently the scope of Python is not as large as it is
for C++ and Java, for instance there is no Python definitions
in the state machine and activities because this seems useless.
- In the previous releases a class was always drawn as
an actor in a use case diagram,
now this is just the default and a class
can be drawn as a class (without members), or using
boundary, control or entity icon.
The name of use case is not
anymore a separated label and the size of an actor now
depend on its name, so, the position of the incoming
and outgoing arrows and the position of the name
will be impacted.
- Python Generator 1.0
New plug-out generating code for Python.
Refer to the documentation.
- Roundtrip body 1.7
To roundtrip Php bodies.
Follow the new API.
- C++ Generator 2.12
C++ Reverse 2.9
Java Generator 2.15
Java Reverse 2.12
Java Catalog 2.11
Php Generator 1.4
Php Reverse 1.2
Idl Generator 2.9
Plug-out upgrade 1.11
Follow the new API.
- Plug-out upgrade and other Plug-outs will
be upgraded later to manage Python.
A reverse for Python will be available later.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
3.5
January, 14th 2008
- When Qt is compiled with g++ option -fno-exception
BOUML may crash on exit after an error, or after the execution
of a plug-out in batch mode when the option
-exit is given. Bypassed.
- Extra comment was produced in getter and setter
when the associated attribute or relation definition contents
a comment (this means comment marks are directly placed
in the definition), fixed.
- In the previous releases ${value} doesn't produce
the '=' in an attribute or relation initialisation. The '='
is now produced except if :
- the value starts by '=' (may be after spaces)
- a '=' is placed before ${value} (may be with spaces
between them)
- in C++ if the value starts by '=' (may be after spaces)
to take into account a call of a constructor
- New generation setting allowing to produce javadoc
style comments in Php.
- Php Generator 1.3
To produce javadoc style comments.
- C++ Generator 2.11.2
Java Generator 2.14.2
Idl Generator 2.8.3
To follow the new behevior of ${value}
- Java Reverse 2.11.1
Java Catalog 2.10.3
In the previous releases the default visibility for the members
of an interface was package like for the 'standard'
classes rather than public, fixed.
- C++ Reverse 2.8.1
In previous releases a typedef used a realization
rather than a dependency to reference a
base class, fixed.
To accept an extra comma after the last item of an enum.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
3.4.1
December, 31th 2007
- Default getter and setter definition was wrong
in Java and C++ when the associated attribute/relation
produces an array (because of its multiplicity), fixed.
Furthermore in this case the setter definition in C++ stops
to use a memcpy, and now copy the elements one by one.
- In the relation dialog the new button association
allows to create a new class and set the value with it,
or in case the value is a class to select it in the browser
(like for the button type in the attribute dialog).
- C++ Generator 2.11.1
Java Generator 2.14.1
Php Generator 1.2.1
Idl Generator 2.8.2
When a class or an artifact have an empty definition
the message contained the name of the element without
its kind, this was disturbing in case the class and
the artifact have the same name. Now the message
indicates if the problem concerns the class or the
artifact.
3.4
December, 16th 2007
- Previous releases crash when you
start to draw an association part of the model
(not an anchor for instance) in a diagram
and you use one of the buttons allowing to change
the zoom, fixed.
- It is now possible to ask for to not add the indent dependent
on the context when the body of an operation is
produced. This feature is mainly added to simplify the
work of the reverses and to preserve the original indent
of the reversed operations.
By default the indent depend on the context, this means
for instance depend on the indent of its class.
- C++ Reverse 2.8
Java Reverse 2.11
Php Reverse 1.1
Roundtrip body 1.6
To ask for to not add the indent dependent
on the context when the body of an operation is
produced.
- C++ Generator 2.11
Java Generator 2.14
Php Generator 1.2
To manage body indent not dependent on the context.
- Remark : Bouml is now also available on
source forge
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
3.3.5
December, 10th 2007
- The stereotype of an attribute was not copied to
its getter and setter, fixed.
- Now when you create a new project the
generation settings in Java use generics,
for that by default :
- the UML stereotypes list, set and map produce
List, Set and Map in Java,
- the attributes and relation definition in Java contains
${stereotype}<${type}> when the multiplicity
is * or a form a..b whatever a and b
are.
- C++ Reverse 2.7.2
Previous releases may crash reaching a premature
end of file, fixed.
Fixing in the reverse of an operation having at least one
parameter being a pointer to an operation having itself
one parameter being an array.
- Java Reverse 2.10.2
Java Catalog 2.10.2
Previous releases may crash reaching a premature
end of file, fixed.
- C++ Generator 2.10.1
Java Generator 2.13.1
Php Generator 1.1.1
Idl Generator 2.8.1
An extra line break was generated at the end of a
non null comment when the form ${comment}
or ${description} is placed at the end of the
declaration/definition, fixed.
3.3.4
November, 21th 2007
- Previous releases crash on undo when
the diagram contains a constraint, fixed.
- A plug-out can now access to semantic informations
not present in the model out of the drawing in use case, collaboration
and sequence diagrams.
- use case diagram : access to
- the uses cases, actors, subjects
and fragments present in the diagram,
- the association between actor and uses case
indicating if the actor is a primary or secondary
actor in the association,
- the subject and fragment compartment where the
uses cases is drawn if this is the case
Note that other data like inheritance between use cases
are part of the model.
- collaboration diagram : access to
- the class instances present in the diagram,
- the messages between instances, ordered on the rank
- sequence diagram : access to
- the class instances and fragments present
in the diagram,
- the messages between instances ordered on the sending time
(vertical position in the diagram),
- the fragment compartment where a
message is sent,
- the fragment compartment where the fragments
may be drawn and the text may be placed in the
fragments compartment (corresponding to a
guard of a fragment alt for instance)
- Plug-out upgrade 1.10.2
To access to the semantic informations from a
use case, collaboration and sequence diagrams,
through the new operation definition defined on
UmlBaseCollaborationDiagram, UmlBaseSequenceDiagram
and UmlBaseUseCaseDiagram.
A new package named Diagram is created to place the new classes
supporting these informations under the packages API BASE and
API USER
- Plug-out empty
Upgraded by plug-out upgrade.
3.3.3
November, 21th 2007
- Previous releases crash when you add
a reflexive message on a life line in a sequence diagram (this
means not on a duration bar), fixed.
3.3.2
November, 11th 2007
- Add missing relations when you open a diagram having
the drawing settings 'draw all relations'
valuing yes.
- In a component diagram when you move a containing
component its nested components which
intersect with it are also moved.
- In a use case diagram when you move a subject
or a fragment the contained elements are also moved.
- If the element selected in the browser appears in the
current diagram, the menu of the diagram (called by a right
mouse click out of any element in the diagram) proposes
to find the browser element in the diagram, this allows
to select the representation(s) of the element in the diagram.
- Html documentation Generator 2.13.2
Export properties (tagged values)
3.3.1
November, 5th 2007
- Previous release crashes when you transform
a sequence diagram containing fragment separator
to use flat/overlapping activity bars, fixed.
3.3
November, 4th 2007
- Previous releases may crash when you ask for replace
a class instance in a sequence or collaboration diagram
but there is no available class instance, fixed.
- Default getter and setter definition was wrong
in Java when the corresponding attribute is initialized, fixed.
- dependency and C++ :
- When you edit a dependency just after its creation, the
C++ definition was shown as #include in source but
the #include was produced in the header file (supposing
you don't edit the relation or don't valid the edition), fixed.
- In the previous releases, when you created a dependency
the C++ definition produced the #include in the header file,
but by default when you edit a relation to be a dependency
the C++ definition produces the #include in the source file.
Now, a newly created dependency produces the #include
in the source file to follow the same rule in all the cases.
- sequence diagram :
- Add explicit reflexive return
- Add overlapping activity bars
- By default the newly created sequence diagrams
use the overlapping activity bars, but
of course the existing diagrams don't use them.
- A diagram using overlapping activity bars
can be transformed to use flat activity bars,
and vice versa. The overlapping level introduced
by a reflexive message is propaged to the next
messages, you may have to add explicit returns
before transforming flat activity bars
to overlapping ones. Known problem : the fragments
'alt' are not taken into account by the
transformation, 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 menu of the 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.
- Like for the previous releases, I prefer to offer a high
level of flexibility in the construction of the
sequence diagrams, rather than to limit
the available modifications or to modify the diagram
may be by deleting messages in order to always have
a consistent diagram. To quickly modify a diagram,
may be to fixe unconsistencies, several facilities are
available to change the start or end of a message to the
parent activity bars or a new overlapping
activity bars, or to collapse an activity bars
with its parent activity bar.
- Add C++/Java/Php roundtrip operation body in the available shortcuts
- Character and background color for texts in diagrams (button abc)
can be changed. By default a text is written in black and
doesn't have background (it is transparent).
Warning : in an SVG export the background color applied
on all the rectangle sizing the text rather than on the
background of the characters.
- The color of the character for the notes in diagrams can
be changed. By default a note is written in black.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
3.2.1
October, 24th 2007
- Previous version modify the position of the
labels in the diagrams in some cases, fixed.
- When you edited operation body through shortcut or context
menu with add operation profile on body edition set,
the operation profile was not be showed, fixed.
3.2
October, 21th 2007
- The SVG produced for a component diagram
contained floating point numbers. Depending on the settings
associated to your country, the representation of a float can
uses a ',' rather than a '.', not compatible
with SVG. Now all the produced numbers are integers.
- Add xml:space="preserve" in the SVG text forms, at least
to indent arguments given on several lines in a
sequence diagram.
- It was not possible to add a state diagram icon and an
activity diagram icon in a state diagram,
component diagram, sequence diagram,
collaboration diagram, object diagram,
use case diagram, deployment diagram
and activity diagram. Fixed.
- The interfaces provided and required by a nested subcomponent
are automatically provided and required by the direct
container component, but this didn't work for more levels,
fixed.
- In a sequence diagram, the arguments given on several
lines are shown pseudo centered, fixed.
- It was not possible for a component to require and
provide the same interface, this limitation is removed.
- Modify the component dialog to set the realizing classes
(wrongly labeled realized classes in previous releases)
in a dedicated tab rather than to set them with the
provided classes.
- Plug-out upgrade 1.10.1
Since Bouml 2.28 the activities are not added,
fixed.
Rename the operation UmlBaseComponent::realizedClasses to
realizingClasses.
Warning, doesn't modify the exiting calls of realizedClasses.
Rename the parameter realized of the operation
UmlBaseComponent::set_AssociatedClasses to realizing
Add operation PhpSettings::classUmlStereotype.
Add operations UmlBaseItem::isMarked, UmlBaseItem::set_isMarked,
UmlBaseItem::markedItems, UmlBaseItem::referencedBy,
UmlBaseState::set_AssociatedDiagram,
UmlBasePackage::loadProject, UmlBasePackage::saveProject
and UmlBasePackage::isProjectModified
if they are not defined.
- Html documentation Generator 2.13.1
Plug-out empty
Upgraded by plug-out upgrade.
- .pro Generator 2.1.3
Add WITHPHP if at least two WITH*
are defined. Note : compatible with old
plug-outs without Php.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
3.1
October, 14th 2007
- Since the 3.0 when you load a project Java management and default definition
is forced to false if Php management and default definition
is not set, fixed.
- Add force body generation flag on the operations to allow to
generate their body even if preserve operation's body is set.
Usefull to generate the implementation of the state machines
in all the cases.
- Java Generator 2.13
C++ Generator 2.10
Fixe the indent of the first item of an enum itself
embeded in an other class.
To manage operations having their body generated even
if preserve operation's body is set.
- Php Generator 1.1
To manage operations having their body generated even
if preserve operation's body is set.
- State machine generator 1.4
To set force body generation on the produced operations.
Upgraded by plug-out upgrade.
- Roundtrip body 1.5
To not change the body of the operations having
force body generation set.
- Global change 1.1
To manage Php definitions.
Upgraded by plug-out upgrade.
- Html documentation Generator 2.13
To generate Php definitions.
Upgraded by plug-out upgrade.
- Plug-out upgrade 1.10
To add missing vector allocations in Java definitions.
To add Php management and force body generation.
Note : you must define WITHPHP when
your plug-out is implemented in C++ and you
defined WITHCPP WITHJAVA and WITHIDL.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
3.0.2
October, 9th 2007
- Since 2.32.1 Bouml crash when you add a non self
transition, fixed.
- Since 3.0 moving or copying an operation from
a class to another class may destruct its body, fixed.
- Roundtrip body 1.4
Plug-out upgrade 1.9
Fixe a problem in the new API between the modeler and the plug-outs
(doesn't concern the other plug-outs nor the users ones).
- State machine generator 1.3.3
Management of consecutive pseudo states
(for instance choices) was wrong,
fixed.
3.0.1
October, 8th 2007
- Previous releases may crash during a save,
fixed.
- Php Reverse 1.0.1
The name of the produced artifact contained the
reversed file extension, fixed.
To manage file names containing a dot, ie
having more than the dot separating the name
and the extension.
- Java Reverse 2.10.1
Java Catalog 2.10.1
C++ Reverse 2.7.1
Project synchro 1.1.2
Project control 1.1.1
To manage file names containing a dot, ie
having more than the dot separating the name
and the extension.
3.0
October, 7th 2007
- Add management of PHP 4 and 5
Currently the scope of PHP is not as large as it is
for C++ and Java, for instance there is no PHP definitions
in the state machine and activities because this seems useless.
- Now the tabs dedicated to a given language are not shown in the
dialogs when you don't ask for its management through the
menu Languages.
- Java Reverse 2.10
Java Catalog 2.10
Since Bouml 2.31.2 the simple inheritances produce realization
stereotyped bind, fixed.
Follow the new API.
- Php Generator 1.0
New plug-out generating code for PHP.
To produce definition without visibility compatible
with PHP 4, remove ${visibility} in the
generation settings and in the definitions
made before, or set the visibility to package
at the UML level.
Refer to the documentation.
- Php Reverse 1.0
New plug-out reversing PHP code.
Refer to the documentation.
To test the reverse I applied it on the sources of
Joomla 1.5RC2,
this produces almost 600 classes.
- Roundtrip body 1.3
To roundtrip Php bodies.
Follow the new API.
- Java Generator 2.12
C++ Generator 2.9
C++ Reverse 2.7
Idl Generator 2.8
Follow the new API.
- Plug-out upgrade and the other Plug-outs will
be upgraded later to manage Php.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.32.1
September, 29th 2007
- To distinguish external and internal self transitions
(unfortunatelly drawn outside the state),
the internal self transitions are now drawn with dot lines.
- Optimal window size may produces a too small
window when Bouml is compiled with a Qt 3, fixed.
- In the previous releases when an attribute was duplicated
the multiplicity was not copied, fixed.
2.32
September, 23th 2007
- In the previous releases the lines are always drawn
in the diagrams between the center of their extremities.
Now it is possible to decenter them to have for instance
.
For that do a mouse click
near the beginning or the end of a line and move the mouse
with the click down.
It is not possible to decenter a line having its geometry
set through the line menu geometry (
,
,
or
).
When you change the relative position of its extremities,
a line may go to an other edge like when the line is
not decenter, but the offset with the top or
the left of the edge is unchanged.
Unfortunatelly the angle of a decenter line may change
when the zoom is modified, because it is not always possible
to have exactly the desired font size. This is mainly the
case when the size of the extremities is linked to the font
size, for instance for classes.
To come back to a centered drawing, use the submenu
Geometry of the line menu and choose recenter begin
or recenter end.
- It is now possible to add state machines and activities
under use cases and use case views.
- I consider you have a multiple screens configuration if the desktop width
is greater than 2000 pixels or two times its height. In this case
a message box is shown when Bouml starts, speaking about BOUML_LIMIT_DESKTOP.
To help users having a multiple screen
configuration whose unfortunatelly don't read the
FAQ or the
documentation.
- XMI2 Import 1.2.4
To allow state machines and activities
under use cases and use case views rather than
to place them on upper level or dedicated class views.
- State machine generator 1.3.2
To manage state machines under use cases and
use case views. Because the C++ code generation is not
made for classes under use case or use case view
the state machine generator produces an error when it
is applied on a state machine place in a use cases
or a use case views.
- Plug-out upgrade 1.7.3
To remove ${throw} if present in the default
C++ definition and declaration of the created operations
(Java operations have exception RuntimeException
not existing in C++).
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.31.3
September, 16th 2007
- Now, when you add an item to an enumeration
(class stereotyped enum or enum_pattern),
the item's type is set to the enumeration. Note : this
is also done when the item is added by a plug-out.
- Plug-outs can't add a flow from an
expansion node, fixed.
- XMI2 Generator 1.5.3
To produce the type of the enumeration items, even
if it is not set.
To produce subvertex rather than connectionPoint
for the pseudo states.
To produce transitions out of the regions,
else Eclipse is not able to import them.
To add a missing '>' on activity control node export
- XMI2 Import 1.2.3
To import class instances.
- Html documentation Generator 2.12.1
Modify produced style.css to indent html page
contain.
- Plug-out upgrade 1.7.2
The first parameter of the operation UmlBaseClassInstance::add_Relation
is an UmlRelation rather than an UmlAttribute.
The first parameter of the operation UmlBaseClassInstance::remove_Relation
is an UmlRelation rather than an UmlAttribute.
- Plug-out empty
Upgraded by plug-out upgrade.
2.31.2
September, 11th 2007
- Previous releases crash when you open a diagram
referencing a modeled instance deleted in a previous session
(this means you didn't open the considered diagram
after the deletion of the instance in the same session),
fixed.
- Previous releases crash when you edit a read-only
modeled instance, fixed.
- XMI2 Generator 1.5.2
Modify export of template classes for Uml 2.1
to allow import by Eclipse.
When you export for Eclipse, ask for Uml 2.1 export
and use the file extension xmi.
- XMI2 Import 1.2.2
To be able to import a file produced by the new export for Uml 2.1,
of course Bouml is able to import old files.
- C++ Reverse 2.6.2
Java Reverse 2.9.2
Java Catalog 2.9.1
To create a realization stereotyped bind rather than
a generalization when a class inherits a template class.
2.31.1
September, 2th 2007
- Add a button in the IDL tab of the dialog for attributes
allowing to specify a constant.
- Java Reverse 2.9.1
In the previous releases, when the body of an operation
was not on several lines, this one was directly placed
in the definition of the operation, without using
${body}. This optimization is removed because
this is a problem when you want to generate code with
preserve operations's body.
- C++ Generator 2.8.3
Text artifacts was generated with an unexpected extention,
fixed.
- State machine generator 1.3.1
Fixe bug associated to transitions without trigger.
Instrumented code for the final state was wrong, fixed.
- XMI2 Generator 1.5.1
XMI2 Import 1.2.1
Fixe management of association classes.
- File Control 1.0.4
Add %dironly corresponding to %dir without
the drive.
- C++ utilities 1.1.1
To allow to add constructor declared explicit.
2.31
August, 26th 2007
- In the previous releases, when you move a state only
the substates follow. Now the pseudo states and line breaks
of associated transitions are also moved.
- In the previous releases the self transition was
considered internal (the exit and enter
behaviors was not executed by the code produced
by the state machine generator), now editing
a self transition you can set it external.
By default a self transition is still internal.
- Add the stereotype text for the artifacts.
An artifact having this stereotype doesn't have
associated classes nor artifacts, and the code generators
produce the source definition without any change (there is
no C++ header for them). The extension of the
generated file must be specified in the name of the artifact.
This allows to produce any text file, for instance for
yacc/bison. In a plug-out the definition depending
on the language is accessible though the existing operations.
When you load an artifact
saved by a previous release of Bouml having the stereotype
text, this one is replaced by _text.
- State machine generator 1.3
To manage external self transitions.
In the class corresponding to the state machine
all the sub classes are declared friend allowing
them to access to its protected members. Recall : the
class instance corresponding to the state machine is
given through the operation parameter stm.
Instrument parts of code using the stdio puts
function protected by #ifdef VERBOSE_STATE_MACHINE,
to help you to debug your machine. To add the
instrumentation you must delete the class(es) realizing
your state machine made by the previous releases of
the state machine generator.
- Html documentation Generator 2.12
XMI2 Generator 1.5
XMI2 Import 1.2
To distinguish external and internal self transitions.
- C++ Generator 2.8.2
Java Generator 2.11.2
Idl Generator 2.7.2
To manage text artifacts
To indicate the number of errors and warnings at the end of the trace
- Roundtrip body 1.2.1
To indicate the number of errors and warnings at the end of the trace
- Plug-out upgrade 1.7.1
To add operations isExternal
and set_isExternal on UmlBaseTransition.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.30.2
August, 12th 2007
- The already opened diagrams was not always updated when
draw all relation is true and a relation/flow/transition
is added on an element, fixed.
- C++ Generator 2.8.1
Java Generator 2.11.1
Idl Generator 2.7.1
Code generation is not done when a class view contains
class instances, fixed.
- XMI Generator 1.4.5
In the previous releases a nested class was generated
as an actor, fixed.
2.30.1
August, 4th 2007
- Previous releases crash when you duplicated
a class instance using the marks, fixed.
- Previous releases crash under Windows
because of a C++ compiler bug in optimize speed
mode, when you ask for some actions through the menu
of a link between two instances in an object diagram.
This occured for instance when you changed the geometry
of the link. Fixed.
- Add the entry duplicate in the menu of the
class instances in the browser. Warning : when an
instance is duplicated, the value of the attributes are copied
but the value of the relations are not copied in the new
instance.
- Add the entry geometry in the menu of the link between
class instances in a collaboration diagram.
- C++ reverse 2.6.1
Several improvements in the management of the namespaces
and the template forms.
2.30
July, 29th 2007
- Sometimes after closing a diagram or dialog the keyboard shortcut
was not taken into account until you click some where on the Bouml
window, fixed.
- It was not possible to duplicate an attribute through
a shortcut, fixed.
- Add management of the multiplicity for the attributes.
The generation settings are modified to be able to
set the default definition of an attribute depending on
the multiplicity.
When you load a project, the attributes defined by previous
releases have an empty multiplicity.
- Java Reverse 2.9
Java Catalog 2.9
When the return value type of an operation was a generic
form referencing a class, the type of the operation was
set to the generic without the form between < >,
fixed.
To manage attribute multiplicity.
- C++ reverse 2.6
When a directory contains several classes having
the same name but placed in different namespaces,
only one of these classes was reversed, fixed.
To manage attribute multiplicity.
- C++ Generator 2.8
Java Generator 2.11
Idl Generator 2.7
Html documentation Generator 2.11
XMI2 Generator 1.4
XMI2 Import 1.1
To manage attribute multiplicity.
- Roundtrip body 1.2
Follow the new API
- Plug-out upgrade 1.7
Do the following modifications :
- In the classes CppSettings, IdlSettings
and JavaSettings, the operation
relationStereotype is renamed
relationAttributeStereotype, the operation
set_RelationStereotype is renamed
set_RelationAttributeStereotype, and the
operation relationUmlStereotype is renamed
relationAttributeUmlStereotype.
If you call these operations you have to modify
your code to use the new names.
- In the classes CppSettings, IdlSettings
and JavaSettings, the operation
attributeDecl has now a parameter giving
the multiplicity (like relationDecl),
and the operation set_AttributeDecl
has a new parameter giving
the multiplicity (like set_RelationDecl).
You have to modify your code to give the multiplicity
if you call these operations.
- In the class IdlSettings, the operations
valuetypeAttributeDecl, unionItemDecl
and constDecl have now a parameter giving
the multiplicity (like relationDecl),
and the operation set_ValuetypeAttributeDecl,
set_UnionItemDecl and set_ConstDecl
have a new parameter giving
the multiplicity (like set_RelationDecl).
You have to modify your code to give the multiplicity
if you call these operations.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- .pro Generator 2.1.2
Previous releases don't take into account a generation
root directory relative to the project, done.
To be able to specify a text generated at the end of the .pro file.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.29.1
July, 17th 2007
- Add new consistency checks when you load a project. Bouml signals
when several elements share the same internal identifier and how
it fixe this. This problem may occurs when you change the project
file by hand or a tool (for instance to merge modifications), or
when you don't follow the mandatory rules allowing to use
Project synchro, or may be an unknown bug in Bouml.
- In the previous releases, the browser search
applyied only on the name of the elements.
Now you may also search for a string in the documentation of the elements
or in their declaration/definition/body.
- C++ reverse 2.5.2
In the previous releases you select one directory to reverse it.
Now you are able to select several directories to reverse them both,
press 'cancel' in the file dialog to start the reverse of the
selected directories.
Recall : all the classes read during the reverse are created
even if a class having the same name already exist in the model.
When you select several directories in a reverse, all the classes are
supposed to be part of the same application.
So, to reverse the directory d1 then to reverse the directory
d2 (two separated reverse) doesn't have the same behavior as
to reverse d1 and d2 at the same time (reverse called
one time, selecting the two directories).
- Plug-out upgrade 1.6.3
Do the following modifications :
- UmlTypeSpec become a user classes and
inherit on the new system classes UmlBaseTypeSpec.
- UmlParameter become user a classes and
inherit on the new system classes UmlBaseParameter.
- Add system class UmlBaseView and user class UmlView.
UmlView inherits UmlBaseView whose inherits UmlItem.
UmlBaseClassView, UmlBaseComponentView, UmlBaseDeploymentView
and UmlBaseUseCaseView inherits UmlView rather than
directly UmlItem.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
2.29
July, 1th 2007
- Previous release may crash, fixed.
- Referenced by management take into account the class instances.
- Modify the class instance management : don't create
class instances in the model when you open a sequence diagram
or collaboration diagram coming from a release less than 2.28.
- In a sequence diagram or collaboration diagram it is possible
to replace a class instances part of the model by a clone not part
of the model (only graphical). On the opposite it is possible
to transform an instance to insert it in the model, or to replace it by an
already existing instance part of the model and having the same type.
- Add inner class notation in the class diagrams
, depending
on the drawing setting draw all classes relations.
- C++ reverse 2.5.1
To reverse a reference to a class as a relation rather than an attribute.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.28
June, 24th 2007
- Since release 2.21.3 you may loose template actuals when you
load a project depending on class order in the browser, fixed.
- Default stereotypes defined for relations between non classes
was not proposed in edition since release 2.26.2, fixed.
- The template actuals are now written as a label
attached to a realization in a class diagram.
Recall : the stereotype bind is not automatically
set on the realization of a bound class, it is
your responsability to use it or not.
- New browser element : the class instances
.
When you open an object diagram coming from a
previous release, a new class instances
is created in the view containing the diagram for each drawn instance
even if a class instances having the same name already exist
in the same view.
When you open a sequence diagram or collaboration diagram
coming from a previous release, a new class instances
is created in the view containing the diagram for each drawn instance except if a
class instances having the same name already exist in the same view.
To create all the class instances you have to open all the diagrams, this is
done (temporary) when you generate the HTML documentation (however, the
first HTML code generation may not export all the class instances even
all of them are created, depending on the order of the elements).
- New default stereotypes {complete,disjoint}, {incomplete,disjoint},
{complete,overlapping} and {incomplete,overlapping}
for the generalizations (set only when you create a new project).
- New default stereotype executionEnvironment for the deployment nodes
(set only when you create a new project).
- Previous releases use a default name when you create a
Package, a view or a diagram. Now Bouml
ask for a name.
- Add drawing setting named drawing mode on
the instances in a sequence diagram, equivalent to
the same drawing setting already existing on the
classes in a class diagram.
- The stereotypes of the use case are now
written in the use case diagrams (except
the special stereotype realization).
- It is now possible to unset the preferred size and scale
for a diagram, to set only the preferred scale and to
unset it.
- The name substitution of the 'external' classes is now taken
into account by the dialogs in the previews (Result after
substitution).
- Idl Generator 2.6.1
Add the management of the 'external' classes, managing name
substitutions.
- Html documentation Generator 2.10
Fixe Java definition of UmlBaseParameterSet.read_uml_().
To produce class instances.
The references to any element, and the name of the files corresponding
to the diagrams and to the classes (except if -flat) are know
constant and doesn't change each time you generate the document
(thanks to the new operation UmlBaseItem::getIdentifier()).
Follow the new API.
- XMI2 Generator 1.3
Fixe a bug in the generation of expansion region.
Produce class instances.
- Plug-out upgrade 1.6.2
To add class instances management though the new classes
UmlBaseClassInstance and UmlClassInstance,
and to add UmlBaseItem::getIdentifier().
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.27
May, 29th 2007
- New drawing setting named show members stereotype
allowing to write attribute and operation stereotype in a
class picture in a class diagram. By default this setting
is set to false.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.26.3
May, 22th 2007
- Project synchro 1.1
Operation bodies and diagrams was not correctly managed, fixed.
2.26.2
May, 20th 2007
- When Bouml was compiled with a Qt 3, the SVG export
produced fonts with a negative size, fixed.
- Add default stereotype import for the dependencies.
In Java, when a class depend on other classes or a packages and
these dependency are stereotyped import, the
${imports} now produces the corresponding import forms.
- Java Generator 2.10.1
A ',' was missing to separate several exceptions after
throws in the code produced for an
operation, fixed.
To replace ${imports} by imports forms specified
by the dependencies stereotyped import.
- C++ Generator 2.7.2
Generation of friend didn't take into account
force namespace prefix generation, fixed.
- State machine generator 1.2
Improvement to delete classes, operations and
attributes produced by a previous state machine
definition but now useless.
Warning : if a state or other element 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 members, these ones
will not be deleted by State machine generator
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).
Note : the automatic deletion doesn't apply on
elements created by previous releases of the
State machine generator and not confirmed
by the new release.
Follows the new API.
- Plug-out upgrade 1.6.1
Add operation UmlbaseItem::deleteIt()
to delete an element from the model. Doesn't delete
the associated element in the plug-out
but this one must not be used anymore.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
2.26.1
May, 13th 2007
- In the previous release it was not possible to send
a message from an existing activity bar, fixed.
- Java Reverse 2.8.1
An import java.lang.*; was forced in the artifact
definition produced by the reverse,
it is not any more the case.
- C++ Generator 2.7.1
The code generated for a template class inheriting
a template class declared external was wrong
because the actuals was missing. fixed.
2.26
May, 8th 2007
- Add constraint on class, operation, attribute and relation.
Constraints may be shown in a class diagram depending on the
drawing settings named show information note
and valuing false by default.
To limit the needed surface, all the constraints including the
inherited and the ones of the members are shown in the
same note attached to the class, rather than to produce a note
for each constraint. By default all the constraints are shown
when show information note is true, but you can choose
which constraint must be visible through the constraint-note
editor. If show information note is true but there is
no constraint or you ask for hide them, the constraint-note
is present but empty.
Note : you must enter the {} in the constraints
to respect the UML notation because Bouml is not able to know where
a constraint start and finish.
- ${comment} produced comments starting by // in C++.
Now you may ask for Javadoc style comment
through the generation settings.
- ${comment} produced comments starting by // in Java
when the description used only one line.
Now you may ask for Javadoc style comment
through the generation settings in any case, this
is the default, else the comments use //.
When you load an old project this setting is set to true.
- Now almost all the diagram elements can be connected by anchor.
- C++ Generator 2.7
Java Generator 2.10
To produce Javadoc style comments depending on generationsettings.
Follow new API.
- Plug-out upgrade 1.6
To upgrade plug-out to manage new generation setting associated to
the Javadoc style comment and constraints. Follow new API.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- C++ reverse 2.5
Java Catalog 2.8
Java Reverse 2.8
Idl Generator 2.6
Roundtrip body 1.1
Follow new API.
- Html documentation Generator 2.9
To produce constraints.
Follow the new API.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.25.2
May, 1th 2007
- When you edited an operation defined in an enumeration
(Java specific) and you to toggle abstract or class operation
Bouml crashed , fixed.
- Add Multi pages printing. Now when you ask for print the current
diagram and you valid the printer choice, a menu appears to allow
you to choose a print on one, four or nine pages.
2.25.1
April, 29th 2007
- The C++ generation setting was set to #include with root relative path
when you ask for #include with relative path, fixed.
- When a class inherits other class itself nested directly or indirectly
in template class, it was not possible to set the corresponding
actuals though the class dialog. This is now possible.
Known problem : can't manage correctly the case
of a template class referenced several times in the inheritances
(for instance class C1 : public C2<int>, public C2<char>::SC2 ...).
In this case, while this problem is not solved you must replace ${type}
in the generalizations definition by the right definition.
- When the environment variable BOUML_TEMPLATE is defined, the
project menu propose the entry Create from Template. When you
select this entry the project specified by BOUML_TEMPLATE
is load and a save as is automatically done. BOUML_TEMPLATE
must values the pathname of a project file (a file having the extension prj).
This help you to create a project where all the settings are set as you want.
Generally the template project is empty and only defined to set the settings.
- Now the size of the font used for the menus and dialogs
is the one set through the menu Miscellaneous.
- C++ Generator 2.6.1
When you ask for #include with relative path
or #include with root relative path and you #include a header
file which artifact is placed in a package specifying an absolute
path for the headers, the relative path to this absolute path was
produced. Now in this case the absolute path is produced.
Since the release 2.22, in C++, the template header was not
produced for the definition of static attributes or relations
of a template class, when the member has an empty description, fixed.
To manage inheritances to a class nested directly or indirectly in
template class. Same problem when a template class is referenced
several times.
- XMI Generator 1.4.4
A </UML:Namespace.ownedElement> was missing in the
generation of use case dependencies and generalizations,
fixed.
- Java Generator 2.9.1
References to nested classes didn't contain
container class, fixed.
- Java Catalog 2.7.1
Java Reverse 2.7.1
Improvement to try to produce a relation rather than an attribute
when a Java attribute's type is a generic form.
2.25
April, 22th 2007
- In the previous releases the class dialog had a button to
specify Java public visibility on class, this one is removed :
now the Java visibility is the Uml one, like for the operations for
instance.
Add visibility on non nested class at UML level (nested classes already
had visibility).
When an old project is load
- for the nested classes :
if the Java visibility was public
the Uml visibility is set to public,
else to package. If the C++ visibility
followed Uml this one if changed to the desired
visibility if needed.
- for the non nested classes :
if the Java visibility was public
the Uml visibility is set to public,
else to package.
Default class visibility is package
Recall : package visibility is translated to public
in C++.
- In the new project the default class definition in Java
contains ${visibility} rather than ${public}.
- In the previous releases it was not possible to set the
multiplicity in the two roles of an undirectional relation.
This is possible now and of course the two multiplicities
are visible in a class diagram when there are not empty.
Note : a plug-out can't access to the second multiplicity
of an undirectional relation because in this case the
UmlRelation instance doesn't exist.
- Now the C++ generation settings allow to
ask for auto generated C++ #include relative to
the root directory (the root directory is specified
through the last tab of the generation settings).
I hope four modes to generate #include is enough to
satisfy everyone !
- New drawing setting called show parameter name
allowing to choose to hide or to show the operation parameters name
when a class is drawn in a class diagram.
Only active when show classes members full definition
values yes. Values yes by default at project level and
default at other levels to be compatible with the previous releases.
- Now the drawing setting called show parameter direction
is also active when the drawing language is UML.
- Java Generator 2.9
Previous releases may crash, fixed
To manage ${visibility}, ${public} still managed.
In the previous releases the code generation for an operation
defined in an @interface stop when a { was reached,
still now this is not true when default is written after
the parameter list, to allow annotation type with a default value
using {}.
Follow the new API.
- Rose project import 2.1.1
To manage ${visibility}, ${public} still managed.
- Java Catalog 2.7
Java Reverse 2.7
To reverse class visibility.
To fixe the reverse of an annotation type with a default value
using {}.
This allows to reverse all the Java version 6 (update 1) sources
without warning nor error, producing 9425 classes, 48506 properties
(attributes and relations) and 85939 operations.
On my old PC under Windows XP, Pentium 4, CPU clock 3Ghz and
512 Mb of memory, this reverse is done in less than 7 minutes and the process size
when all is reversed is 172 Mo.
Follow the new API.
- C++ Generator 2.6
To produce #include with pathname relative to root directory
if asked through the generation settings
Follow the new API.
- Html documentation Generator 2.8
To produce Uml definition or operations, attributes and relations
To produce class visibility.
To produce index of public attributes and relations
Follow the new API.
- Plug-out upgrade 1.5
To upgrade plug-out to manage new generation settings
and to manage new class visibility
Note : the operations isJavaPublic and
set_IsJavaPublic defined on UmlBaseClass are deprecated,
use the operations visibility and set_Visibility.
Follow the new API.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Idl Generator 2.5
C++ reverse 2.4
Follow the new API.
- Roundtrip body 1.0
New plug-out, can be applied on an artifact,
a deployment view, a package, or the project.
Only active when preserve operations's body is set.
Allows to update the operation's bodies in the model
from the sources using the marks inserted by a code generation
made with preserve operations's body set.
Known problem : the bodies are updated like they are
in the files, this means with an extra indent when the code generation
was made with spaces before ${body} in the operations definitions.
- XMI2 Generator 1.2.1
Fixe a bug in the generation of input pins.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.24
April, 15th 2007
- There is no element selected in the browser when
you just created a new project or after some cases of
drag & drop inside the browser, at this time to hit a key (which may be
or not a shortcut) crash Bouml, fixed.
- Deployment node name and type was not correctly written in a
deployment node diagram since release 2.22.1, fixed.
- Add facilities in some editors :
- When you edit a link from an object diagram you can ask
for an association creation through the button New.
Note : when you create an association this one is automatically
edited, but this editor is unreachable until you close the link
editor.
- When you edit a message from a sequence diagram or
a collaboration diagram you can ask for an
operation creation through the button message:.
- When you edit a call behavior action part of an
activity you can ask for an activity
or state machine creation through the button behavior:.
In this case the behavior is created in the view containing
the activity.
- When you edit a call operation action part of an
activity you can ask for an operation creation
through the button operation:.
- When you edit a read / write / clear / add / remove variable action
part of an activity you can ask for an attribute creation
through the button variable:.
- When you edit an activity object,
an activity parameter or an activity action pin,
you can ask for a class creation through the button type:.
In this case the class is created in the view containing
the activity.
- When you edit an attribute
you can ask for a class creation through the button type:.
In this case the class is created in the view containing
the class owning the attribute.
- When you edit an operation
you can ask for a class creation through the button value type:.
In this case the class is created in the view containing
the class owning the operation.
- When you edit a class instance from a diagram
you can ask for a class creation through the button class:.
In this case the class is created in the view containing the diagram.
- When you edit a deployment node instance from a
deployment diagram
you can ask for a deployment node creation
through the button node:.
In this case the node is created in the view containing the diagram.
- In the previous releases, the getter and setters was named
get_${name} and set_${name} by default in UML.
Now, through the generation settings, you may ask for
using the rule defined in C++, Java, Idl or to follows the current rule,
depending on the new toggles added near the getter and setters
specifications for each language.
- Add extension points in use cases.
- Html documentation Generator 2.7
Upgraded by plug-out upgrade, to produce extension points.
- Plug-out upgrade 1.4.1
to upgrade plug-out to manage new generation settings
and use case extension points.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.23.1
April, 9th 2007
- Bouml 2.23 crashed when a static association is not
drawn as a straight line, fixed.
- In a sequence diagram an activity bar may be
drawn as a coregion.
2.23
April, 8th 2007
- Previous releases allow to produce auto generated C++
#include without path or with an absolute pathname.
Now it is also possible to ask for relative pathname
through the C++ generation settings. Note : this
doesn't apply for external types and external classes.
- force namespace prefix generation is a new generation settings
for C++ : in the previous
releases the namespace was generated before a class
name only when this class was not in the current namespace.
This flag allows you to ask for namespace generation in all
the cases. Set to false by default.
- When you create a new project, the default C++ header definition
now contains #ifndef ${NAMESPACE}_${NAME}_H and
#define ${NAMESPACE}_${NAME}_H, and the default IDL source definition
now contains #ifndef ${MODULE}_${NAME}_H and
#define ${MODULE}_${NAME}_H.
- In a class diagram the role's name of a static
association is now underlined.
- C++ Generator 2.5
To use synonymous classes through namespaces may produced
incomplete list of class declarations and #include, fixed.
To force namespace prefix generation if asked through the
generation settings
To produce #include with relative pathname if asked through the
generation settings
In an artifact definition ${namespace} is replaced by
the full namespace where :: become _. ${NAMESPACE}
produces the same thing in uppercase. Allows to generate
#ifdef forms taking the namespace into account.
Follow the new API.
- Idl Generator 2.4
In an artifact definition ${module} is replaced by
the full module where :: become _. ${MODULE}
produces the same thing in uppercase. Allows to generate
#ifdef forms taking the module into account.
Follow the new API.
- Plug-out upgrade 1.4
to upgrade plug-out to manage new generation settings.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
Follow the new API.
- C++ reverse 2.3
Java Generator 2.8
Java Catalog 2.6
Java Reverse 2.6
Follow the new API.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.22.2
April, 2th 2007
- Since the release 2.22, in C++, the template header was not
produced for the definition of the operations of a template
class, when the operation has an empty description, fixed.
- C++ Generator 2.4.7
Fixe the same bug.
2.22.1
April, 1th 2007
- In the previous release the relations may be duplicated
in the diagrams when you load them, fixed.
When you load a diagram made or modified
by the previous release, the redondant relation drawn are
removed to have only one representation of each relation.
- It was not possible to add activity and state diagram
icon in the diagrams, fixed.
- In the previous releases it may be not possible to load
a project when its directory is read-only because
it is not possible to create the lock directory.
Now, when the lock directory can't be created but
don't yet exist, the full project if considered read-only.
- Add diagram export in SVG 1.1
- Set the focus in one of the text sub-editor when you edit elements.
- When you add a note in a diagram this note is immediatly edited,
if you cancel the edition the note is still created but without text
inside.
- Improvements on diagram print : set orientation to landscape
when the diagram's format is a landscape one.
Memorize parameters color mode, page size and
full page from a print to the next one in the same session.
Note : depending on your printer and your operating system
this may no work.
- Classes stereotyped enum_pattern : in the Java
definition the attribute value is now declared final
by default in the generation settings of the new projects.
- The Java getter and setter operations are now
named get${Name} and set${Name} by default
in the generation settings of the new projects.
- Now it possible to unset the association
of an element with a diagram.
- Plug-out API
When the extension of the file name given in parameter to the operation
UmlBaseDiagram::saveIn is svg the diagram is saved as an SVG
picture, else a PNG picture.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Html documentation Generator 2.6.3
To allow to produce SVG files rather than PNG ones, using the
new option -svg
In the new projects the HTML production using SVG is added in the tools list,
you may modify the settings of the old projects to add this option.
The HTML now accept the following arguments (in order) :
- -flat, optional, to produce the class definitions in
index.html rather than in separate files.
- -svg, optional, to produce SVG pictures 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 files
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
- Idl Generator 2.3.3
A ';' was missing at the end of module definition, fixed.
2.22
March, 10th 2007
- Previous releases allow to define an association from a source artifact
(artifact stereotyped source) to another artifact and forbid to do
that from a non source artifact. This was wrong, the goal is to define
association from a non source artifact to another artifact, not the
reverse. Fixed.
- New toggle add operation profile on body edition in the
menu miscellaneous, it is exclusive with
preserve operations's body, and not set by default.
When you edit an operation's body and this toggle is set,
the C++ or Java operation's definition you see behind
result after substitution in the operation
dialog is added before the operation body. This allows you to
know which operation is edited and to see the operation profile.
Of course the added header is removed when the (may be) new operation's
body is taken into account.
- New drawing setting called show parameter direction
allowing to choose to hide or to show the operation parameters
direction and default value when a class is drawn in a class diagram.
Only active when show classes members full definition
values yes and when the drawing language is UML. Values yes
by default at project level and default at other levels
to be compatible with the previous releases.
- Modification of the drawing setting called draw all classes relations :
- in the previous releases it concerned only the relations between classes
in a class diagram, now it applies on relations between any element
in any diagram.
- in the previous releases it was possible to set this settings at class
level, this means for a given class drawing. This is not possible anymore.
To don't disturb old class diagrams, when a class has this setting set to no
this setting is forced to no at diagram level.
To don't disturb old other diagrams, this setting is forced to no
for them.
- of course it is renamed draw all relations.
- The getter and setter operations was updated each time
the edition of the corresponding attribute or relation was confirmed.
It is now possible to freeze their definition through a check box added
in the C++, Java and IDL tab of the getter and setter operation
dialog. By default their are not frozen to be compatible with previous
releases.
- In the generation settings it is now possible to ask for
a C++ setter operation to receive its argument by reference.
By default the argument is still given by value to be compatible with
previous releases.
- In the previous releases the generation directories specified in the
generation settings was to be absolute. It is now possible to
enter relative paths, relative to the project path.
- MacOS X for intel : in the previous release the dot lines
was not drawn correctly, fixed.
- C++ Generator 2.4.6
In the previous releases the description of a static attribute was only
generated for the attribute declaration but not for its definition, done.
To generate the template header of an operation definition
or a static relation definition after the description associated to
${comment} or ${description} rather than before.
To manage relative path in the generation settings.
- Java Generator 2.7.3
Idl Generator 2.3.2
To manage relative path in the generation settings.
- XMI2 Import 1.0.1
Little modifications to be less strict and import files produced
by more tools.
- Plug-out upgrade 1.3.5
to upgrade plug-out to manage new drawing setting show parameter direction
and new getter and setter properties.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by plug-out upgrade.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.21.7
March, 3th 2007
- Previous release doesn't allow to have project's name
containing dots, fixed.
- It was not possible to add generalization or
dependency in a package through a
plug-out, fixed.
- To use the
buttons
or
before loading a projet crash Bouml, fixed.
Remark : these buttons are usefull only after loading a
project and the selection of at least two elements in
the browser.
- Information, warning and critical message boxes
are now placed taken into account the optional screen
subpart specified by the environment variable
BOUML_LIMIT_DESKTOP.
- XMI2 Import 1.0
New plug-out, must be applied on a package,
or the project.
Allows to import an XMI 2.1 file for UML 2.0 or 2.1,
please refer to the
documentation.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list of the existing
projects is ixmi2.
- C++ Generator 2.4.5
Java Generator 2.7.2
Idl Generator 2.3.1
Previous releases rewrite unnecessarily the files
containing at least a character of code > 127, fixed.
Error messages are written in red.
- XMI2 Generator 1.2
Add generation of association classes.
Modify the generation of a trigger associated to an activity accept event action.
Modify the generation of a signal associated to an activity send signal action
and activity broadcast signal action.
The transition's name was not generated, fixed.
2.21.6
February, 18th 2007
- When you edited a relation drawn from a non read-only class to a read-only class,
the kind of the relation indicated in the dialog was wrong, fixed.
- The name of a directory containing a project must be equal to the
project's name. Produces a dedicated message when you try to open
a project whose doesn't follow this rule.
- Add an historic of the selected elements in the browser,
navigation is done through the
buttons
and .
- XMI2 Generator 1.1
uml: was missing before the activity node type, the deployment
node and the artifact,
in forms xmi:type="uml:<the type>", fixed.
Modify the generation of the default value of a formal parameter
2.21.5
February, 5th 2007
- Bouml crashed when you edit a class having
a dependency to a package, fixed.
- Management of deleted but still referenced
objects was not always done when a project was loaded
and may produced a crash,
fixed.
- In an operation declaration, ${class} was not
substituted by the class's name, this is done now. Because
${class} is normally not used in an operation
declaration, the goal is probably to place it in the
documentation.
- In the previous releases a dependency not
stereotyped friend produced an #include
in the header file in C++. Now you are able to choose
where the #include must be generated, and the default
is now in the source file. Of course the already existing
dependencies continue tu produce the #include in
the header file while you don't modify them.
- In the previous releases when a class A was duplicated to
the class B only the constructor and destructor operations
was renamed to use B rather than A.
Now the operations and attributes are also modified
to replace the references of A to B (
the texts containing A are unchanged, for
instance an attribute of type A&
and the body of the operations are unchanged).
- C++ Generator 2.4.4
To substitute ${class} by the class's name
in an operation declaration.
Improvement in the computing of the type dependency
used to generate declaration and #include.
To follow the new rule concerning the dependencies
- C++ Reverse 2.2.6
Forms like typedef class C1 {...} C2; and
typedef struct S1 S2; was not reversed, done.
- XMI2 Generator 1.0.1
Generates xmi:version rather than xmi.version,
xmi:idref rather than xmi.idref and
xmi:id rather than xmi.id.
2.21.4
January, 29th 2007
- C++ Reverse 2.2.5
When an enumeration item having a specified value was reversed
the '=' was missing in the corresponding attribute default value,
fixed.
Complete fixing of operation parameter default value
(previous fixing work only for inline operations defined
inside their class).
2.21.3
January, 28th 2007
- it was not possible to read a project containing a send signal
or broadcast signal activity action with a non empty signal
specified in the Ocl tab (produced the error message
'end' expected rather than 'uml'),
fixed.
- It was not possible to edit the body of an operator '/' or '/='
using the external editor specified through BOUML_EDITOR under
Linux because I didn't replace the '/'. Now the special characters
are replaced by '_' not only for Windows.
- Project synchro 1.1
Project control 1.1
The revision of the project files not created nor modified by a release
of Bouml greater or equal than 2.21 is now 0 rather than 1.
- C++ Reverse 2.2.4
When an operation's parameter has a default value
the UML parameter definition in Bouml contains this
default value but it was not inserted in the C++
definition, fixed.
- XMI2 Generator 1.0
New plug-out, must be applied on the project.
To produce XMI 2.1 for UML 2.0 or 2.1, please refer to the
documentation.
Note : the old XMI 1.2 generator is still present.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list of the existing
projects is gxmi2.
- Plug-out upgrade 1.3.4
Add the missing operations isStream and
set_IsStream in the class UmlBasePinParameter.
Fixe the definition of the operation reading the definition
of a UmlBaseRemoveVariableValueAction and
UmlBaseAddVariableValueAction.
UmlParameterSet inherits UmlActivityItem.
You must upgrade the plug-outs accessing to the
activity elements.
- Plug-out empty
Upgraded by plug-out upgrade.
2.21.2
January, 10th 2007
- In locations where the default character
set is not ISO_8859-1 (latin1) some
key combinaisons like control-shift may produce
unexpected character code and crash Bouml.
Fixed.
2.21.1
December, 27th 2006
- Add buttons ok and cancel in the dialog of the
note and text, mainly to help MacOS X users
because under this OS the dialog sub window doesn't propose
a way to close it.
- Project synchro 1.0
This new tool is not a plug-out, the
executable named projectSynchro (with or without
an extension depending on the operating system) is
installed with BOUML.
This tool helps several persons to work on the same
project when they don't access to the same shared project
files, in case each user has his own copy of these files
and works only on this copy.
The tool automatizes the copy of the right files
from an image of the project into an other one using
the revision numbers. The project files are not
merged, a given project file is supposed not modified
by several users, for instance thanks to the use
of project control. Because the tool use the revision,
it is not possible to use it to synchronize projects modified
by the previous releases of Bouml. Warning, if all the previous
conditions are not followed, the tool must not be used, else
the result is hazardeous.
Refer to the
documentation,
the chapter multi users considerations
is also updated.
2.21
December, 17th 2006
- Modifications to help several persons to work on the same project :
- A revision number and the BOUML_ID and name of the person
doing the last modification are now saved in the file
associated to the package.
Note : the revision doesn't grow each time a
package file is saved, the number saved is the
value of the revision when the file was read more one.
- When you are the owner of a package (see Project control)
and you add to it a new sub-package, Bouml proposes you
to be the owner of this new sub-package.
- A project under the control or Project control or
Project synchro is opened in read-only mode
by Bouml (a message warns you).
- Project control 1.0
This new tool is not a plug-out, the
executable named projectControl (with or without
an extension depending on the operating system) is
installed with BOUML.
This tool helps several persons to work on the same
project by choosing who is able to modify a given
package and its elements. Project control is
usefull when you don't use a file control to modify
the write permission of the project files. Please, refer to the
documentation.
Note : a second tool named project synchro coming soon
will allows to synchronize a project developed in
parallel by several persons.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.20
December, 10th 2006
- In the previous releases, when you set the individual
attribute visibility or individual operation visibility
for a class in a class diagram, you indicated which members
must be hidden. This means that when you add a member, it was visible.
Now the dialog allows you to choose to set the visible or
hidden members list.
- It is now possible to add separators in the fragments.
- it was already not possible to draw several times an activity, activity action,
activity node, activity object, activity region, state or
pseudo state in a diagram, now it is not possible to paste
these elements when they are already drawn.
- Modify the shortcut dialog to take into account
the Mac specificities : the control key is
replaced by the key ,
and the alt key is sometimes named option.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.19.5
December, 3th 2006
- Complete shortcut management not yet done for some graphical
elements.
- In the previous releases, the trace sub window is
shown and raise each time something is added
by a plug-out by calling UmlCom::trace()
operation. Now this is not mandatory, and two
UmlCom static operations are added :
- void showTrace() : to show and raise the
trace sub window
- void traceAutoRaise(bool y) :
if y is true, the next times
trace() will be called the
trace sub window will be automatically
shown and raised if needed.
if y is false, the trace sub
window will not be forced to be
visible
To be compatible with the previous behavior,
each time you start a plug-out
the auto raise is set to true
- C++ Generator 2.4.3
C++ Reverse 2.2.3
Java Generator 2.7.1
Java Reverse 2.5.3
Java Catalog 2.5.4
Force the trace sub window to be visible only
for the first and last messages, this means not during
the execution.
- Plug-out empty
Upgraded to add new UmlCom operations.
- Plug-out upgrade 1.3.3
Upgrade the plug-outs to add the operations
UmlCom::showTrace and UmlCom::traceAutoRaise.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
2.19.4
November, 28th 2006
- By default to hit a return in the browser call
the menu of the selected browser item, so
is similar to a right mouse click done on the selected
browser item. Note : if the last event was not
made in the browser it is necessary to first
activate it through a mouse click. Recall : the arrows
allows to navigate through the browser, or through
a menu.
- The shortcut for the C++ code generation is now
Control-g to avoid conflict with the shortcut
for copy in a diagram (Control-c).
- Now, by default the key Suppr has no
effect in the browser, to delete an element
hit Control-d.
- The following shortcuts are removed :
- Control-n (new project), hit Alt-p then n
- Control-o (open project), hit Alt-p then o
- Control-w (close project), hit Alt-p then w
- Control-q (quit), hit Alt-p then q
- Control-t (show trace window), hit Alt-t then t
- The entry Edit shortcuts in the menu
Miscellaneous allows to edit the shortcuts.
A shortcut applies on the selected element in the
browser or the elements in the the diagram
sub-windows. The shortcuts allow to execute a
command available through a menu (like New operation)
or to run a plug-out (for that you must
enter the display string associated to the plug-out
in the second tab of the shortcut editor).
The commands are similar to the menu entries,
edits the shortcuts to see them.
The shortucuts are saved in the file
.bouml_shortcuts_<BOUML_ID>
where <BOUML_ID> is replaced by its value,
this file is located in the home directory and
is created when you validate the shortcut edition.
- Now, when you add an attribute or operation in
a class through the browser, the added element is
edited.
- C++ Generator 2.4.2
Improvement in the computing of the type dependency
to not generate useless #include
in the header files.
2.19.3
November, 19th 2006
- Bouml crashed when you open an
object diagram having a link between two objects where
the relation is not specified. Fixed.
- In a message dialog called from a sequence diagram or
a collaboration diagram the label 'message :'
is replaced by a button, this one shows a menu
proposing :
- if the current message is an operation :
to select this operation in the browser
- if the message is not read-only and if an operation
compatible with the object type is selected in the
browser : to set the message to be this operation
- In a class instance dialog the label class :
is replaced by a button, this one shows a menu
proposing :
- if the class is set :
to select this class in the browser
- if the instance is not read-only and if a class
is selected in the browser : to set
the class to be this class
- In a diagram, when several elements having drawing settings
are selected and have the save type (for instance all are class
or component etc), the menu appearing on a right mouse click
now proposes to edit the drawing settings. By default in the
drawing settings editor, all the settings are set to <unchanged>
meaning that the value must not ne changed, all other value will be set for all
the selected diagram's elements if you valid the edition.
- C++ Generator 2.4.1
The keyword ${association} was not replaced by the associated type
in the static relation definitions (the substitution was done
in the declaration), fixed.
- C++ Reverse 2.2.2
Previous releases was not able to reverse forms like
template <void fonction()> class C {...} or
template <template <class T> class U> class C {...},
fixed.
2.19.2
November, 12th 2006
- Global change 1.0
New plug-out, must be applied on the project, or
a package, class view, deployment view or an Operation.
Allows to do global modification of the artifact, classes, operations, attributes
and relations definitions, working recursively from the browser element
on which it is applied.
May be used to propagate a change done on the generation settings to the
already existing elements.
See Global change.
This plug-out is automatically configured on the
new project, to use it in your already existing project :
the name of the executable is global_change, and
the targets are the project, the package, class view, deployment view and
Operation.
2.19.1
November, 6th 2006
- Bouml produced an error message
(like public//activity is not a visibility)
when it read a project
where a class view has a class setting set
to a value different than default.
This bug introduced in release 2.17 is fixed.
2.19
November, 5th 2006
- Adds toggle preserve operations's body in the
Miscellaneous menu, see code generation below.
- Adds new colors.
- C++ Generator 2.4
Java Generator 2.7
If the toggle preserve operations's body is set,
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 you generate the code with the toggle set,
because the delimiters are not yet present in the
generated code, the operations'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 :
- In case the file containing a body definition is
not consistent with the artifact under
BOUML, the body will be regenerated by the code
generation, using its definition under the model.
Of course in C++ an operations
becoming inline or stopping to be
inline is not a problem.
- 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.
- The bodies under the model are not updated
by the code generation (a new plug-out
must be made for that).
- Only the operations using the keyword
${body} may have a preserved body.
- The only modification you can do in the lines
containing the delimiters is the indent.
- The toggle is saved in the file associated to
the project, be sure the save is done when you
change this toggle !
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.18.1
November, 1th 2006
- When you start to draw a segmented relation in a diagram, and you
don't abort its construction (for instance by a double click),
and you do some specific action like to drag & drop
a class from the browser to the diagram, BOUML may crash,
Fixed.
- Rename if needed the name of the setter operation's parameter
when the associated attribute or relation role is renammed.
2.18
October, 22th 2006
- The optional relation's name and stereotype are now shown in an
object diagram.
- The position of the required or provided interface's
name in a component diagram was not saved, resetting
their position when a diagram is reopen, fixed.
- Modify the tools dialog to allow to attach a plug-out
on any browser element.
- The operation's menu in the browser proposes to directly
edit the C++ and/or Java body when the corresponding operation's
definition contains the keyword ${body}.
- Java Catalog 2.5.3
JavaCatWindow::windows_style() was not compilable
when Qt doesn't manage the windows style,
fixed.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.17.2
October, 15th 2006
- It is now not possible to draw two times the same state or
pseudo state in a state diagram (but the
already existing diagrams are not modified), warning : this check
is not done when you do a paste.
- It is now not possible to draw two times the same activity,
activity node or region in an
activity diagram (but the already existing diagrams are
not modified), warning : this check
is not done when you do a paste.
- The description of the relations is now show/editable in the bottom right
sub windows like for the other browser elements. Note : concern only
the role 'a' of a bidirectional relation, to see/edit the documentation
of the role 'b' you have to edit the relation.
- Now two activity object nodes may have the same name
in the browser because an activity object nodes
is in fact a use of an activity object where you are able
to specify its state.
- Improve the computation of the initial size of a dialog.
- Force modal dialogs to be upper to solve problem under
MacOS X.
- Linux
The toplevel Makefile is modified to help
Gentoo Linux (at least) to package BOUML.
A bouml.desktop file is now installed
(by default in /usr/share/applications),
icons are also installed (by default in
/usr/share/icons/hicolor/ZxZ/apps/ where Z is a size,
see the toplevel Makefile) allowing you
to call BOUML through the sub menu development or
through an icon placed on your desktop.
- XMI Generator 1.4.3
Fixe a bug in the generation of a class having no
attribute nor operation but only
only relation(s).
Replace the default encoding ISO-8859 by ISO-8859-1,
and add BOUML_CHARSET value if set.
- Plug-out empty
Upgraded to manage activities.
- Html documentation Generator 2.6.2
Fixe a problem in the computation of the generated files
path under MacOS X.
Upgraded to manage activities.
- Sort 1.2
Upgraded to manage activities (but they are not sorted).
To avoid a conflict the operation weight is
renamed orderWeight.
- Plug-out upgrade 1.3.2
Upgrade the plug-outs to manage the
activities.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
2.17.1
September, 21th 2006
- When you defined a get or set operation
on an attribute or a relation, then you deleted it
(but not the attribute or relation) and saved the
project, then you reload the project, this one was
unconsistent and its usage may produce a crash,
fixed.
- It was not possible to empty a non empty message in a sequence diagram,
fixed.
- Now when you add a new text in a diagram through
the button text the text is immediatly edited,
and the text is resized depending on your input.
The resize is not done after the next editions,
and the text element is deleted if it becomes empty.
2.17
September, 17th 2006
- Add activities
and activity diagram.
Activities are allowed in class views, like for
the states the activity diagrams are under the
activities. Note : partitions will be available
later.
- In the previous releases a transition trigger,
guard and activity was not shown in a
state diagram while the transition had a name.
The new drawing setting named show transition
definition valuing false by default allows
to choose between the name and the definition.
- The default call of the HTML generator to generate
a flat definition was ghtml - flat rather than
ghtml -flat (ie had an extra space between the
the minus and flat), fixed.
Note : this wrong configuration is automatically
fixed by BOUML.
- When the class of a class instance is specified the menu
of the class instance in a diagram (for instance a
sequence diagram) has the entry select class
in browser
- When the message in a sequence diagram is an
operation the menu of the message has the entry
select operation in browser
- It is now possible to have a dependency between a
class and a package, in both directions.
A package may now depend on a component
or an artifact (the reverse dependencies
was already possible).
- In an attribute dialog the label type :
is replaced by a button, this one shows a menu
proposing :
- if the current type of the attribute is a class :
to select this class in the browser
- if the attribute is not read-only and if a class
is selected in the browser : to set
the type to be this class
The same button replace the label indicating the
value type in an operation dialog.
- Plug-out API
Warning : a class having a dependency
on a package has a children of type UmlNcRelation
which is not a UmlClassItem, you may have
to adapt your plug-outs to manage this case.
- C++ Generator 2.3
Java Generator 2.6
Idl Generator 2.3
Singleton 2.1
Manage UmlNcRelation in classes.
- XMI Generator 1.4.2
Fixe the generation of a bidirectional relation.
Manage UmlNcRelation in classes.
- Html documentation Generator 2.6.1
Fixe some bugs to generate valid XHTML 1.0
transitional.
Indicate the dependencies
- State machine generator 1.1.1
The C++ definition of the inheritances to AnyState
was GENERATED rather than ${type},
fixed.
The behaviors doActivity, entry and exit
may now access to the state machine through the
variable stm.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.16
July, 19th 2006
- Add object diagram, they are allowed in
use case views, use cases and class views.
- Add subject (drawn as a rectangle) in the
use case diagrams.
- A package may be drawn in a collaboration diagram.
- C++ Generator 2.2.3
Indicate the end of a namespace by a comment
placed after '}'
- Idl Generator 2.2.2
Indicate the end of a module by a comment
placed after '}'
- Html documentation Generator 2.6
To manage object diagrams,
Follows the new API.
- Plug-out upgrade 1.3.1
Upgrade the plug-outs to manage the
object diagrams.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.15.4
July, 2th 2006
- Fixe the drawing of a node in a deployment
diagram to write first the optional stereotype.
- To allow to define default stereotypes using
non ISO_8859-1 (latin1) characters
- The dialog tab User is renamed Properties,
recall : it allows to set tagged values.
2.15.3
June, 26th 2006
- In the previous releases, when you enter non ISO_8859-1
(latin1) characters in a dialog or documentation
part, these ones was replaced on ok by a space
because of a conversion from 16 bits Unicode to
8 bits latin1 character.
Now you may specify how to do the conversion (still to a
8 bits character) 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) :
- ISO_8859-1 (latin1) for English, French, Italien, German ...
- ISO_8859-7 for Greek
- KOI8-R or KOI8-RU or CP_1251 to allow Cyrillic
- JIS7 for Japan
The specified encoding is used for :
- the description of every elements,
- the user keywords 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 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 or in a message of a
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.
- Html documentation Generator 2.5.3
To be compatible with non ISO_8859-1 character sets,
remove the special management of accentued characters,
for instance the character 'é' is generated
unchanged rather than replaced by 'é'
The information specified through the plug-out use
case wizard are now produced.
- Use case wizard 1.1 (C++ version)
To manage non ISO_8859-1 character sets, get the desired
encoding through the environment variable BOUML_CHARSET.
2.15.2
June, 18th 2006
- Add the sub menu edit in the menu Project to edit
the generation settings, default stereotypes,
class settings at the project level, and drawing settings at
the project level.
- It is now possible to give arguments to the plug-out
executed when BOUML is started. These arguments are given after
the plug-out specification and before the optional
-exit whose must be the last parameter of
BOUML if present.
For instance :
- "C:\Program Files\Bouml\bouml" "D:\...\aze\aze.prj" -exec C:\Progra~1\Bouml\gxmi -uml c:\aze.xmi windows-1252 -exit
- bouml .../qsd/qsd.prj -exec -flat /usr/lib/bouml/ghtml /tmp/qsd_html -del_html -exit
- Html documentation Generator 2.5.2
Now use a css file to define used styles, allowing you to
modify them
Classes descriptions was produced in separated files, now
you may ask to produce them in index.html, helping
to print the result or produce a pdf file,
see -flat below. Now when you create a new project
by default the two ways are set in the Tools settings,
you may modify the settings of the old projects to add this option.
Accept the following arguments (in order) :
- -flat, optional, to produce the class definitions in
index.html rather than in separate files.
- 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 files
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 any manual action.
- XMI Generator 1.4.1
Accept the following arguments (in order) :
- -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
- -simpleTv 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.
2.15.1
June, 11th 2006
- Since the 2.14.5 the modification of a relation
between classes shown in a class diagram produces an infinite loop if the line
is segmented, fixed.
- Generalize the management in the diagrams of the self-relations from
the classes to the packages, components etc ..., i.e. to move the self
relations with the object, to automatically add two break line points
when you draw a self relation.
- To follows the norme : when you ask to hide class's attributes or operations
through to the drawing setting "hide attributes" or
"hide operations" the corresponding separators are not drawn.
If you hide attributes / operations individualy the separators are drawn
even if you hide all the attributes / operations.
The computing of the size of a class in a class diagram is unchanged
(space taken by a hidden separator is still present) to not deteriorate
the vertical alignments of the classes in your already existing diagrams.
- Java Catalog 2.5.2
Java Reverse 2.5.2
Since the 2.14 the visibility is not set for the reversed operations and
relations, fixed.
2.15
June, 4th 2006
- It is now possible to apply a plug-out on the project
when BOUML is started :
- bouml <project file> -exec <plug out> -exit
- <project file> indicates the model to load as usual.
- <plug out> indicates the plug-out to apply
on the project. The C++ generator is named cpp_generator,
the Java generator java_generator, the Idl generator
idl_generator, the HTML generator ghtml, the XMI
generator gxmi. If necessary the full path of the plug-out
have to be done, warning : under Windows this path must not
contain space.
- -exit is optional and allows to exit from BOUML when the
plug-out execution is done.
For instance :
- "C:\Program Files\Bouml\bouml" "D:\...\aze\aze.prj" -exec C:\Progra~1\Bouml\cpp_generator
- bouml .../qsd/qsd.prj -exec "java -cp /tmp/wxc Main" -exit
- Add the new drawing settings 'draw shadow' to show or not the shadow introduced
in the release 2.14.4, it may be set on project, packages,
views and diagrams levels, not on a diagram element.
By default the shadows are shown, if you don't like
shadows set the drawing settings on the project level as usual to
globaly specify your choice.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.14.5
May, 28th 2006
- Under Windows the path of the file edited by the editor
specified by BOUML_EDITOR is now a Windows path
rather than a Unix path (i.e. with '\' rather than '/')
to not disturb editor like PsPad.
- In a class diagram the class associations are now
automatically shown using an anchor between the relation
and the associated class, except if the drawing setting
draw all classes relation is set to no. This is done
then the relation is added in the diagram and the associated
class is present, or when you edit the relation to set/remove
the association and the relation and class are present.
- Drawing an anchor between a relation and a class
now updates the class association. Deleting the anchor
doesn't remove the class association from the model, for that
you must edit the relation.
- Java Generator 2.5.3
Fixe a bug on the generation of the enum pattern items
introduced in the previous release.
- Html documentation Generator 2.5.1
Manage the actuals of a Java generic instantiation.
2.14.4
May, 21th 2006
- The default position of a transition's label was wrong
when the trigger, guard and activity are
written verticaly, fixed.
- Change the default definition of an enum item
in Java to move ${@} before ${name}
rather than after.
- An actor is now drawn with its icon in a sequence
diagram.
- Add a shadow to some elements in the diagrams. Note :
a transparent element doesn't have shadow.
- Add the button
in the diagrams helping to do an Optimal windows size
without using the menu of the diagrams menu
- Modify the plug-out API to add on the class
UmlBaseRelation the operation side,
if its argument is true returns the relation
associated to the role A, else the relation associated
to the role B or 0/null if the relation is non
bi-directional.
- Java Generator 2.5.2
Like in C++, when a class inherits or realizes a generic
class the tab Instantiate of the class dialog is the standard
way to specify the actuals. Now these actuals are generated
when the generalization/realization definition contains ${type}.
When the class is undefined or is not known as a generic
because of the current environment the actuals have to be set directly
the relation's definition as I said in the historic of the release
2.13
Annotation was not generated for an enum_pattern, fixed.
- Java Catalog 2.5.1
Java Reverse 2.5.1
Management of the generics
- C++ Generator 2.2.2
Produce '> >' rather than '>>' in a template
class instantiation, adding a space before '>' after the generation
of the last actuals being itself a template class.
- C++ Reverse 2.2.1
The namespace containing reversed enum
and typedef was forgotten, fixed.
- XMI Generator 1.4
Stop to generate a bi-directional relation as two
distinct relations.
For the C++ generation, in some cases when a type being
an operation return value is defined, its name contains
the keyword $<inline>, fixed.
Follows the new API
- Plug-out upgrade 1.3
Upgrade the plug-outs to add the operation
side on UmlbaseRelation.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
- Plug-out empty
Upgraded by Plug-out upgrade
- Sort
To avoid a conflict under Linux, the executable is
renamed from sort to browsersort.
- Deploy 1.0
New plug-out, must be applied on a class view.
This plug-out automatizes the creation of the
artifact for all the classes of the class view
on which the plug-out ins applied :
- 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.
- 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.
This plug-out is automatically configured on the
new project, to use it in your already existing project :
the name of the executable is deplcl, and
the target is a class view.
2.14.3
May, 1th 2006
- Add the commands save optimal picture part and
copy optimal picture part in the diagram's menu.
These commands do an optimal window size before
the corresponding save/copy visible picture part,
then restore the window size. This allows to get all the
elements of the diagram more easily.
- The plug-out operation UmlBaseDiagram::saveIn
did an optimal scale when the diagram doesn't have
a preferred size and scale. Now the optimal scale
is replaced by an optimal window size.
When the saved diagram is already opened, the current
scale is unchanged and an optimal window size is
done even if the diagram has a preferred size and scale.
This impacts the behavior of the plug-out
Html documentation Generator
- Note : the behavior of the command print done through
the icon is unchanged, to print all the elements of the
active diagram do first an optimal window size.
2.14.2
April, 29th 2006
- When the scale is not 100%, the automatic
update of the position of the two intermediate points of a
line having the geometry
or
may crash BOUML depending on the position of the
elements ending the line. Fixed
2.14.1
April, 24th 2006
- Java Generator 2.5.1
C++ Generator 2.2.1
Idl Generator 2.2.1
Fixe a bug in the code generation of get/set
operations applied on a relation.
2.14
April, 23th 2006
- Add the management of the visibility package.
In C++ or Idl the visibility package is
translated to public.
- A relation's stereotype starting by the character '{'
is now not written between < < and >>,
this allows to specify the constraints through the
stereotype and to see them as desired.
- C++ Reverse 2.2
To manage more Qt pre-processor identifiers and
the visibility package.
- Java Catalog 2.5
Java Reverse 2.5
Java Generator 2.5
C++ Generator 2.2
Idl Generator 2.2
To manage the visibility package.
- Html documentation Generator 2.5
Manage the class associations and the visibility package.
Follows the new API
- XMI Generator 1.3
Manage the visibility package.
Follows the new API
- Plug-out upgrade 1.2
Upgrade the plug-outs to manage class association
and the visibility package.
This upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML,
they receive the visibility public rather than
package even in Java.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.13
April, 17th 2006
- Starting to draw a relation and doing an undo
before to reach the target has undesired effect depending
on the next action,
including a crash, fixed.
- Add the possibility to set the geometry of the lines
in the diagram (except for the messages in a
sequence diagram) to have a right angle
( or
) or a crank
( or
).
While you do not change by hand the position of the
central line of a crank the geometry is preserved
when you move one of the extremity of the crank, else
the central line stop to be automatically moved.
To set / unset the geometry of a line you may select the
line and press Control l as many time as necessary,
or call the menu of the line and use the sub-menu
geometry.
- Change the way to specify a generalisation or
realization.
In the previous releases these relations are generated
when they are specified as Generated through the
button Generated in or by default thanks to the
toggle default definition in the menu
Miscellaneous.
From now the button Generated is replaced by the
button Default declaration and the default form
became ${type} which is replaced during the code
generation by the name of the generalised or
realized class. This allows to modify the code
generated, for instance in Java to replace the inheritance
to Sequence by Sequence<int> replacing
the default declaration by ${type}<int>.
Of course when you load an old project the form
Generated is automatically changed to
${type}.
- Add the management of the class associations. The
relation dialog is modified to allow to specify the
associated class or type, this one is generated through
the new keyword ${association}.
Note : you must add the keyword ${association} by
hand in the declaration, for instance in C++ if you
have a relation to the class C and the associated class
is K and you want to specify a stl map having the
key K and the value C, set the stereotype
to map, specify a multiplicity like *,
ask for the default declaration, and replace the form
<${type}> by <${association}, ${type}>
Note : the management of the class associations is not yet
done in the class diagrams
- In java a class member has a package visibility
when the keyword ${visibility} is not present in
its definition. In a class diagram, when the drawing
language is Java, the visibility marker (+, - or #)
is now not shown for the class's members having a
package visibility.
- Change the way to compute the 'get_' and 'set_' operations
to manage cases where the default operation definition
contains additional '}' after the '}' ending the body
(for instance because of a comment containing a keyword).
Manage class associations
- Add the landscape formats corresponding
to the already existing formats of diagram.
- C++ Reverse 2.1
In the previous releases an own artifact was created
for each reversed class. From now the classes defined in
the same header file will be associated to the same
artifact named like the reversed file. Of course this
is possible only if all the classes are in the same
namespace or are not in a namespace, else one artifact
per namespace will be created in different packages.
The classes defined in a source file rather than a
header file are associated to an artifact having the
name of the class. Note that if the classes A
and B are reverse from the file C.h, and if a
source file in the same directory define the class C,
and if the three classes are defined in the same namespace
or are not defined in a namespace, the three classes will
associated to the same artifact C, whatever the name
of the source file defining the class C.
To manage the new definition of the generalisation
and realization.
Note : the class associations are not yet used by
the reverse.
- Java Catalog 2.4.1
Java Reverse 2.4.1
To manage the new definition of the generalisation
and realization.
- C++ Generator 2.1.1
Java Generator 2.4.1
Idl Generator 2.1.1
To manage the new definition of the generalisation
and realization.
To manage the class associations.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.12.2
April, 9th 2006
- The code generations are now made in non verbose mode by default,
to set / unset the verbose mode use the corresponding toggle in
the menu Miscellaneous. Note : this toggle is saved
in the session file
- Plug-out upgrade 1.1
Upgrade the plug-outs mainly to manage the Java JDK 5,
this upgrade is not mandatory : old plug-outs
are compatible with this new releases of BOUML.
To use the new features on an existing plug-out,
because of the renamings explain below, you must
upgrade the plug-out before modifying your
sources to call new operations.
In case the upgrade is done :
- Some operations of the class
JavaSettings are renamed :
enumDecl become enumPatternDecl,
set_EnumDecl become set_EnumPatternDecl,
enumItemDecl become enumPatternItemDecl,
set_EnumItemDecl become set_EnumPatternItemDecl,
enumItemCase become enumPatternItemCase, and
set_EnumItemCase become set_EnumPatternItemCase.
- The Internal API base enums items corresponding to the
corresponding commands and the attributes memorizing the
corresponding java settings are also renamed.
- The body of all the operations are
updated to use the renamed operations of JavaSettings,
there is no update for the artifact definition, state
entry/exit behavior, transition trigger etc ...
- The new operations enumDecl, set_EnumDecl,
enumItemDecl and set_EnumItemDecl are added
to JavaSettings.
- The new operations javaAnnotations and set_JavaAnnotations
are added to UmlBaseClassMember
- Other internal API base addings are also made.
- On the class UmlBasePackage
the operation associatedDiagram is modified to return a
UmlDiagram rather than a UmlClassDiagram,
and the operation set_AssociatedDiagram is modified
to get a UmlDiagram rather than a UmlClassDiagram.
- Fixe a bug in the Java definition of the operation read_
of UmlBaseActualParameter.
- C++ Generator 2.1
Java Generator 2.4
Idl Generator 2.1
Limit the number of messages produced in the trace windows
when the code generation is non verbose, in this case there
is no message when a class doesn't have a definition
or an associated artifact, or when a generated file
is not modified (when both the source and header files are
unchanged in C++). Follows the new API
- Java Catalog 2.4
Java Reverse 2.4
Follows the new API. Remark : the management of the
generics is not yet done.
- Html documentation Generator 2.4
Manage the Java annotations and generics.
Fixe writting of C++ template (< and > was not quoted).
Follows the new API
- XMI Generator 1.2
Produces the Java annotations as tagged value.
Follows the new API
- Plug-out empty
Upgraded by Plug-out upgrade
2.12.1
April, 4th 2006
- Since the release 2.11 the edition of
a read-only class, operation, attribute or relation
crashes BOUML, fixed.
2.12
April, 2th 2006
- After setting a default color for the class instances
at a sequence diagram or collaboration diagram
level it was not possible to reload the project (produced
the error message 'end' expected
rather than 'class_instance'), fixed.
- Fixe bugs in the computing of minimum size or the
resizeable diagram elements (package, node etc ...)
depending on the zoom.
- The drawing settings show packages name in tab
was not always correctly managed, fixed.
- Management of the Java JDK 5 generics. The tab
Parametrized of the class dialog is modified. In
Java only the columns name and optionaly extends
are used. The definition of a class is not modified (this
means that there is no new keywords), if the class has
parameters they are generated after the class's name
by ${name}.
- New font management helping Qt to use a font
corresponding to the scale. Note : the improvement depends on the
OS and the Qt release : there is no change with Qt 2.3 under Linux,
small fonts are now used with Qt 3 under Linux and with Qt 2.3 under
windows.
- Adds new colors including white.
- In the annotation dialog indicates the member's name
when you add an annotation having at least two members.
- Java Generator 2.3
Adds the management of the generics.
- Java Catalog 2.3
Java Reverse 2.3
Adds the management of the annotations's operations
with a default value. Remark : the management of the
generics is not yet done.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.11
March, 26th 2006
- Management of the Java JDK 5 annotations.
Adds the class stereotype @interface, when you
ask for the default annotation definition in Java, the
default interface definition is used then '@' is
added before interface.
The new keyword ${@} is allowed in the Java definition
of the classes, attributes, associations and operations,
of course this keyword is replaced by the annotations by
the code generator. When you create a new project this keyword
is placed after ${comment}.
In the dialogs the button Edit annotation is added
to modify the annotations through a dedicated dialog.
The proposed annotations are the pre-defined Java annotations
@Deprecated, @Documented, @Inherit, @Override, @Retention,
@SuppressWarnings and @Target
more the classes having the stereotype @interface,
but any annotation may be enter by hand in the multi-lines
editor.
Obviously the button Edit annotation is only active
when the definition contains the keyword ${@},
you have to add the keyword in the definitions of the old
projects to be able to set the annotations
- Java Generator 2.2
Adds the management of the annotations.
- Java Catalog 2.2
Java Reverse 2.2
Adds the management of the annotations.
Manage class's members without specified visibility
- Html Generator 2.3.2
XMI Generator 1.1.3
To bypass ${@} in the definitions.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.10
March, 21th 2006
- Deployment nodes was improperly resized in some
cases, fixed.
- The resize of a resizeable element (package, note...)
was wrongly managed by undo / redo, fixed.
- When a move is done through the keyboard arrows using the auto
repeat, the complete move is saved in the historic rather than
each individual move.
- Add a button edit in the diagram's toolbar to call the
diagram's menu like with a right mouse click done out of
all the elements.
- Add new format of diagrams : Iso A0 and A1, US D and E.
- When you move a package in a diagram, the
artifact, class, component, deployment node, package and
use cases defined in the package (not through an
other 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
in it.
- C++ Reverse 2.0.9
Adds the management of the template friend in C++.
Other improvements
- File Control 1.0.3
Your command is applied on the auxiliairy files cpp_includes,
generation_settings, idl_includes, java_imports, stereotypes
and tools when the Plug-out in applied on the project.
Check if a file exists before applying the command.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.9.7
March, 14th 2006
- File Control 1.0.2
Do the save before applying the command on
the files ! Two errors on a so small program, grrrrrr :-(
2.9.6
March, 13th 2006
- File Control 1.0.1
Fixe a bug in the computing of %dir, sorry.
2.9.5
March, 12th 2006
- Adds Undo Redo in the diagrams, the shortcuts are
Control-z and Control-u for undo,
Control-y and Control-r for redo.
The depth of the historic is 20, it is emptied
on the editions (including the drawing setting edition),
the browser element deletion/undeletion, the change of scale
or diagram format, etc ... The undoable operations are moving,
removing from view, element adding.
- The menu of a class diagram (shown on a right mouse
click done in the diagram out of any diagram element)
proposes the new entry add classes of the selected
class view when the selected browser element is
a class view containing class(es) not already
shown in the class diagram.
- C++ Generator 2.0.16
Fixe a bug in the calculation of the dependencies.
- XMI Generator 1.1.2
Do not place several UML:TaggedValue in the same
ModelElement.taggedValue
- Java Catalog 2.1.3
Java Reverse 2.1.2
It was not possible to reverse a nested enum, fixed
- Html Generator 2.3.1
Rename the generated files index_X where X is
a character, replacing this one by its ascii code to not have
illegal filenames under Windows.
- Plug-out empty
Fixe the profile of UmlBasePackage::getProject()
to return a UmlPackage rather than a
UmlBasePackage.
- File Control 1.0
New plug-out, must be applied on the project
or a package.
This plug-out is written to do check-in
or check-out on the files of a project.
Because I don't know what file control you use (CVS ...)
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 ...
This plug-out is automatically configured on the
new project, to use it in your already existing project :
the name of the executable is file_control, you must
specify a first parameter being ci or co
(so this plug-out is declared two times), and
the target is the project or a package. Create a
new project and look at the tool settings to have an example
of configuration.
2.9.4
February, 27th 2006
- Adds the management of the template operations in C++.
A template operation has an empty declaration and
the actuals are directly specified in the definition (of course
between ${class} and ::).
- C++ Reverse 2.0.8
Adds the management of the template operations in C++.
Adds a progress bar, the progress is based on the number
of files, not on the time
- C++ Generator 2.0.15
Adds the management of the template operations in C++.
- Java Catalog 2.1.2
Java Reverse 2.1.1
Adds a progress bar, the progress is based on the number
of files, not on the time
- XMI Generator 1.1.1
Allows to choose how the tagged values are generated,
because some tools don't accept some form.
tagged values are used to produce description (may be
on several lines), stereotypes, user properties
and type definition.
2.9.3
February, 22th 2006
- duplicate marked after could
have dramatic effects, for instance crashing
operation's definition, fixed.
- It was not possible to edit the description or something
else from the class dialog using the Editor button
with BOUML_EDITOR unset : the internal editor didn't
have the focus, fixed.
- Plug-out empty
Add a missing 't' in the Java definition of
UmlBaseClass::setAssociatedClasses()
- C++ Generator 2.0.14
Adds the management of the 'external' classes
(see here)
- Java Generator 2.1.1
Adds the management of the 'external' classes
(see here)
- Java Catalog 2.1.1
When a JDK 5 enum is scanned this one is created in
the modeler, fixed.
- Sort
This is a new plug-out, allowing to re-order elements
in packages, views and use cases.
Its realization both in C++ and Java is detailled in the new
tutorial about plug-out writting.
2.9.2
February, 13th 2006
- Little improvements made in conjontion with the writing of
the
tutorial of BOUML.
2.9.1
February, 4th 2006
- Previous releases crash when you confirm
the edition of an enum_pattern's item, fixed.
- Use case wizard 1.0
This is a new plug-out, allowing to set properties like
pre-conditions etc ... on use case.
Must be applied on a use case.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list in of the existing
projects is usecasewizard.
This plug-out is defined in C++ and Java, like the
Html Generator, allowing you to modify it in your prefered
language. I give it as an example to show you how to
simply extend the BOUML features.
2.9
January, 22th 2006
- Previous releases crash on duplicate
marked into when a marked item is a diagram, an artifact,
a component, a deployment node, a view,
a package or a use case, fixed.
When you duplicate an artifact the new one doesn't
have associated artifacts or classes.
When you duplicate a component the new one doesn't
have associated classes.
When you duplicate a deployment node the new one doesn't
have relation.
When you duplicate a package, a use case or a
view the new one doesn't have relation nor sub items.
- When a browser item is duplicated its description is now
also copied.
- In all the pro files replace CONFIG = by
CONFIG +=, to help to compile BOUML under MacOS X
- In a class diagram, the visibility of the class's members
was shown only when the drawing setting show classes
member full definition was set to yes (directly or indirectly).
The new drawing setting show visibility is introduced
to show or not the members visibility independently of
the writting of the full definitions. When you load an old
project the value of show visibility is the value
of the corresponding show classes member full definition.
- C++ Reverse 2.0.7
Fixes on the management of the scope (namespace or
upper class).
The Package unknown is not any more created in case
of problems, it is replaced by the usage of explicit types (i.e.
a string rather than a relation to a class defined under unknown),
or typedefs (named typedef<n>, where n
is a number), or extra class members.
- C++ Generator 2.0.12
Fixe a bug on the management of the scope (namespace or
upper class) of inherited classes
- .pro Generator 2.1.1
Generate CONFIG += rather than CONFIG =
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.8
January, 7th 2006
- Management of the Java JDK 5 enums.
Generics and annotations will be added later.
When you load a project made by a previous release :
-
The may be existing class stereotype enum_pattern
is renamed (the new name is context dependent and
is given in a message box), and the classes having
this stereotype are modified to have the new one
-
Except for the class stereotype enum, the
class stereotypes valuing enum in Java are
modified to become enum_pattern in Java
(one suposes this stereotype didn't exist because
it has not special meaning for Java).
-
The class stereotype enum_pattern is created
from the class stereotype enum replacing
the Java stereotype enum with enum_pattern.
-
The classes having the stereotype enum and
a non empty Java definition receive the stereotype
enum_pattern
-
In case at least one class is read-only BOUML
ask you to save the upgraded project in a new one
The classes having the stereotype enum_pattern
are managed like the old Java pseudo enum.
The classes having the stereotype enum
are managed like the Java enum introduced by the JDK 5.
Because a Java JDK 5 enum may have attributes, relations
and operations, it is now possible to add these kinds
of members to a class having the stereotype enum, but
the their default definitions are empty in C++ and Idl.
The keyword ${items} is introduced in the Java definition
of a JDK 5 enum, it has no meaning is the other cases,
during the Java code generation it is replaced by the enum
constants and the keyword ${members} is replaced by
the other members.
To distinguish the attributes corresponding to the enums
constants and the other attributes, the stereotype
attribute is introduced, this one indicates a non
enum constant. So, the attributes having the stereotype
attribute are generated by ${members}, the
others by ${items}
New generation settings are added to specify the
code generated for the JDK 5 enums.
To be still compatible with the Java JDK 1.x the Java definition
of the API of the plug-outs don't and will not use
the Java JDK 5 enums.
- Little changes to compile under Mac OS X.
- Java Generator 2.1
Java Reverse 2.1
Java Catalog 2.1
Manage the Java JDK 5 enums.
- XMI Generator 1.1
Allows to choose the encoding.
Upgrade for the Java JDK 5 enums
- Html Generator 2.3
Escape html special characters. Manage the new enum
definition.
Upgrade for the Java JDK 5 enums.
- C++ utilities 1.1
.pro Generator 2.1
Rose project import 2.1
State machine generator 1.1
Upgrade for the Java JDK 5 enums.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.7.8
December, 22th 2005
- Fixe a bug on the management of deleted items still
referenced during the project reading.
Previous releases may crash on this
case of non consistency.
- Now when you ask for referenced by on a class,
the attributes, operations and classes referencing the target
class at the UML level are also given. Note : the
operations's bodies are not taken into acount.
- Management of ${h_value} in the C++ declaration of
attributes and relations, see below. Because only the
C++ declaration is showed in the C++ tab of the attribute and
relation dialogs, the initial value is only shown when the
keyword ${h_value} is used.
- C++ Generator 2.0.11
For a given artifact, when the header file definition contains
${all_includes} no declaration are produced
in the header file and all the #includes are produced in
the header file, except the #includes of the header file
in the source file of course.
The already existing keyword ${value} is still replaced
in the definition of a static attribute or
relation by the initial value.
The new keyword ${h_value} is replaced in the
declaration of a static attribute or
relation by the initial value.
- C++ Reverse 2.0.6
Management of ${h_value} : when the initial value of a
static attribute or relation is specified in the declaration,
force the attribute or relation specification to contain
${h_value} else ${value}.
- Html Generator 2.2.1
Management of ${h_value}
- XMI Generator 1.0.6
Add generation of the C++ and Java definition. When you
start the XMI generator, this one ask you to choose between
the UML, C++ or Java exported definitions.
2.7.7
December, 4th 2005
- In the class and operation dialog, when you edited something
in a table (for instance the name of an operation's parameter)
and you went directly in an other tab, the change in the
table was not taken into account. It was necessary to
click elsewhere in the table before went in another tab, fixed.
- XMI Generator 1.0.5
The user properties are exported and produce tagged values.
2.7.6
December, 3th 2005
- The Windows version didn't allow to use an editor
(specified by BOUML_EDITOR) placed in a directory having a path
containing spaces, fixed.
- The extension of the auto generated file's
name edited by the editor specified through BOUML_EDITOR
is now the one specified through the generation settings.
For the Windows version : set the filename to contains
only valid characters.
- In the Java and Idl tabs of the artifact dialog the '$' is
just replaced by '@' and the user keywords are not
replaced by their values (in fact BOUML tries to manage a
user keywords when it finds a '$' rather than a '@'
because of a typing error), fixed.
- When a class or its members was changed, its self
relations moved a little bit in the class diagrams
without true reason, fixed.
- The stereotype of a duplicated marked browser item may not be
visible even this is asked, fixed.
- In the previous releases an operation could not be
virtual and inline at the same time, fixed.
- In the sub-menu add inherited operations the
abstract operations are now written in italic. In the
associated dialog used when there are too many inherited
operations, the abstract operations's profile has the
header [a] (to use italic is not possible).
- When an operation is duplicated (even through
add inherited operations), its C++ and Java bodies
are also copied.
- In the previous releases a class could not be provided/realized by
several components, remove this limitation. Change the browser
class menu select associated component by the sub menu
select associated components allowing to select a
component provided or realizing the class when several components
do that. The API with the
Plug-outs is modified, the operation associatedComponent
defined on UmlBaseClass is renamed associatedComponents
and now returns a vector of components.
Old Plug-outs may be used with this release, in this case
only one component chosen randomly is returned by
associatedComponent.
- New C++ and Java default operation definition according
to their body indent (2 spaces by default), see below
- C++ Generator 2.0.10
Java Generator 2.0.4
New way to specify the indent of the operations body. In the previous releases it was
necessary to indent all the lines. Now an indent added to
each line may be specified, this indent is the spaces and tabs
placed between ${body} and the first previous
character not equal to a space and a tab.
In C++ : when the last characters of a line are '\' followed by
an optional carriage return then a newline, the next line
is not indented; When the first character of a line is '#'
this line is not indented; These two rules are applied
whatever the context, the code generator doesn't check if
the characters are in a comment, a string or a literal
character.
When the body is empty the spaces and tabs placed before
${body} are not output.
The right way is just to add spaces or tabs before the keyword
${body}, itself followed by '}'. This is the new default
definition of a C++ operation for new projects
Because the keyword ${body} was a priori not
indented in the definition of the operations for the
previous releases, this new feature doesn't have undesired
effect on old operations.
- C++ Reverse 2.0.5
Java Reverse 2.0.4
Because the bodies of the operation is already indented,
remove the indent of the keyword ${body} in the
reversed operations's definition
- Idl Generator 2.0.4
Fixe a bug in the generation of the operations's exceptions
Add a missing ';' at the end of a module definition
- Plug-out upgrade 1.0.3
Upgrade the operation associatedComponent
defined on UmlBaseClass to return several components.
- Html Generator 2.2
Plug-out empty
Upgraded to manage several components realizing/providing a class.
They can't be used this previous releases of BOUML
- XMI Generator 1.0.4
Manage characters " & < and > in strings
2.7.5
November, 16th 2005
- All the generation settings was not read with
release 2.7.4, fixed.
- Under Linux with a QT release 3.x it was not possible to
edit the user properties value. Partially fixed,
currently return goes to another cell and doesn't
insert a newline.
- Set the size of the diagrams under Windows as it was
already made under Linux when a session is restored.
- Stop to save / restore the browser's scroolbars position,
but force the selected browser item to be visible when
a session is restored. However the session files created by
the previous release of BOUML are managed by this release.
2.7.4
November, 13th 2005
- When a project is closed the current session (opened
diagrams list, browser view etc ...) is saved to be
restored the next time the project will be load.
The file used to save the sessions is placed among the
other files of the projects and is named
<uid>.session, where <uid> is the value
of BOUML_ID to allow each user to have his own
session. This feature is not provided when BOUML_ID
is not defined.
The size of the diagrams sub-windows
is restored (except under Windows else the program goes
in an infinite loop inside Qt), not their position because
this information is not available (private in Qt classes).
The scroolbar position is not restored in the browser
(even I ask for).
- Improve the displacement of the objects in a diagram
when the scale is changed, moving their center rather
than their top-left corner (yes, at last !).
- Hide the limits of the diagram canvas when you print it
- When the drawing of a class is modified in a class diagram,
its center is unchanged, and the line breaks of the class's
self relations are moved if needed to not have them under
the class picture. Before when a self relation was hidden
because the class picture grew it was not easy to show it
again manually.
2.7.3
November, 7th 2005
- Add some checks concerning the state machine
- Indicate why a relation can't be added
- New dialog to help C++ programmers to manage the parameters
of the operations, called through the new buttons placed
in the tab C++ of the operation dialog
- State machine generator 1.0.2
Add entry point, terminate management
2.7.2
November, 3th 2005
- Take immediatly into account the new value of the
user keywords for the forms @{...}
in the dialogs to show the result after
substitution.
- C++ Generator 2.0.9
A non defined user keyword associated to
a form @{...} may produced an infinite loop,
fixed.
- State machine generator 1.0.1
Add completion transition management
2.7.1
November, 1th 2005
- XMI generator 1.0.3
Fixe class's relations generation
- C++ Generator 2.0.8
Fixe a bug associated to the nested classes
- Html Generator 2.1.4
Write transition's name
- State machine generator 1.0
This is a new plug-out, produce the classes
implementing a state machine.
Must be applied on a state machine.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list in of the existing
projects is stmgen.
It is under development, the pseudo states fork, join,
entry point, terminate, deep history, shallow history and the
regions are not yet managed, nor the completion
(you must specify triggers). Currently this
Plug-out is implemented in C++ and
produce C++ definition, it will be also implemented in Java
to produce Java definition (why not !).
When you apply this plug-out on a state machine
a class having the same name (removing non legal characters)
is created 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 have several triggers.
You must apply these operations on the instance of the
class implementing the state machine to simulate the event,
the 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 attributes starting by '_'
without collision.
2.7
October, 27th 2005
- BOUML wasn't compilable with GCC 4.0.x, fixe this problem
even I don't really trust on these GCC releases (see
message).
- The files generation_settings, tools, stereotypes,
cpp_includes, java_imports and idl_includes
are now re-written only when they are really modified.
Note that for performance purpose this check is not done for
all the other files, for instance when you do a change, thus
undo it, the corresponding files will be re-written.
- Nested class visibility is editable
- When a form @{xyz} is found by the
code generators and the associated dialogs, and xyz
is a key of a user property, this one is replaced by the
corresponding value. The user property is seached
first in the item for which the code is generated, if not
found in its parent, if not found in its grand-parent
etc ...
- Java Generator 2.0.3
Idl Generator 2.0.3
Add management of @{xyz} forms.
- Html Generator 2.1.3
Add management of @{xyz} forms.
Does substitutions of the ${abx} forms in the
comments introduced in BOUML 2.6
- C++ Generator 2.0.7
Add management of @{xyz} forms.
Doesn't generate the full definition of an initialized
static const attribute only in the header file,
the attribute is defined and initialized in the
source file.
- XMI generator 1.0.2
The generation of a package for the views is
optional. Memorize the filename used for the previous
XMI generation to propose it by default.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.6.4
October, 21th 2005
- When you quit BOUML closing its window through your window
manager capabilities rather than using project > quit
and the project is modified, BOUML will ask you to confirm.
- When a class, use case, use case view or a package
is moved by drap-and-drop in the browser and may be placed
in or after the destination, BOUML ask for you to choose.
The class menu entries set it nested in and extract
from becoming useless are removed.
- Add management of the keyword ${inline} in the
declaration of the operations in C++.
- C++ Generator 2.0.6
C++ Reverse 2.0.4
Html Generator 2.1.2
Add management of the keyword ${inline} in the
declaration of the operations in C++.
- Plug-out upgrade 1.0.2
To add the operation UmlBaseItem::moveAfter allowing to change
the order of the items in the browser (staying under the
same parent), and to access / modify the new
generation settings managing the default description
and the default return type forms introduced in the 2.6
2.6.3
October, 16th 2005
- Phantoms non class relations could remained after
destruction of item target, may crash BOUML, fixed
- XMI generator 1.0.1
Fixe indentation of </Generalization>.
In an operation's parameter whose type is a class,
replace UML:DataType by UML:Classifier.
The dependency's client and supplier was reversed,
fixed.
Some tools doesn't accept "*" in a mulplicity specification,
replace "*" by "0..-1", "2..*" by "2..-1" etc ...
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.
Use case / class / component / deployment view are
generated as a package adding the view king in the
name.
Adds use cases generation.
Adds component generation (without UML2.0 features).
Adds node generation.
2.6.2
October, 13th 2005
- It was not possible to read a project containing
an extra member having a stereotype (produced
the error message 'end' expected
rather than 'stereotype'), fixed.
- The extra member dialog forgot to set the stereotype,
fixed.
- XMI generator 1.0
New plug-out, must be applied at the project
level.
Actually only the UML definition of the packages,
classes, attributes, relations and operations
are saved in the produced file.
To be compatible with existing tools, the format is
xml 1.0, xmi 1.2 for UML 1.4.
This plug-out is configured by default
in the new projects. The name of the executable to
add it to the plug-outs list in of the existing
projects is gxmi.
2.6.1
October, 2th 2005
- After changing the rank of messages in a collaboration
diagram, some of them are not shown sorted, fixed.
- In a collaboration diagram, when you edit a message which
doesn't correspond to an operation, this message was
not included in the message list, fixed.
- Changing the format of a diagram didn't have the
expected behavior when the zoom was not 100%, fixed
- Change the default Z position of the relations and other
lines in the diagrams to be dependent on the Z position
of the extremities
- Show the limits of the diagram canvas
2.6
September, 26th 2005
- Unfortunately it was possible to draw an anchor from a
class to a line break point in a class diagram, with
dramatic consequences, fixed.
- Since the release 2.5.4, in the sequence and class diagrams the full
operations displaying was wrong in C++ mode, fixed.
- When a plug-out can't be lauch under Windows
because the executable can't be found (PATH problem etc ...)
a message box is displayed from now on.
- The definition of a set_ operation was wrong in C++
and Java when the attribute / relation name is not the
UML name (definition of the get_ operation was right),
fixed.
- In the operation dialog, add buttons default definition
and default declaration for the get_ and
set_ operations.
- New generation settings to specify default description
for artifacts, classes, operations, attributes
and relations.
A new tab is added in the generation settings dialog
to set them, by default they are empty.
Add the button default to fill the description with
the default value in the corresponding dialogs.
From now on, keyword substitutions are
made in the description of the corresponding objects
as for their declarations / definitions. This
feature is under construction.
- New generation settings for C++ allowing to set the
default form specifying the operation return type form.
The affected tabs of the generation settings dialog
are the first one and the fourth C++ tab.
- Change a little the UML tab of the relation dialog to save
height, and a splitter is placed between the two
roles to choose their respective height.
- C++ Generator 2.0.5
The path generated for an #include was wrong
when #include with pathname is set in the generation
settings and the header files are generated in different
directories, fixed.
Fixe carriage return / line feed problem in code
generation under Windows.
When the name of a static attribute or relation
is not the same in UML and C++ the definition of the C++
variable was wrong (the declaration was correct), fixed.
Do keywords substitution in the comments (to be completed).
- Java Generator 2.0.2
Idl Generator 2.0.2
Fixe carriage return / line feed problem in code
generation under Windows
Do keywords substitution in the comments (to be completed).
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.5.5
September, 18th 2005
- When the browser sub-window is scrolled horizontally the
drag & drop of a browser's item was not always
possible, fixed
- With BOUML compiled with Qt3, resizing a graphic item
using the mouse had a strange behavior except for the
bottom right corner, fixed. Note : the delivered version
of BOUML for Windows use QT2 and didn't have this bug.
- When you rename a class, the contructors and destructor
are now automatically renamed
- Add UML 2 standard stereotypes
- C++ Generator 2.0.4
When an artifact is associated to several classes
some of them could miss in the declaration list produced
for ${declarations}, fixed
- Plug-out empty
Updated to rename the contructors and destructor
when their class is renamed
- Plug-out upgrade 1.0.1
Add the renaming of the contructors and destructor
when their class is renamed
- C++ utilities 1.0
New plug-out for C++ modeling. Actually this
one works on class to help to add contructor (without
parameter), destructor (virtual or not), copy
constructor (with parameter const or not) and
assignment operator (with parameter const or not),
of course all these operations have an empty body.
This plug-out is defined in C++ and will be
extended depending on your requests. The name of the
executable is cpp_util
Because I am not a Java developer, I don't know what may
be usefull for Java, don't hesitate to ask for a Java
utilities plug-out
2.5.4
September, 11th 2005
- Previous releases may crash when you close
a dialog without closing the sub editions lauched through
the button editor with BOUML_EDITOR not defined,
fixed. Furthemore now when you do it, BOUML ask you to confirm
the loss of the modifications made through the sub editions not
yet closed.
- When you created a dependency between two components
the result was a generalization, fixed.
- The size of a closed dialog is saved to be re-used
the next time a dialog of the same type will be opened.
- Force the drawing name of a use case to be on
the top of the use case picture
- The keyword ${description} is added for the code
generation. This one similar to ${comment} except
that the code generators produce the description part
without adding "//" or /* .. */. This allows you to choose
between the two ways to produce the comments. This new
keyword is of course managed by the reverse in case it is
used in the defaults set through the generation settings.
When this new keyword is used, the reverse doesn't remove
the "//" or "/*...*/" from the reverse form to set the
description in the model.
- C++ Reverse 2.0.3
Previous releases produced a syntax error when
the visibility is not specified in an inheritance,
fixed (default visibility is private).
Add management of ${description}
- C++ Generator 2.0.3
Java Generator 2.0.1
Java Catalog 2.0.3
Java Reverse 2.0.3
Idl Generator 2.0.1
Html Generator 2.1.1
Add management of ${description}
2.5.3
September, 4th 2005
- Drag and drop inside the browser may produced an
infinite loop when an item is finally not moved (placed
under itself), fixed.
2.5.2
August, 24th 2005
- C++ Reverse 2.0.2
Fixe bugs.
2.5.1
August, 21th 2005
- The API with the Plug-outs is extended to
manage the states.
- Html documentation Generator 2.1
Updated to manage the states, must not be used with
the previous releases of BOUML.
- Plug-out empty
Updated to manage the states, must not be used with
the previous releases of BOUML.
- Plug-out upgrade 1.0
This is a new plug-out, its goal is to upgrade
the (old) 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).
This first release add the management of the states
and associated features.
- C++ Generator 2.0.2
Remove a wrong check concerning inheritance.
2.5
August, 9th 2005
- Add state actions (,
and
).
- It was not possible to drag nested classes from the browser
into a sequence or collaboration or use case diagram. Fixed
- This the previous releases, when you try to open a sequence
diagram you may have the error message
'end' expected rather than 'show_full_operations_definition'
and a part of the diagram is not load. Fixed
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.4.1
August, 5th 2005
- Old releases of BOUML crash when you add a message
in a sequence diagram from a life line
to a class instance (this is forbidden : the
target must be a life line or a duration bar)
because the check was incomplete, fixed.
- C++ Reverse 2.0.1
Java Reverse 2.0.2
Java Catalog 2.0.2
Fixe a bug on the concatenation of the comments
during the reverses
2.4
July, 31th 2005
- Add state regions. Note : the regions are
not visible as long as the drawing of the state
is not enough increased
- Now, when you move or resize a state in a
state diagram, the position of its sub states
is updated
- The new sub-menu Diagram default format of the
Miscellaneous menu allows to set the default format
of the diagrams (Iso A2/A3/A4/A5, or US A/B/C)
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.3.2
July, 24th 2005
- To save the project is not allowed when a least a dialog
is opened. Now a message box is shown when the shortcut
Control-s is hit or the project's menu is asked
but a dialog is opened.
- Add the entry save visible picture part
near copy visible picture part in the diagram's
menu. This one allows to chooze a file to save the visible
part of the diagram using the PNG format.
- Rename column from "*" to "do" in some dialogs hopping this
is more visible, because some people ask me to know how
to remove operation's parameter etc...
- The optional environment variable BOUML_LIMIT_DESKTOP
allows to specify a sub-part of all the desktop, its value
must be x0,y0,x1,y1 without any spaces, where
x0,y0 specify the top-left corner and x1,y1
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. Usefull mainly for the users having a multiple
monitors (side by side) configuration, see the
the post Bugs > Window placement and sizing (multiple monitors)
on the forum
2.3.1
July, 18th 2005
- minor change on the way to set a diagram's item upper/lower
(see my respons for the post Bugs > state diagrams
on the forum)
2.3
July, 17th 2005
- Fixes concerning the colors in the sequences diagrams.
For the old release since the 2.2, editing the
drawing settings of a sequence diagram under Linux may
crash BOUML !
- Fixes in the Java definition of the empty
plug-out
- After a cut here made on a duration bar in a
sequence diagram, the color of the new duration bar
was not set, fixed
- Add behavioral state machine. Still on going, must be
done : to add region, to update empty plug-out
to access to the states. Activity diagrams
will be added too.
- A state machine is a state defined under a
class view, by default it has the stereotype
machine, these are only differences with the other
states.
- A sub machine is a state having
the stereotype submachine, this is only
difference with the other states. Theorycally
a sub machine is defined under a machine,
but BOUML doesn't check the usage of the stereotypes.
- Any state may contain sub states, pseudo
states, transitions and state diagram.
- When you add a state or a pseudo state
in a diagram out of any drawing state, the new
one is added to the state containing the diagram.
So in the example
it is useless to draw the state machine ReadAmount
to add sub states and pseudo states.
- An example
of a state machine and a state diagram
is given in the screenshots.
- In the dialog's User tab the value is now
edited through a multiline editor
- On the diagrams the keyboard's arrows Up, Down, Left
and right move the selected items.
- Html documentation Generator 2.0.1
ask for to remove or not all the already existing HTML
files in the target directory prior to generate the new ones
- C++ Generator 2.0.1
old releases crash on an empty enum, fixed
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.2.2
June, 15th 2005
- This release only exist for the Linux distribution,
some users have compilation problem associated with the
files Labeled.h, JavaCatWindow.cpp and
UmlWindow.cpp, fixed
2.2.1
June, 8th 2005
- Depending on your configuration the encoding of the
accentued characters in the BOUML files could be wrong.
Fixed
- Documentation still referred components rather
than artifacts, fixed
2.2
June, 5th 2005
- Add fragments (),
available in all the diagrams.
- Add continuations (),
available in the sequence diagrams.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
- Java Reverse 2.0.1
Java Catalog 2.0.1
Fixe the same bug in these two plug-outs
2.1
June, 2th 2005
- It is not still possible to draw association between
components, the already defined ones are removed,
the right way is to use dependency.
- Improve the component's drawing settings
to allows to write the component's compartments
(required and provided interfaces and the
realizations), for the components not drawn
as an icon.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
2.0
May, 23th 2005
- First version associated to UML 2.0.
- The sources, libraries and executables, are now supported by
artifacts rather than Components. The behavior of an
artifact is exactly the behavior which a component had.
- I suppose that all the components previously defined are used to produce
sources, libraries or executables, so :
-
When you load a project saved with a release less or
equal to 1.5.1, all the components become artifacts,
all the component views become deployment views and
all the component diagrams become deployment diagrams.
-
Furthermore, in case this project is a plug out, the
UmlBaseComponent class is modified with its members to
become the UmlBaseArtifact class, and the
UmlComponent class is modified to become the UmlArtifact
class updating only its default members. New
UmlBaseComponent and UmlComponent classes are created.
Obviously this may be not enough and you should have to do manually
some additional changes. The modified plug out doesn't allow
to fully manage components, for that you have to create a new
plug out from the new definition of the plug out named
empty.
- BOUML force a save as, then the project is closed.
- The only way to have components, component views and
component diagrams is to create new ones.
- A new drawing setting is added allowing to drawn the components
as an icon (old drawing) or following the UML 2.0 specifications.
Nethertheless when a component not drawn as an icon has a stereotype, this
least is written rather than <<component>>
the same rule is followed for the artifacts. The non icon drawing
is resizeable.
- The drawing of the required and provided interfaces
doesn't follow exactly the UML 2.0 specifications : to minimize
the number of labels, the interface's name is attached to the line
termination rather than to the line(s).
- C++ Generator 2.0
C++ Reverse 2.0
Java Generator 2.0
Java Reverse 2.0
Java Catalog 2.0
Idl Generator 2.0
Html documentation Generator 2.0
.pro Generator 2.0
Rose project import 2.0
Singleton 2.0
empty 2.0
Update plug-outs to follows the new API
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
1.5.1
May, 11th 2005
- Fixe a bug on the duration color saving.
- In case you can't reload a project because you have the
error ...expected rather than 'duration'
, acknowledge the message and exit from BOUML,
edit the specified file at the given line with any text editor and
replace duration by
duration_color. Retry : the same error may exist
several times.
1.5
May, 5th 2005
- The deletion of the labels in the diagrams is not
possible any more.
- Update the window title when the corresponding diagram
is renamed.
1.4.10
April, 24th 2005
- Do not re-open diagrams modified then closed to save
them, to decrease saving time.
1.4.9
April, 23th 2005
- Release 1.4.5 up to 1.4.7
may crash under Windows due to a C++ compiler bug in
optimize speed mode. Bypassed by having
one operation compiled with optimize speed off.
- Release 1.4.5 up to 1.4.8
doesn't save link and self link of the
collaboration diagram. Fixed
1.4.8
April, 17th 2005
- Release 1.4.5 up to 1.4.7
may crash under Windows due to a C++ compiler bug.
This delivery contains the debug version of BOUML
to mask the bug, because I do not have time to understand
what is append until the next week end, for professional
reasons.
- C++ Reverse 1.0.3
Adds management of Q_EXPORT, QM_EXPORT,
etc... present into Qt definition.
Little fixings.
1.4.7
April, 10th 2005
- Remove the management of the font associated to the screen
size introduced in the 1.4.5, because this is required by a
user.
- Add a progress bar appearing when a saving need time
1.4.6
April, 7th 2005
- New drawing settings dialog, using tabs
to reduce its size.
1.4.5
April, 6th 2005
- Add copy/cut/paste commands for
the diagrams. A paste is only possible in a
diagram whose type is the one of the diagram where the
copy/cut was made. The shortcuts are
Control c for copy,
Control x for cut and
Control v for paste.
The cut is equivalent to a copy followed
by a remove from view, this means that the corresponding
browser items are not deleted.
- Little modification to compute the default size of the
generation settings dialog.
- In case the default font point size is greater than 10
and the screen width is lower or equal to 1024 or its
height is lower or equal to 768, the default font point
size is set to 10.
1.4.4
April, 3th 2005
- Decrease the size of the drawing settings dialogs.
- The API base packages was read only. Now when the
associated file is writable, all may be changed except
the name. This allows to change the namespace/package/module
or the directories where the code generation are made.
- Add diagram's element alignement, the reference is the
first selected element.
- Fixe a bug concerning the undo changes in a diagram
and on the a bi-directional relation's role b
drawing in a diagram.
1.4.3
March, 31th 2005
- import Rose 1.1.2
Manage the components, note that the Rose tree of
components is not reproduced because the
components are too differents under Rose and BOUML,
and because BOUML recommends to place each component
view near the corresponding class view
- Html generator 1.1
Ask for the directory where the html and pgn files
will be produced rather than use a directory under /tmp
1.4.2
March, 28th 2005
- Drag and Drop from the browser to a diagram forgot to
map viewport position to content position due to
scrollbars position, fixed.
- Change positionning of the relation's role name and
multiplicity (correct it for a quarter of turn) in the
diagrams.
1.4.1
March, 23th 2005
- C++ Reverse 1.0.2
oupsss, C++ reverse loops on the first reversed file,
fixed.
1.4
March, 22th 2005
- Through the miscellaneous menu the size of the base font
used for the browser and the diagrams may be specified.
Note that sometimes changing the size does nothing because
the desired font is not available. A 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 a relation drawn vertically
with one font will be inclined with an other.
This size is memorized in the file memorizing the project,
but I allow to change the font size even when the file
is read only (the new font size can't be saved).
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
1.3.2
March, 20th 2005
- Now all the sequence diagram items may be placed upper/lower.
1.3.1
March, 16th 2005
- import Rose 1.1.1
little change
1.3
March, 13th 2005
- Release 1.1 & 1.2 contains a major bug
linked to the diagrams saving, fixed.
- Add import of a bouml project into a package.
- Under Windows the optimal window size command may
produce an infinite resizing loop, fixed.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous releases of BOUML.
1.2
March, 8th 2005
- import Rose 1.1
correction when a file path is specified through
a variable ($var form into the rose model files)
1.1
March, 6th 2005
- Now the identifier of an item in a diagram is fixed and
the order of the item definitions is also fixed in the
*.diagram generated files. This may help to merge diagram
files !
- C++ Generator 1.1
C++ Generated code was wrong in case a referenced class is
nested in an other one or sometimes when it is defined
in an other namespace, fixed.
C++ Generated code for a friend to a template class was
wrong, fixed.
- Because the format of the BOUML files is changed,
the previous releases of BOUML cannot read a project
saved with this version. Obviously this release is
able to read the projects made by previous release of BOUML.
1.0
February, 26th 2005