summary refs log tree commit diff stats
path: root/bouml
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2009-11-24 22:00:48 +0100
committerhut <hut@lavabit.com>2009-11-24 22:00:48 +0100
commitcfbb8c84355f28bc7f669105f90c7aae0a972569 (patch)
treec07ab479b7594ef88d5bb0d9aac141effc2efbf3 /bouml
parentf6f26231a1a2c886f43d9ec965eb7903180067fb (diff)
downloadranger-cfbb8c84355f28bc7f669105f90c7aae0a972569.tar.gz
added Bouml project (UML)
Diffstat (limited to 'bouml')
-rw-r--r--bouml/128002.diagram138
-rw-r--r--bouml/128130.diagram195
-rw-r--r--bouml/128258.diagram31
-rw-r--r--bouml/2.session30
-rw-r--r--bouml/bouml.prj766
-rw-r--r--bouml/cpp_includes13
-rw-r--r--bouml/generation_settings310
-rw-r--r--bouml/idl_includes1
-rw-r--r--bouml/java_imports1
-rw-r--r--bouml/python_imports1
-rw-r--r--bouml/stereotypes59
-rw-r--r--bouml/tools18
12 files changed, 1563 insertions, 0 deletions
diff --git a/bouml/128002.diagram b/bouml/128002.diagram
new file mode 100644
index 00000000..614e4ea2
--- /dev/null
+++ b/bouml/128002.diagram
@@ -0,0 +1,138 @@
+format 70
+
+classcanvas 128002 class_ref 128002 // FM
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 171 201 2000
+end
+classcanvas 128130 class_ref 128130 // UI
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 401 193 2000
+end
+classcanvas 128258 class_ref 128258 // MAIN
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 58 186 2000
+end
+classcanvas 128386 class_ref 128386 // Command
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 169 444 2000
+end
+classcanvas 128514 class_ref 128514 // Action
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 50 408 2000
+end
+classcanvas 128642 class_ref 128642 // Environment
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 273 341 2000
+end
+classcanvas 128770 class_ref 128770 // Widget
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 414 410 2000
+end
+classcanvas 128898 class_ref 128898 // curses
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 423 613 2000
+end
+classcanvas 132994 class_ref 129154 // WStatusBar
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 640 362 2000
+end
+classcanvas 133250 class_ref 129026 // WConsole
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 646 404 2000
+end
+classcanvas 133506 class_ref 129538 // WTitleBar
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 647 447 2000
+end
+classcanvas 133762 class_ref 129410 // WMessage
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 641 318 2000
+end
+classcanvas 134018 class_ref 129282 // WDisplay
+  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+  xyz 650 492 2005
+end
+relationcanvas 129026 relation_ref 128002 // <association>
+  decenter_end 288
+  from ref 128258 z 2001 to ref 128002
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129154 relation_ref 128130 // <association>
+  from ref 128130 z 2001 to ref 128002
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129794 relation_ref 128386 // <association>
+  from ref 128130 z 2001 to ref 128770
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 129922 relation_ref 128514 // <association>
+  from ref 128514 z 2001 to ref 128386
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130050 relation_ref 128642 // <association>
+  from ref 128898 z 2001 to ref 128770
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130178 relation_ref 128770 // <association>
+  decenter_begin 267
+  from ref 128642 z 2001 to ref 128002
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130306 relation_ref 128898 // <association>
+  from ref 128642 z 2001 to ref 128770
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130434 relation_ref 129026 // <association>
+  decenter_end 108
+  from ref 128386 z 2001 to ref 128642
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130562 relation_ref 129154 // <association>
+  from ref 128130 z 2001 to ref 128642
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 130690 relation_ref 129282 // <association>
+  from ref 128002 z 2001 to ref 128386
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 133122 relation_ref 135938 // <generalisation>
+  decenter_end 286
+  from ref 132994 z 2001 to ref 128770
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 133378 relation_ref 136066 // <generalisation>
+  decenter_end 433
+  from ref 133250 z 2001 to ref 128770
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 133634 relation_ref 136194 // <generalisation>
+  decenter_end 552
+  from ref 133506 z 2001 to ref 128770
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 133890 relation_ref 142722 // <generalisation>
+  decenter_end 146
+  from ref 133762 z 2001 to ref 128770
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+relationcanvas 134402 relation_ref 142850 // <generalisation>
+  decenter_end 671
+  from ref 134018 z 2006 to ref 128770
+  no_role_a no_role_b
+  no_multiplicity_a no_multiplicity_b
+end
+end
diff --git a/bouml/128130.diagram b/bouml/128130.diagram
new file mode 100644
index 00000000..d8772732
--- /dev/null
+++ b/bouml/128130.diagram
@@ -0,0 +1,195 @@
+format 70
+
+classinstance 128002 class_ref 128002 // FM
+  name "fm"   xyz 102.761 4.17 2000 life_line_z 2000
+classinstance 128130 class_ref 128130 // UI
+  name "ui"   xyz 212.248 4.17 2000 life_line_z 2000
+classinstance 129154 class_ref 128258 // MAIN
+  name ""   xyz 14 4.17 2000 life_line_z 2000
+classinstance 133506 class_ref 128514 // Action
+  name ""   mortal  xyz 601.1 4.17 2000 life_line_z 2000
+classinstance 133890 class_ref 128386 // Command
+  name ""   mortal  xyz 504.06 4.17 2000 life_line_z 2000
+classinstance 134530 class_ref 128642 // Environment
+  name ""   xyz 396.5 4.21 2000 life_line_z 2000
+classinstance 135170 class_ref 128770 // Widget
+  name ""   xyz 307.76 4.17 2000 life_line_z 2000
+durationcanvas 129282 classinstance_ref 129154 // :MAIN
+  xyzwh 33 101.27 2010 11 53
+end
+durationcanvas 129410 classinstance_ref 128002 // fm:FM
+  xyzwh 121 103.15 2010 11 26
+end
+durationcanvas 130946 classinstance_ref 129154 // :MAIN
+  xyzwh 33 155.76 2010 11 42
+end
+durationcanvas 131074 classinstance_ref 128002 // fm:FM
+  xyzwh 121 158.73 2010 11 31
+end
+durationcanvas 131330 classinstance_ref 129154 // :MAIN
+  xyzwh 33 211.31 2010 11 41
+end
+durationcanvas 131458 classinstance_ref 128002 // fm:FM
+  xyzwh 121 205.96 2010 11 383
+  overlappingdurationcanvas 133122
+    xyzwh 127 406.75 2020 11 138
+  end
+end
+durationcanvas 131970 classinstance_ref 128130 // ui:UI
+  xyzwh 231 208.25 2010 11 35
+end
+durationcanvas 132226 classinstance_ref 128130 // ui:UI
+  xyzwh 231 111.25 2010 11 29
+end
+durationcanvas 132482 classinstance_ref 128130 // ui:UI
+  xyzwh 231 255.88 2010 11 67
+end
+durationcanvas 132738 classinstance_ref 128130 // ui:UI
+  xyzwh 231 343.68 2010 11 50
+end
+durationcanvas 134018 classinstance_ref 133890 // :Command
+  xyzwh 538 432.71 2010 11 79
+end
+durationcanvas 134274 classinstance_ref 133506 // :Action
+  xyzwh 622 498.11 2010 11 28
+end
+durationcanvas 134658 classinstance_ref 134530 // :Environment
+  xyzwh 437 127.4 2010 11 27
+end
+durationcanvas 134914 classinstance_ref 134530 // :Environment
+  xyzwh 437 463.76 2010 11 26
+end
+durationcanvas 135298 classinstance_ref 135170 // :Widget
+  xyzwh 330 274.91 2010 11 35
+end
+durationcanvas 135554 classinstance_ref 135170 // :Widget
+  xyzwh 330 310.23 2010 11 28
+end
+durationcanvas 135810 classinstance_ref 135170 // :Widget
+  xyzwh 330 119.35 2010 11 34
+end
+durationcanvas 136066 classinstance_ref 134530 // :Environment
+  xyzwh 437 278.93 2010 11 30
+end
+durationcanvas 136450 classinstance_ref 128130 // ui:UI
+  xyzwh 231 532.53 2010 11 43
+end
+durationcanvas 136706 classinstance_ref 135170 // :Widget
+  xyzwh 330 561.79 2010 11 37
+end
+msg 129538 synchronous
+  from durationcanvas_ref 129282
+  to durationcanvas_ref 129410
+  yz 104 3010 msg operation_ref 128642 // "new()"
+  show_full_operations_definition default drawing_language default
+  label_xy 65 88
+msg 131202 synchronous
+  from durationcanvas_ref 130946
+  to durationcanvas_ref 131074
+  yz 158 2015 msg operation_ref 128770 // "feed()"
+  show_full_operations_definition default drawing_language default
+  label_xy 65 143
+msg 131586 synchronous
+  from durationcanvas_ref 131330
+  to durationcanvas_ref 131458
+  yz 212 2015 msg operation_ref 129026 // "run()"
+  show_full_operations_definition default drawing_language default
+  label_xy 69 196
+msg 132098 synchronous
+  from durationcanvas_ref 131458
+  to durationcanvas_ref 131970
+  yz 214 2020 msg operation_ref 128130 // "feed()"
+  show_full_operations_definition default drawing_language default
+  label_xy 167 198
+msg 132354 synchronous
+  from durationcanvas_ref 129282
+  to durationcanvas_ref 132226
+  yz 113 3015 msg operation_ref 128514 // "new()"
+  show_full_operations_definition default drawing_language default
+  label_xy 149 98
+msg 132610 synchronous
+  from durationcanvas_ref 131458
+  to durationcanvas_ref 132482
+  yz 271 2015 msg operation_ref 128002 // "draw()"
+  show_full_operations_definition default drawing_language default
+  label_xy 162 255
+msg 132866 synchronous
+  from durationcanvas_ref 131458
+  to durationcanvas_ref 132738
+  yz 345 2015 msg operation_ref 128258 // "get_next_key()"
+  show_full_operations_definition default drawing_language default
+  label_xy 137 329
+msg 132994 return
+  from durationcanvas_ref 132738
+  to durationcanvas_ref 131458
+  yz 378 2020 explicitmsg "key"
+  show_full_operations_definition default drawing_language default
+  label_xy 173 362
+reflexivemsg 133250 synchronous
+  to durationcanvas_ref 133122
+  yz 407 2025 msg operation_ref 129154 // "press()"
+  show_full_operations_definition default drawing_language default
+  label_xy 140 392
+msg 134146 synchronous
+  from durationcanvas_ref 131458
+  to durationcanvas_ref 134018
+  yz 444 2015 msg operation_ref 129538 // "execute()"
+  show_full_operations_definition default drawing_language default
+  label_xy 249 428
+msg 134402 synchronous
+  from durationcanvas_ref 134018
+  to durationcanvas_ref 134274
+  yz 500 2015 unspecifiedmsg
+  show_full_operations_definition default drawing_language default
+msg 134786 synchronous
+  from durationcanvas_ref 129282
+  to durationcanvas_ref 134658
+  yz 137 3020 msg operation_ref 130178 // "new()"
+  show_full_operations_definition default drawing_language default
+  label_xy 369 125
+msg 135042 synchronous
+  from durationcanvas_ref 134018
+  to durationcanvas_ref 134914
+  yz 464 2020 unspecifiedmsg
+  show_full_operations_definition default drawing_language default
+msg 135426 synchronous
+  from durationcanvas_ref 132482
+  to durationcanvas_ref 135298
+  yz 278 2015 msg operation_ref 130818 // "feed_env()"
+  show_full_operations_definition default drawing_language default
+  label_xy 251 262
+msg 135682 synchronous
+  from durationcanvas_ref 132482
+  to durationcanvas_ref 135554
+  yz 311 2015 msg operation_ref 130434 // "draw()"
+  show_full_operations_definition default drawing_language default
+  label_xy 265 295
+msg 135938 synchronous
+  from durationcanvas_ref 132226
+  to durationcanvas_ref 135810
+  yz 120 3025 msg operation_ref 130306 // "new()"
+  show_full_operations_definition default drawing_language default
+  label_xy 267 104
+msg 136194 synchronous
+  from durationcanvas_ref 135298
+  to durationcanvas_ref 136066
+  yz 279 2015 unspecifiedmsg
+  show_full_operations_definition default drawing_language default
+msg 136322 return
+  from durationcanvas_ref 136066
+  to durationcanvas_ref 135298
+  yz 298 2020 unspecifiedmsg
+  show_full_operations_definition default drawing_language default
+msg 136578 synchronous
+  from durationcanvas_ref 131458
+  to durationcanvas_ref 136450
+  yz 533 2015 msg operation_ref 131074 // "click()"
+  show_full_operations_definition default drawing_language default
+  label_xy 164 517
+msg 136834 synchronous
+  from durationcanvas_ref 136450
+  to durationcanvas_ref 136706
+  yz 561 2015 msg operation_ref 131202 // "click()"
+  show_full_operations_definition default drawing_language default
+  label_xy 267 545
+end
diff --git a/bouml/128258.diagram b/bouml/128258.diagram
new file mode 100644
index 00000000..12510f33
--- /dev/null
+++ b/bouml/128258.diagram
@@ -0,0 +1,31 @@
+format 70
+
+classinstance 128002 class_ref 128130 // UI
+  name ""   xyz 61 4 2000 life_line_z 2000
+classinstance 128258 class_ref 128770 // Widget
+  name ""   xyz 169 4 2000 life_line_z 2000
+durationcanvas 128386 classinstance_ref 128002 // :UI
+  xyzwh 80 87 2010 11 40
+end
+durationcanvas 128514 classinstance_ref 128258 // :Widget
+  xyzwh 193 88 2010 11 25
+end
+durationcanvas 128770 classinstance_ref 128002 // :UI
+  xyzwh 80 263 2010 11 40
+end
+durationcanvas 128898 classinstance_ref 128258 // :Widget
+  xyzwh 193 264 2010 11 31
+end
+msg 128642 synchronous
+  from durationcanvas_ref 128386
+  to durationcanvas_ref 128514
+  yz 88 2015 msg operation_ref 130818 // "feed_env()"
+  show_full_operations_definition default drawing_language default
+  label_xy 107 73
+msg 129026 synchronous
+  from durationcanvas_ref 128770
+  to durationcanvas_ref 128898
+  yz 264 2015 msg operation_ref 130434 // "draw()"
+  show_full_operations_definition default drawing_language default
+  label_xy 118 248
+end
diff --git a/bouml/2.session b/bouml/2.session
new file mode 100644
index 00000000..d09f8964
--- /dev/null
+++ b/bouml/2.session
@@ -0,0 +1,30 @@
+window_sizes 838 1033 389 439 848 95
+motifplus_style
+diagrams
+  active  sequencediagram_ref 128130 // basic logic
+    439 848 101 4 0 0
+  classdiagram_ref 128002 // cd
+    1117 726 100 4 120 0
+  sequencediagram_ref 128258 // draw
+    1117 726 100 4 0 0
+end
+show_stereotypes
+selected 
+package_ref 129 // a
+open
+  class_ref 128002 // FM
+  operation_ref 131074 // click
+  class_ref 128258 // MAIN
+  class_ref 128386 // Command
+  class_ref 128514 // Action
+  operation_ref 130178 // new
+  operation_ref 131202 // click
+  class_ref 128898 // curses
+  class_ref 129026 // WConsole
+  class_ref 129154 // WStatusBar
+  class_ref 129282 // WDisplay
+  class_ref 129410 // WMessage
+  class_ref 129538 // WTitleBar
+end
+end
+verbose
diff --git a/bouml/bouml.prj b/bouml/bouml.prj
new file mode 100644
index 00000000..8590093c
--- /dev/null
+++ b/bouml/bouml.prj
@@ -0,0 +1,766 @@
+format 70
+"a"
+  revision 3
+  modified_by 2 "hut"
+
+
+  
+  // class settings
+  default_attribute_visibility private default_relation_visibility private default_operation_visibility public
+  //class diagram settings
+  draw_all_relations yes hide_attributes no hide_operations no hide_getset_operations no show_members_full_definition no show_members_visibility no show_members_stereotype no show_members_multiplicity no show_members_initialization no show_attribute_modifiers no member_max_width 127 show_parameter_dir yes show_parameter_name yes package_name_in_tab no class_drawing_mode natural drawing_language uml show_context_mode no auto_label_position yes show_relation_modifiers no show_relation_visibility no show_infonote no shadow yes show_stereotype_properties no
+  //use case diagram settings
+  package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes class_drawing_mode actor shadow yes show_stereotype_properties no
+  //sequence diagram settings
+  show_full_operations_definition no write_horizontally yes class_drawing_mode natural drawing_language uml draw_all_relations yes shadow yes show_stereotype_properties no
+  //collaboration diagram settings
+  show_full_operations_definition no show_hierarchical_rank no write_horizontally yes drawing_language uml package_name_in_tab no show_context no draw_all_relations yes shadow yes show_stereotype_properties no
+  //object diagram settings
+   write_horizontally yes package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes show_stereotype_properties no
+  //component diagram settings
+  package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
+  draw_component_as_icon no show_component_req_prov no show_component_rea no show_stereotype_properties no
+  //deployment diagram settings
+  package_name_in_tab no show_context no write_horizontally yes auto_label_position yes draw_all_relations yes shadow yes
+  draw_component_as_icon no show_component_req_prov no show_component_rea no show_stereotype_properties no
+  //state diagram settings
+  package_name_in_tab no show_context no auto_label_position yes write_trans_label_horizontally yes show_trans_definition no draw_all_relations yes shadow yes
+  show_activities yes region_horizontally yes drawing_language uml show_stereotype_properties no
+  //activity diagram settings
+  package_name_in_tab no show_context no show_opaque_action_definition no auto_label_position yes write_flow_label_horizontally no draw_all_relations yes shadow yes
+  show_infonote yes drawing_language uml show_stereotype_properties no
+  
+  class_color yellow duration_color transparent continuation_color gray note_color blue fragment_color transparent subject_color transparent usecase_color yellow package_color transparent component_color green artifact_color green deploymentnode_color gray state_color yellow stateaction_color transparent activity_color transparent activityregion_color transparent activitypartition_color transparent activityaction_color transparent parameterpin_color white 
+  font_size 10
+  diagram_format A4
+
+  mark_for_import
+  
+  classview 128002 "cv"
+    //class diagram settings
+    draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+    //collaboration diagram settings
+    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default show_stereotype_properties default
+    //object diagram settings
+     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
+    //sequence diagram settings
+    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
+    //state diagram settings
+    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
+    show_activities default region_horizontally default drawing_language default show_stereotype_properties default
+    //class settings
+    //activity diagram settings
+    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
+    show_infonote default drawing_language default show_stereotype_properties default
+    classdiagram 128002 "cd"
+      draw_all_relations no hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
+      size A4
+    end
+
+    sequencediagram 128130 "basic logic"
+      show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
+      overlapping_bars size A4
+    end
+
+    sequencediagram 128258 "draw"
+      show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default
+      overlapping_bars size A4
+    end
+
+    class 128002 "FM"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      operation 128642 "new"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 128770 "feed"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 128898 "enter_dir"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 129026 "run"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 129154 "press"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      classrelation 128130 // <association>
+	relation_ref 128002 // <association>
+      end
+
+      classrelation 128386 // <association>
+	relation_ref 128130 // <association>
+      end
+
+      classrelation 129666 // <association>
+	relation_ref 128770 // <association>
+      end
+
+      classrelation 130562 // <association>
+	relation 129282 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 130562 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 130690 // <association>
+      end
+    end
+
+    class 128130 "UI"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      operation 128002 "draw"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 128130 "feed"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 128258 "get_next_key"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 128386 "exit"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 128514 "new"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 131074 "click"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      classrelation 128258 // <association>
+	relation 128130 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 128258 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 128386 // <association>
+      end
+
+      classrelation 128642 // <association>
+	relation_ref 128258 // <association>
+      end
+
+      classrelation 128770 // <association>
+	relation 128386 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 128770 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 128898 // <association>
+      end
+
+      classrelation 130306 // <association>
+	relation 129154 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 130306 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 130434 // <association>
+      end
+    end
+
+    class 128258 "MAIN"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      operation 129282 "main"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      classrelation 128002 // <association>
+	relation 128002 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 128002 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 128130 // <association>
+      end
+
+      classrelation 128514 // <association>
+	relation 128258 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 128514 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 128642 // <association>
+      end
+    end
+
+    class 128386 "Command"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      operation 129538 "execute"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      classrelation 129154 // <association>
+	relation_ref 128514 // <association>
+      end
+
+      classrelation 130050 // <association>
+	relation 129026 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 130050 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 130178 // <association>
+      end
+
+      classrelation 130690 // <association>
+	relation_ref 129282 // <association>
+      end
+    end
+
+    class 128514 "Action"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      operation 129410 "run"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 129666 "copy"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 129794 "move"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 129922 "delete"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 130050 "create"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      classrelation 129026 // <association>
+	relation 128514 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 129026 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 129154 // <association>
+      end
+    end
+
+    class 128642 "Environment"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      operation 130178 "new"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      classrelation 129538 // <association>
+	relation 128770 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 129538 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 129666 // <association>
+      end
+
+      classrelation 129794 // <association>
+	relation 128898 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 129794 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 129922 // <association>
+      end
+
+      classrelation 130178 // <association>
+	relation_ref 129026 // <association>
+      end
+
+      classrelation 130434 // <association>
+	relation_ref 129154 // <association>
+      end
+    end
+
+    class 128770 "Widget"
+      abstract visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      operation 130306 "new"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 130434 "draw"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 130562 "destroy"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 130690 "feed"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 130818 "feed_env"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      operation 131202 "click"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      classrelation 128898 // <association>
+	relation_ref 128386 // <association>
+      end
+
+      classrelation 129410 // <association>
+	relation_ref 128642 // <association>
+      end
+
+      classrelation 129922 // <association>
+	relation_ref 128898 // <association>
+      end
+    end
+
+    classinstance 128002 ""
+      type class_ref 128770 // Widget
+      attributes
+        end
+      relations
+        end
+    end
+
+    class 128898 "curses"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      operation 130946 "addstr"
+	public explicit_return_type ""
+	nparams 0
+	
+	
+	
+	python_def "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+	
+      end
+
+      classrelation 129282 // <association>
+	relation 128642 ----
+	  a role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 129282 // <association>
+	  b role_name "" private
+	    python "${comment}${self}${name} = ${value}
+"
+	    classrelation_ref 129410 // <association>
+      end
+    end
+
+    class 129026 "WConsole"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      classrelation 137474 // <generalisation>
+	relation 136066 ---|>
+	  a public
+	    python "${type}"
+	    classrelation_ref 137474 // <generalisation>
+	  b parent class_ref 128770 // Widget
+      end
+    end
+
+    class 129154 "WStatusBar"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      classrelation 137346 // <generalisation>
+	relation 135938 ---|>
+	  a public
+	    python "${type}"
+	    classrelation_ref 137346 // <generalisation>
+	  b parent class_ref 128770 // Widget
+      end
+    end
+
+    class 129282 "WDisplay"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      classrelation 144258 // <generalisation>
+	relation 142850 ---|>
+	  a public
+	    python "${type}"
+	    classrelation_ref 144258 // <generalisation>
+	  b parent class_ref 128770 // Widget
+      end
+
+    end
+
+    class 129410 "WMessage"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      classrelation 144130 // <generalisation>
+	relation 142722 ---|>
+	  a public
+	    python "${type}"
+	    classrelation_ref 144130 // <generalisation>
+	  b parent class_ref 128770 // Widget
+      end
+    end
+
+    class 129538 "WTitleBar"
+      visibility package 
+      cpp_decl ""
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+      idl_decl ""
+      explicit_switch_type ""
+      
+      classrelation 137602 // <generalisation>
+	relation 136194 ---|>
+	  a public
+	    python "${type}"
+	    classrelation_ref 137602 // <generalisation>
+	  b parent class_ref 128770 // Widget
+      end
+
+    end
+  end
+add_operation_profile
+
+end
diff --git a/bouml/cpp_includes b/bouml/cpp_includes
new file mode 100644
index 00000000..531b86f7
--- /dev/null
+++ b/bouml/cpp_includes
@@ -0,0 +1,13 @@
+// "a type" "needed cpp_includes"
+"vector" "#include <vector>
+using namespace std;"
+
+"list" "#include <list>
+using namespace std;"
+
+"map" "#include <map>
+using namespace std;"
+
+"string" "#include <string>
+using namespace std;"
+
diff --git a/bouml/generation_settings b/bouml/generation_settings
new file mode 100644
index 00000000..8cd2bc14
--- /dev/null
+++ b/bouml/generation_settings
@@ -0,0 +1,310 @@
+
+  python_default_defs 
+  cpp_h_extension "h" cpp_src_extension "cpp" java_extension "java" php_extension "php" python_extension "py" idl_extension "idl"
+  cpp_inline_dont_force_incl_in_h
+
+  type_forms 15 // uml cpp java idl cpp_in cpp_out cpp_inout cpp_return
+    "void" "void" "void" "void" "${type}" "${type} &" "${type}" "${type}"
+    "any" "void *" "Object" "any" "const ${type}" "${type}" "${type} &" "${type}"
+    "bool" "bool" "boolean" "boolean" "${type}" "${type} &" "${type} &" "${type}"
+    "char" "char" "char" "char" "${type}" "${type} &" "${type} &" "${type}"
+    "uchar" "unsigned char" "char" "octet" "${type}" "${type} &" "${type} &" "${type}"
+    "byte" "unsigned char" "byte" "octet" "${type}" "${type} &" "${type} &" "${type}"
+    "short" "short" "short" "short" "${type}" "${type} &" "${type} &" "${type}"
+    "ushort" "unsigned short" "short" "unsigned short" "${type}" "${type} &" "${type} &" "${type}"
+    "int" "int" "int" "long" "${type}" "${type} &" "${type} &" "${type}"
+    "uint" "unsigned int" "int" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
+    "long" "long" "long" "long" "${type}" "${type} &" "${type} &" "${type}"
+    "ulong" "unsigned long" "long" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
+    "float" "float" "float" "float" "${type}" "${type} &" "${type} &" "${type}"
+    "double" "double" "double" "double" "${type}" "${type} &" "${type} &" "${type}"
+    "string" "string" "String" "string" "${type}" "${type} &" "${type} &" "${type}"
+  
+  relations_stereotypes 5 // uml cpp java pythonidl
+    "sequence" "vector" "Vector" "list" "sequence"
+    "vector" "vector" "Vector" "list" "sequence"
+    "list" "list" "List" "list" "sequence"
+    "set" "set" "Set" "set" "sequence"
+    "map" "map" "Map" "dict" "sequence"
+  
+  classes_stereotypes 14 // uml cpp java php python idl
+    "class" "class" "class" "class" "class" "valuetype"
+    "interface" "class" "interface" "interface" "class" "interface"
+    "exception" "class" "class" "class" "class" "exception"
+    "enum" "enum" "enum" "enum" "enum" "enum"
+    "enum_pattern" "enum" "enum_pattern" "enum" "enum" "enum"
+    "struct" "struct" "class" "class" "class" "struct"
+    "union" "union" "class" "class" "class" "union"
+    "typedef" "typedef" "ignored" "ignored" "ignored" "typedef"
+    "boundary" "class" "class" "class" "class" "interface"
+    "control" "class" "class" "class" "class" "valuetype"
+    "entity" "class" "class" "class" "class" "valuetype"
+    "actor" "ignored" "ignored" "ignored" "ignored" "ignored"
+    "@interface" "ignored" "@interface" "ignored" "ignored" "ignored"
+    "stereotype" "ignored" "ignored" "ignored" "ignored" "ignored"
+  
+  cpp_enum_default_type_forms "${type}" "${type} &" "${type} &" "${type}" // in out inout return
+  other_cpp_types_default_type_forms "const ${type} &" "${type} &" "${type} &" "${type}" // in out inout return
+
+  cpp_default_h_content "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+  cpp_default_src_content "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+  cpp_default_class_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+  cpp_default_external_class_decl "${name}
+#include <${name}.h>
+"
+  cpp_default_struct_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+  cpp_default_union_decl "${comment}${template}union ${name} {
+${members}};
+${inlines}
+"
+  cpp_default_enum_decl "${comment}enum ${name} {
+${items}
+};
+"
+  cpp_default_typedef_decl "${comment}typedef ${type} ${name};
+"
+  cpp_default_attribute_declaration "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+" // multiplicity 1
+  "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+  "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
+" // multiplicity [..]
+  cpp_default_enum_item_declaration "  ${name}${value},${comment}"
+  cpp_association_aggregation_declaration
+    "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+" // multiplicity 1
+    "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
+" // multiplicity * a..b
+    "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
+" // multiplicity [..]
+  cpp_aggregation_by_value_declaration
+    "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+" // multiplicity 1
+    "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+    "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
+" // multiplicity [..]
+  cpp_get "get_${name}" inline const value_const public
+  cpp_set "set_${name}" public
+  cpp_default_operation_declaration "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+  cpp_default_operation_definition "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+  java_default_src_content "${comment}
+${package}
+${imports}
+${definition}"
+  java_default_class_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+  java_default_external_class_decl "${name}"
+  java_default_interface_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+  java5_default_enum_decl "${comment}${@}${visibility}${final}${abstract}enum ${name}${implements} {
+${items};
+${members}}
+"
+  java_default_enum_decl "${comment}${@}${visibility}final class ${name} {
+${members}
+  private final int value;
+
+  public int value() {
+    return value;
+  }
+
+  public static ${name} fromInt(int value) {
+    switch (value) {
+${cases}    default: throw new Error();
+    }
+
+  }
+  private ${name}(int v) { value = v; };
+}
+"
+  java_default_attribute_declaration "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+" // multiplicity 1
+  "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+  "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
+" // multiplicity N
+  java5_default_enum_item_declaration "  ${@}${name}${value},${comment}"
+  java_default_enum_item_declaration "  ${comment}${@}public static final int _${name}${value};
+public static final ${class} ${name} = new ${class}(_${name});
+"
+  java_default_enum_case "    case _${name}: return ${name};
+"
+  java_association_aggregation_declaration
+    "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+" // multiplicity 1
+    "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+    "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
+" // multiplicity N
+  java_get "get${Name}" final public
+  java_set "set${Name}" public
+  java_default_operation_definition "  ${comment}${@}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
+  ${body}}
+"
+  php_default_src_content "<?php
+${comment}
+${definition}
+?>
+"
+  php_default_class_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+  php_default_enum_decl "${comment}${visibility}final class ${name} {
+${items}}
+"
+  php_default_external_class_decl "${name}"
+  php_default_interface_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+  php_default_attribute_declaration "  ${comment}${visibility}${const}${static}${var}${name}${value};
+"
+  php_default_enum_item_decl "  const ${name}${value};${comment}
+"
+  php_default_relation_declaration"  ${comment}${visibility}${const}${static}${var}${name}${value};
+"
+  php_get "get${Name}" final
+  php_set "set${Name}"
+  php_default_operation_definition "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
+{
+  ${body}}
+"
+  python_2_2
+  python_indent_step "    "
+  python_default_src_content "${comment}
+${import}
+${definition}"
+  python_default_class_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+  python_default_enum_decl "class ${name}:
+${docstring}${members}
+"
+  python_default_external_class_decl "${name}"
+  python_default_attribute_declaration "${comment}${self}${name} = ${value}
+" // multiplicity 1
+  "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+  python_default_enum_item_decl "${comment}${self}${name} = ${value}
+"
+  python_default_relation_declaration"${comment}${self}${name} = ${value}
+" // multiplicity 1
+  "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+  python_default_composition_declaration"${comment}${self}${name} = ${type}()
+" // multiplicity 1
+  "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+  python_default_operation_definition "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+  python_default_initoperation_definition "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
+${docstring}super(${class}, ${p0}).__init__()
+${body}
+"
+  python_get "get${Name}"
+  python_set "set${Name}"
+  idl_default_src_content "#ifndef ${MODULE}_${NAME}_H
+#define ${MODULE}_${NAME}_H
+
+${comment}
+${includes}
+${module_start}
+${definition}
+${module_end}
+#endif
+"
+  idl_default_interface_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+  idl_default_valuetype_decl "${comment}${abstract}${custom}valuetype ${name}${inherit} {
+${members}};
+"
+  idl_default_struct_decl "${comment}struct ${name} {
+${members}};
+"
+  idl_default_typedef_decl "${comment}typedef ${type} ${name};
+"
+  idl_default_exception_decl "${comment}exception ${name} {
+${members}};
+"
+  idl_default_union_decl "${comment}union ${name} switch(${switch}) {
+${members}};
+"
+  idl_default_enum_decl "${comment}enum ${name} {
+${items}};
+"
+  idl_default_external_class_decl "${name}
+#include \"${name}.idl\"
+"
+  idl_default_attribute_declaration "  ${comment}${readonly}${attribute}${type} ${name};
+" // multiplicity 1
+  "  ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+  "  ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_default_valuetype_attribute_declaration "  ${comment}${visibility}${type} ${name};
+" // multiplicity 1
+  "  ${comment}${visibility}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+  "  ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_default_const_declaration "  ${comment}const ${type} ${name}${value};
+" // multiplicity 1
+  "  ${comment}const ${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+  "  ${comment}const ${stereotype}<${type},${multiplicity}> ${name}${value};
+" // multiplicity N
+  idl_default_enum_item_declaration "  ${name},${comment}"
+  idl_default_union_item_declaration "  ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
+  "  ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
+  "  ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
+  idl_association_aggregation_declaration
+    "  ${comment}${readonly}${attribute}${type} ${name};
+" // multiplicity 1
+    "  ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+    "  ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_valuetype_association_aggregation_declaration
+    "  ${comment}${visibility}${type} ${name};
+" // multiplicity 1
+    "  ${comment}${visibility}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+    "  ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_union_association_aggregation_declaration
+    "  ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
+    "  ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
+    "  ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
+  idl_get "get_${name}"
+  idl_set "set_${name}"  twoways
+  idl_default_operation_declaration "  ${comment}${oneway}${type} ${name}${(}${)}${raisesnl}${raises};
+"
+  uml_get_name uml uml_set_name uml
+end
diff --git a/bouml/idl_includes b/bouml/idl_includes
new file mode 100644
index 00000000..fceab64b
--- /dev/null
+++ b/bouml/idl_includes
@@ -0,0 +1 @@
+// "a type" "needed idl_includes"
diff --git a/bouml/java_imports b/bouml/java_imports
new file mode 100644
index 00000000..bbd370ac
--- /dev/null
+++ b/bouml/java_imports
@@ -0,0 +1 @@
+// "a type" "needed java_imports"
diff --git a/bouml/python_imports b/bouml/python_imports
new file mode 100644
index 00000000..4a1bd3a8
--- /dev/null
+++ b/bouml/python_imports
@@ -0,0 +1 @@
+// "a type" "needed python_imports"
diff --git a/bouml/stereotypes b/bouml/stereotypes
new file mode 100644
index 00000000..f5916d3e
--- /dev/null
+++ b/bouml/stereotypes
@@ -0,0 +1,59 @@
+
+  package_stereotypes  6 "facade" "framework" "model library" "stub" "toplevel" "profile"
+    -_-> 3 "access" "import" "from"
+  end
+  
+  class_stereotypes  19 "actor" "auxiliary" "boundary" "control" "entity" "enum" "enum_pattern" "exception" "focus" "implementationClass" "interface" "@interface" "metaclass" "stereotype" "struct" "type" "typedef" "union" "utility"
+    ---- 4 "list" "set" "vector" "map"
+    ---> 4 "list" "set" "vector" "map"
+    ---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"
+    o--- 4 "list" "set" "vector" "map"
+    *--- 4 "list" "set" "vector" "map"
+    o--> 4 "list" "set" "vector" "map"
+    *--> 4 "list" "set" "vector" "map"
+    -_-> 4 "friend" "from" "import" "instantiate"
+    -_-|> 1 "bind"
+  end
+  
+  use_case_stereotypes 6 "realization" "realization" "realization" "realization" "realization" "realization"
+  
+    ---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"
+    -_-> 2 "include" "extend"
+  end
+  
+  artifact_stereotypes  7 "document" "file" "script" "source" "text" "library" "executable"
+    -_-> 4 "deploy" "manifest" "import" "from"
+  end
+  
+  attribute_stereotypes  4 "list" "set" "vector" "map"
+  operation_stereotypes  0
+  state_stereotypes  3 "machine" "submachine" "top"
+  activity_stereotypes  0
+  flow_stereotypes  3 "interrupt" "multicast" "multireceive"
+  interruptibleactivityregion_stereotypes  0
+  pseudostate_stereotypes  0
+  stateaction_stereotypes  2 "send-signal" "receive-signal"
+  parameter_stereotypes  0
+  parameterset_stereotypes  0
+  activitynode_stereotypes  0
+  activityaction_stereotypes  0
+  activityobject_stereotypes  2 "datastore" "centralBuffer"
+  expansionregion_stereotypes  0
+  activitypartition_stereotypes  0
+  pin_stereotypes  0
+  component_stereotypes  6 "buildComponent" "entity" "implement" "process" "service" "subsystem"
+  deploymentnode_stereotypes  3 "cpu" "device" "executionEnvironment"
+  classview_stereotypes  0
+  usecaseview_stereotypes  0
+  componentview_stereotypes  0
+  deploymentview_stereotypes  0
+  classdiagram_stereotypes  0
+  seqdiagram_stereotypes  0
+  msg_stereotypes  0
+  coldiagram_stereotypes  0
+  usecasediagram_stereotypes  0
+  statediagram_stereotypes  0
+  activitydiagram_stereotypes  0
+  componentdiagram_stereotypes  0
+  deploymentdiagram_stereotypes  0
+end
diff --git a/bouml/tools b/bouml/tools
new file mode 100644
index 00000000..3579028b
--- /dev/null
+++ b/bouml/tools
@@ -0,0 +1,18 @@
+// 'tool' "the executable" "displayed string" {target}+
+tool "HTML documentation" "ghtml" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (flat)" "ghtml -flat" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (svg)" "ghtml -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "Generate .pro" "gpro" Artifact
+tool "Import Rose" "irose" Project Package
+tool "C++ utilities" "cpp_util" Class
+tool "Generate XMI 1.2" "gxmi" Project
+tool "Generate XMI 2.1" "gxmi2" Project
+tool "Import XMI 2.1" "ixmi2" Project Package
+tool "C++ state machine" "stmgen" State
+tool "Use case wizard" "usecasewizard" UseCase
+tool "Check-in" "file_control ci" Project Package
+tool "Check-out" "file_control co" Project Package
+tool "Deploy classes" "deplcl" ClassView
+tool "Global Change" "global_change" Class Project Package ClassView DeploymentView
+tool "Uml projection" "uml_proj" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue Project Package ClassView