document the internal structore of OutputSlot

...as far as decided and clarified by now
This commit is contained in:
Fischlurch 2011-12-20 04:59:00 +01:00
parent 7fc8473337
commit 74a982409e
14 changed files with 751 additions and 223 deletions

BIN
doc/devel/uml/fig151685.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -1,16 +1,16 @@
format 58
format 74
"Session" // ProcessingLayer::MObject::Session
revision 4
revision 6
modified_by 5 "hiv"
// class settings
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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
//use case diagram settings
package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode 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
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 show_class_context_mode default show_msg_context_mode 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
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_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
//component diagram settings
@ -28,13 +28,13 @@ format 58
classview 128005 "Session parts"
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_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
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 show_class_context_mode default show_msg_context_mode 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
@ -43,7 +43,7 @@ format 58
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 128133 "Session structure"
draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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
@ -846,7 +846,6 @@ ${members}};
python_decl ""
idl_decl ""
end
end
class 128773 "AbstractMO"
@ -1478,13 +1477,13 @@ ${inlines}
classview 131973 "Object ref"
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_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
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 show_class_context_mode default show_msg_context_mode 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
@ -1493,7 +1492,7 @@ ${inlines}
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 136581 "MObjectRef"
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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
@ -1625,13 +1624,13 @@ ${inlines}
classview 132101 "Datastructure"
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_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
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 show_class_context_mode default show_msg_context_mode 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
@ -1640,7 +1639,7 @@ ${inlines}
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 136453 "Session backbone"
draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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

View file

@ -1,16 +1,16 @@
format 58
format 74
"Play" // ProcessingLayer::Play
revision 3
revision 5
modified_by 5 "hiv"
// class settings
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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
//use case diagram settings
package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode 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
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 show_class_context_mode default show_msg_context_mode 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
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_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
//component diagram settings
@ -28,13 +28,13 @@ format 58
classview 136837 "PlayOut"
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_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
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 show_class_context_mode default show_msg_context_mode 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
@ -43,7 +43,12 @@ format 58
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 143877 "Player Entities"
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
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_context 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
classdiagram 151685 "Player Output"
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_context 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
@ -65,6 +70,276 @@ ${inlines}
idl_decl ""
explicit_switch_type ""
class 185221 "Allocation"
visibility protected
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
classrelation 223749 // <directional composition>
relation 212613 *-->
stereotype "for_each_channel"
a role_name "" protected
cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
classrelation_ref 223749 // <directional composition>
b parent class_ref 178565 // DataSink
end
operation 151301 "getOpenedSinks"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
operation 151429 "getTimings"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
end
classrelation 223621 // <dependency>
relation 212485 -_->
stereotype "when-in-use"
a package
cpp default "#include in source"
classrelation_ref 223621 // <dependency>
b parent class_ref 185221 // Allocation
end
operation 150917 "isFree"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
operation 151045 "allocate"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
operation 151173 "disconnect"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
end
class 178565 "DataSink"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
classrelation 223877 // <unidirectional association>
relation 212741 --->
stereotype "smart-Handle"
a role_name "" protected
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
classrelation_ref 223877 // <unidirectional association>
b parent class_ref 185349 // Connection
end
operation 150661 "lockBufferFor"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
operation 150789 "emit"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
end
class 185349 "Connection"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
operation 150277 "claimBufferFor"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
operation 150405 "transfer"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
operation 150533 "pushout"
public explicit_return_type ""
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
end
end
class 185477 "OutputSlotImpl"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
classrelation 224005 // <generalisation>
relation 212869 ---|>
a public
cpp default "${type}"
classrelation_ref 224005 // <generalisation>
b parent class_ref 176133 // OutputSlot
end
classrelation 224773 // <dependency>
relation 213637 -_->
a default
cpp default "#include in source"
classrelation_ref 224773 // <dependency>
b parent class_ref 185861 // ConnectionStateManager
end
end
class 176261 "Controller"
@ -354,7 +629,7 @@ ${inlines}
end
sequencediagram 145157 "output data exchange"
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
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 show_class_context_mode default show_msg_context_mode default
overlapping_bars size A4
end
@ -373,21 +648,6 @@ ${inlines}
end
class 178565 "DataSink"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
end
class 178693 "BufferProvider"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
@ -402,5 +662,99 @@ ${inlines}
explicit_switch_type ""
end
class 185605 "ConnectionState"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
classrelation 224133 // <realization>
relation 212997 -_-|>
a public
cpp default "${type}"
classrelation_ref 224133 // <realization>
b parent class_ref 185221 // Allocation
end
end
class 185733 "ConcreteConnection"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
classrelation 224261 // <realization>
relation 213125 -_-|>
a public
cpp default "${type}"
classrelation_ref 224261 // <realization>
b parent class_ref 185349 // Connection
end
classrelation 224901 // <unidirectional association>
relation 213765 --->
a role_name "" protected
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
classrelation_ref 224901 // <unidirectional association>
b parent class_ref 178693 // BufferProvider
end
end
class 185861 "ConnectionStateManager"
visibility package
nformals 1
formal name "CON" type "class" explicit_default_value ""
explicit_extends ""
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
php_decl ""
python_2_2 python_decl ""
idl_decl ""
explicit_switch_type ""
classrelation 224389 // <generalisation>
relation 213253 ---|>
a public
cpp default "${type}"
classrelation_ref 224389 // <generalisation>
b parent class_ref 185605 // ConnectionState
end
classrelation 224517 // <dependency>
relation 213381 -_->
a default
cpp default "#include in source"
classrelation_ref 224517 // <dependency>
b parent class_ref 185733 // ConcreteConnection
end
classrelation 224645 // <dependency>
relation 213509 -_->
a default
cpp default "#include in source"
classrelation_ref 224645 // <dependency>
b parent class_ref 185733 // ConcreteConnection
end
end
end
end

View file

@ -1,39 +1,39 @@
format 58
format 74
classcanvas 128005 class_ref 152069 // PlacementIndex
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 410 14 2000
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_context 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 420.5 15.9 2000
end
classcanvas 128261 class_ref 145541 // Timeline
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 43 87 2000
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_context 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.8 88.8 2000
end
classcanvas 129029 class_ref 152197 // Sequence
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 124 194 2000
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_context 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 130 195.9 2000
end
classcanvas 129157 class_ref 152325 // Binding
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 124 87 2000
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_context 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 130.2 88.8 2000
end
classcanvas 129285 class_ref 128389 // Track
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 247 194 3005
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_context 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 248 195.9 3005
end
classcanvas 130437 class_ref 128005 // SessionImpl
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 34 15 3005
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_context 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 43.4 16.2 3005
end
classcanvas 130821 class_ref 167429 // BusMO
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 229 88 2000
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_context 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 233.8 89.1 2000
end
classcanvas 131077 class_ref 138117 // Pipe
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 318 88 3005
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_context 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 318 89.1 3005
end
textcanvas 131845 "»global pipes«"
xyzwh 245 73 2005 69 13
xyzwh 245.9 73.9 2005 69 13
relationcanvas 129797 relation_ref 193413 // <unidirectional association>
decenter_end 409
from ref 129157 z 1999 to ref 129029
@ -52,7 +52,7 @@ relationcanvas 130309 relation_ref 193669 // <dependency>
end
relationcanvas 130565 relation_ref 184709 // <directional composition>
from ref 130437 z 1999 to ref 128261
role_a_pos 80 69 3000 no_role_b
role_a_pos 87 71 3000 no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 130693 relation_ref 193797 // <unidirectional association>

View file

@ -1,97 +1,97 @@
format 58
format 74
classinstancecanvas 128005 classinstance_ref 138373 //
xyz 32 157 2000
xyz 32.7 158.8 2000 show_context_mode no
end
classinstancecanvas 128133 classinstance_ref 138501 //
xyz 200 157 2000
xyz 200.5 158.8 2000 show_context_mode no
end
classinstancecanvas 128261 classinstance_ref 138629 //
xyz 200 211 2000
xyz 200.5 212.2 2000 show_context_mode no
end
classinstancecanvas 128389 classinstance_ref 138757 //
xyz 236 252 2000
xyz 236.1 253.3 2000 show_context_mode no
end
classinstancecanvas 128517 classinstance_ref 138885 //
xyz 236 279 2000
xyz 236.1 280 2000 show_context_mode no
end
classinstancecanvas 128645 classinstance_ref 139013 //
xyz 236 307 2000
xyz 236.1 308.8 2000 show_context_mode no
end
classinstancecanvas 128773 classinstance_ref 139141 //
xyz 33 211 2000
xyz 37.2 212.2 2000 show_context_mode no
end
classinstancecanvas 128901 classinstance_ref 139269 //
xyz 96 211 2000
xyz 100.1 212.2 2000 show_context_mode no
end
classinstancecanvas 130693 classinstance_ref 139397 //
xyz 319 191 2000
xyz 323.8 192.2 2000 show_context_mode no
end
classinstancecanvas 130949 classinstance_ref 139525 //
xyz 313 157 2000
xyz 317.8 158.8 2000 show_context_mode no
end
classinstancecanvas 131333 classinstance_ref 139653 //
xyz 319 308 2000
xyz 319.4 309.9 2000 show_context_mode no
end
classinstancecanvas 131461 classinstance_ref 139781 //
xyz 276 346 2000
xyz 276.1 347.7 2000 show_context_mode no
end
classinstancecanvas 131589 classinstance_ref 139909 //
xyz 393 343 2000
xyz 393.8 344.4 2000 show_context_mode no
end
classinstancecanvas 131717 classinstance_ref 140037 //
xyz 393 274 2005
xyz 393.8 275.5 2005 show_context_mode no
end
classinstancecanvas 132741 classinstance_ref 140165 //
xyz 319 91 2004
xyz 319.4 92.2 2004 show_context_mode no
end
classinstancecanvas 133125 classinstance_ref 140293 //
xyz 236 129 2009
xyz 236.1 130 2009 show_context_mode no
end
classinstancecanvas 133637 classinstance_ref 140421 //
xyz 503 308 2000
xyz 503.8 309.9 2000 show_context_mode no
end
classinstancecanvas 133893 classinstance_ref 140677 //
xyz 492 252 2000
xyz 497.5 253.3 2000 show_context_mode no
end
classinstancecanvas 134021 classinstance_ref 140805 //
xyz 562 129 2000
xyz 566.1 130 2000 show_context_mode no
end
classinstancecanvas 134789 classinstance_ref 141189 //
xyz 319 53 2000
xyz 319.4 54.4 2000 show_context_mode no
end
classinstancecanvas 135173 classinstance_ref 141317 //
xyz 562 91 2000
xyz 566.1 92.2 2000 show_context_mode no
end
classinstancecanvas 135301 classinstance_ref 141445 //
xyz 562 53 2005
xyz 566.1 54.4 2005 show_context_mode no
end
fragment 135813 "TypedLookup"
xyzwh 532 23 1994 148 137
xyzwh 531.5 23.3 1994 148 137
end
classinstancecanvas 136197 classinstance_ref 141573 // plugin1
xyz 490 342 2000
xyz 495.4 343.3 2000 show_context_mode no
end
classinstancecanvas 136325 classinstance_ref 141701 // plugin2
xyz 490 396 2000
xyz 495.4 397.7 2000 show_context_mode no
end
classinstancecanvas 137221 classinstance_ref 141829 //
xyz 32 263 2000
xyz 36.4 264.4 2000 show_context_mode no
end
packagecanvas 137477
package_ref 128133 // Asset
name_in_tab yes color verylightorange xyzwh 470 183 1989 213 254
name_in_tab yes color verylightorange xyzwh 470.6 181.8 1989 213 254
end
packagecanvas 137605
package_ref 132229 // Session
name_in_tab yes xyzwh 15 25 1984 456 408
name_in_tab yes xyzwh 15.2 23.7 1984 456 408
end
note 137733 "top-level Timeline"
xyzwh 91 263 2000 64 45
xyzwh 90.6 263.5 2000 64 45
note 137861 "virtual clip"
xyzwh 393 235 2010 69 35
xyzwh 393.1 235.6 2010 69 35
classinstancecanvas 138117 classinstance_ref 139653 //
xyz 319 252 2015
xyz 319.4 253.3 2015 show_context_mode no
end
objectlinkcanvas 129029 norel
from ref 128773 z 1999 to ref 128901
@ -161,7 +161,7 @@ objectlinkcanvas 138373 norel
no_role_a no_role_b
objectlinkcanvas 138885 norel
decenter_begin 205
from ref 133893 z 1999 to point 411 198
from ref 133893 z 1999 to point 411.3 199
line 139013 z 1999 to ref 130693
no_role_a no_role_b
line 130565 -_-_

View file

@ -1,56 +1,56 @@
format 58
format 74
classcanvas 128005 class_ref 176133 // OutputSlot
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 349 106 2000
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_context 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 356.7 107.5 2000
end
classcanvas 128133 class_ref 176261 // Controller
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 71 172 2000
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_context 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 78.4 173.3 2000
end
classcanvas 128261 class_ref 176389 // PlayProcess
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 143 222 2000
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_context 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 150.8 223.3 2000
end
classcanvas 128389 class_ref 176517 // OutputManager
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 472 47 2000
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_context 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 482.8 48.8 2000
end
classcanvas 128517 class_ref 176645 // OutputDirector
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 474 165 2000
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_context 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 484.8 166.2 2000
end
classcanvas 129541 class_ref 176773 // ModelPort
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 355 266 2000
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_context 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 362.9 267.5 2000
end
classcanvas 129669 class_ref 176901 // CalcStream
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 207 380 2000
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_context 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 207.4 381.7 2000
end
classcanvas 129797 class_ref 177029 // Dispatcher
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 355 381 2000
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_context 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 362.2 382 2000
end
fragment 130053 "output management"
xyzwh 299 17 2000 324 218
xyzwh 299 16.5 2000 324 218
end
fragment 130181 "Model / Fixture"
xyzwh 299 239 1995 323 91
xyzwh 299 239.2 1995 323 91
end
fragment 130309 "Player"
xyzwh 16 87 1990 274 243
xyzwh 15.6 87.4 1990 274 243
end
classcanvas 130437 class_ref 177157 // PlayService
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 40 118 2005
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_context 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 46.3 119.1 2005
end
fragment 130565 "Engine"
xyzwh 16 346 1995 606 208
xyzwh 16.4 345.7 1995 606 208
end
classcanvas 130693 class_ref 177285 // Feed
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_multiplicity default show_members_initialization 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_infonote default shadow default show_stereotype_properties default
xyz 218 273 2000
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_context 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 218 274.6 2000
end
relationcanvas 128645 relation_ref 205445 // <realization>
from ref 128517 z 1999 to ref 128389
@ -59,15 +59,15 @@ relationcanvas 128645 relation_ref 205445 // <realization>
end
relationcanvas 128773 relation_ref 205573 // <directional aggregation>
geometry HVH
from ref 128389 z 1999 to point 439 64
line 129285 z 1999 to point 439 123
from ref 128389 z 1999 to point 453 64
line 129285 z 1999 to point 453 138
line 129413 z 1999 to ref 128005
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 130821 relation_ref 205701 // <directional composition>
geometry VH
from ref 128261 z 1999 to point 178 290
from ref 128261 z 1999 to point 183 290
line 130949 z 1999 to ref 130693
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
@ -83,6 +83,6 @@ relationcanvas 131205 relation_ref 205957 // <unidirectional association>
no_multiplicity_a no_multiplicity_b
end
line 131333 -_-_ geometry VH
from ref 128133 z 1999 to point 99 239
from ref 128133 z 1999 to point 105 239
line 131461 z 1999 to ref 128261
end

View file

@ -1,59 +1,59 @@
format 58
format 74
classinstancecanvas 128005 classinstance_ref 145669 //
xyz 41 85 2000
xyz 46.7 86.6 2000 show_context_mode no
end
classinstancecanvas 128133 classinstance_ref 145797 //
xyz 105 142 2000
xyz 112.7 143.3 2000 show_context_mode no
end
classinstancecanvas 128261 classinstance_ref 145925 //
xyz 171 173 2000
xyz 171.6 174.4 2000 show_context_mode no
end
classinstancecanvas 128389 classinstance_ref 146053 //
xyz 171 240 2000
xyz 171.6 241.1 2000 show_context_mode no
end
classinstancecanvas 128517 classinstance_ref 146181 // video-L
xyz 233 194 2000 color lightgreen
xyz 242.4 195.5 2000 color lightgreen show_context_mode no
end
classinstancecanvas 128645 classinstance_ref 146309 // video-R
xyz 233 216 2000 color lightgreen
xyz 243.5 217.7 2000 color lightgreen show_context_mode no
end
classinstancecanvas 128773 classinstance_ref 146437 // sound-W
xyz 233 269 2000 color lightgreen
xyz 243.8 270 2000 color lightgreen show_context_mode no
end
classinstancecanvas 128901 classinstance_ref 146565 // sound-X
xyz 233 291 2000 color lightgreen
xyz 242.6 292.2 2000 color lightgreen show_context_mode no
end
classinstancecanvas 129029 classinstance_ref 146693 // sound-Y
xyz 233 313 2000 color lightgreen
xyz 242.6 314.4 2000 color lightgreen show_context_mode no
end
classinstancecanvas 132101 classinstance_ref 146821 //
xyz 420 269 2000 color lightblue
xyz 425.6 270 2000 color lightblue show_context_mode no
end
classinstancecanvas 132229 classinstance_ref 146949 //
xyz 420 194 2000 color lightblue
xyz 425.6 195.5 2000 color lightblue show_context_mode no
end
note 132357 "stateless (functional)"
xyzwh 348 140 2000 124 35
xyzwh 347.7 140.1 2000 124 35
note 132485 "stateful"
color verylightorange xyzwh 131 85 2000 72 36
color verylightorange xyzwh 130.8 84.6 2000 72 36
classinstancecanvas 132613 classinstance_ref 147077 //
xyz 233 23 2000
xyz 237 24.4 2000 show_context_mode no
end
classinstancecanvas 132741 classinstance_ref 147205 //
xyz 233 46 2000
xyz 237 47.7 2000 show_context_mode no
end
classinstancecanvas 132869 classinstance_ref 148357 // sound-Z
xyz 233 335 2000 color lightgreen
xyz 242.6 336.6 2000 color lightgreen show_context_mode no
end
objectlinkcanvas 129285 norel
geometry VH
from ref 128133 z 1999 to point 139 181
from ref 128133 z 1999 to point 144 181
line 129413 z 1999 to ref 128261
no_role_a no_role_b
objectlinkcanvas 129541 norel
geometry VH
from ref 128133 z 1999 to point 139 248
from ref 128133 z 1999 to point 144 248
line 129797 z 1999 to ref 128389
no_role_a no_role_b
objectlinkcanvas 129925 norel
@ -83,7 +83,7 @@ objectlinkcanvas 130949 norel
no_role_a no_role_b
objectlinkcanvas 131845 norel
geometry VH
from ref 128005 z 1999 to point 68 150
from ref 128005 z 1999 to point 74 150
line 131973 z 1999 to ref 128133
no_role_a no_role_b
objectlinkcanvas 132997 norel

View file

@ -1,130 +1,130 @@
format 58
format 74
classinstance 128005 class_ref 178437 // Client
name "" xyz 53 4 2000 life_line_z 2000
name "" xyz 53.1 3.7 2000 life_line_z 2000
classinstance 128133 class_ref 176133 // OutputSlot
name "" xyz 281 5 2000 life_line_z 2000
name "" xyz 285.4 5 2000 life_line_z 2000
classinstance 128261 class_ref 178565 // DataSink
name "" xyz 140 28 2000 life_line_z 2000
name "" xyz 143.6 27.9 2000 life_line_z 2000
classinstance 128389 class_ref 178693 // BufferProvider
name "" xyz 463 5 2000 life_line_z 2000
name "" xyz 471.5 5 2000 life_line_z 2000
fragment 131845 "client side"
xyzwh 41 28 1995 156 279
xyzwh 41.4 28.1 1995 156 279
end
fragment 131973 "output implementation"
xyzwh 281 29 1995 262 277
xyzwh 281.3 29.1 1995 262 277
end
durationcanvas 128517 classinstance_ref 128005 // :Client
xyzwh 72 83 2010 11 52
xyzwh 72 81.7 2010 11 52
end
durationcanvas 129541 classinstance_ref 128005 // :Client
xyzwh 72 211 2010 11 41
xyzwh 72 211.1 2010 11 41
end
durationcanvas 129669 classinstance_ref 128261 // :DataSink
xyzwh 162 238 2010 11 25
xyzwh 166 238 2010 11 25
end
durationcanvas 129925 classinstance_ref 128133 // :OutputSlot
xyzwh 307 242 2010 11 63
xyzwh 313 242.3 2010 11 63
overlappingdurationcanvas 133637
xyzwh 313 272 2020 11 28
xyzwh 319 271.5 2020 11 28
end
end
durationcanvas 130309 classinstance_ref 128389 // :BufferProvider
xyzwh 497 250 2010 11 26
xyzwh 507 250.2 2010 11 26
end
durationcanvas 131333 classinstance_ref 128133 // :OutputSlot
xyzwh 307 85 2010 11 34
xyzwh 313 85.1 2010 11 34
end
durationcanvas 132101 classinstance_ref 128261 // :DataSink
xyzwh 162 107 2010 11 25
xyzwh 166 107.9 2010 11 25
end
durationcanvas 132485 classinstance_ref 128005 // :Client
xyzwh 72 167 2010 11 27
end
durationcanvas 132613 classinstance_ref 128261 // :DataSink
xyzwh 162 169 2010 11 25
xyzwh 166 169.1 2010 11 25
end
durationcanvas 132869 classinstance_ref 128133 // :OutputSlot
xyzwh 307 173 2010 11 25
xyzwh 313 173.5 2010 11 25
end
durationcanvas 133125 classinstance_ref 128005 // :Client
xyzwh 72 211 2010 11 29
xyzwh 72 211.5 2010 11 29
end
durationcanvas 133381 classinstance_ref 128389 // :BufferProvider
xyzwh 497 180 2010 11 25
xyzwh 507 180.2 2010 11 25
end
durationcanvas 133893 classinstance_ref 128389 // :BufferProvider
xyzwh 497 280 2010 11 25
xyzwh 507 280.2 2010 11 25
end
msg 129797 synchronous
from durationcanvas_ref 129541
to durationcanvas_ref 129669
yz 238 2015 explicitmsg "emit()"
show_full_operations_definition default drawing_language default
label_xy 109 230
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 110 231
msg 130053 synchronous
from durationcanvas_ref 129669
to durationcanvas_ref 129925
yz 242 2020 explicitmsg "transfer()"
show_full_operations_definition default drawing_language default
label_xy 217 234
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 220 235
msg 130437 synchronous
from durationcanvas_ref 129925
to durationcanvas_ref 130309
yz 250 2030 explicitmsg "transition to EMITTED"
show_full_operations_definition default drawing_language default
label_xy 374 243
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 383 244
msg 131461 synchronous
from durationcanvas_ref 128517
to durationcanvas_ref 131333
yz 85 2015 explicitmsg "allocate()"
show_full_operations_definition default drawing_language default
label_xy 102 75
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 105 76
msg 132229 synchronous
from durationcanvas_ref 131333
to durationcanvas_ref 132101
yz 108 2020 explicitmsg "create DataSink"
show_full_operations_definition default drawing_language default
label_xy 201 99
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 208 100
msg 132357 return
from durationcanvas_ref 132101
to durationcanvas_ref 128517
yz 116 2025 explicitmsg "DataSink"
show_full_operations_definition default drawing_language default
label_xy 101 121
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 105 122
msg 132741 synchronous
from durationcanvas_ref 132485
to durationcanvas_ref 132613
yz 169 2015 explicitmsg "lockBuffer()"
show_full_operations_definition default drawing_language default
label_xy 97 159
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 102 160
msg 132997 synchronous
from durationcanvas_ref 132613
to durationcanvas_ref 132869
yz 175 2020 explicitmsg "lock()"
show_full_operations_definition default drawing_language default
label_xy 225 165
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 227 166
reflexivemsg 133253 synchronous
to durationcanvas_ref 133125
yz 211 2020 explicitmsg "generate Data"
show_full_operations_definition default drawing_language default
label_xy 84 199
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 90 200
msg 133509 synchronous
from durationcanvas_ref 132869
to durationcanvas_ref 133381
yz 180 2025 explicitmsg "transition to LOCKED"
show_full_operations_definition default drawing_language default
label_xy 374 173
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 383 174
reflexivemsg 133765 synchronous
to durationcanvas_ref 133637
yz 272 2040 explicitmsg "pushout()"
show_full_operations_definition default drawing_language default
label_xy 325 260
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 328 261
msg 134021 synchronous
from durationcanvas_ref 133637
to durationcanvas_ref 133893
yz 289 2025 explicitmsg "transition to FREE"
show_full_operations_definition default drawing_language default
label_xy 374 282
show_full_operations_definition default drawing_language default show_context_mode default
label_xy 381 283
preferred_whz 586 416 1
end

114
uml/lumiera/151685.diagram Normal file
View file

@ -0,0 +1,114 @@
format 74
classcanvas 128005 class_ref 176133 // OutputSlot
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_context 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 157.7 37 2000
end
fragment 128261 "output management"
xyzwh 123 14 1990 244 292
end
classcanvas 129029 class_ref 185221 // Allocation
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_context 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 260 126 2005
end
classcanvas 129541 class_ref 178565 // DataSink
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_context 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 14 191 2005
end
classcanvas 129925 class_ref 185349 // Connection
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_context 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 443 184 2000
end
classcanvas 130309 class_ref 185477 // OutputSlotImpl
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_context 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
color green
xyz 149 422 2000
end
classcanvas 130565 class_ref 185605 // ConnectionState
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_context 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 261 250 2000
end
classcanvas 130949 class_ref 185733 // ConcreteConnection
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_context 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
color lightgreen
xyz 432 357 2000
end
classcanvas 131205 class_ref 185861 // ConnectionStateManager
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_context 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 240 351 2000
end
classcanvas 132613 class_ref 178693 // BufferProvider
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_context 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 534 456 2000
end
fragment 132997 "concrete output driver"
xyzwh 123 309 1995 508 205
end
note 133125 "Client
front-end"
xyzwh 15 270 2000 75 43
note 133381 "Knowledge specific to this external output and driver"
xyzwh 564 338 2000 129 57
relationcanvas 129157 relation_ref 212485 // <dependency>
decenter_begin 726
from ref 128005 z 2006 stereotype "<<when-in-use>>" xyz 229 73 3000 to point 227 82
line 132485 z 2006 to point 295 82
line 132357 z 2006 to ref 129029
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 129669 relation_ref 212613 // <directional composition>
geometry HV
from ref 129029 z 2006 stereotype "<<for_each_channel>>" xyz 70 155 3000 to point 52 153
line 130821 z 2006 to ref 129541
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
line 130053 ---+ decenter_end 876
from ref 129029 z 2006 to ref 128005
relationcanvas 130181 relation_ref 212741 // <unidirectional association>
from ref 129541 z 2006 stereotype "<<smart-Handle>>" xyz 92 206 3000 to ref 129925
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 130437 relation_ref 212869 // <generalisation>
from ref 130309 z 2001 to ref 128005
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 130693 relation_ref 212997 // <realization>
from ref 130565 z 2006 to ref 129029
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 131077 relation_ref 213125 // <realization>
from ref 130949 z 2001 to ref 129925
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 131333 relation_ref 213253 // <generalisation>
from ref 131205 z 2001 to ref 130565
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 131717 relation_ref 213509 // <dependency>
from ref 131205 z 2001 to ref 130949
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 131845 relation_ref 213637 // <dependency>
geometry HV
decenter_end 197
from ref 130309 z 2001 to point 264 438
line 132101 z 2001 to ref 131205
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
relationcanvas 132741 relation_ref 213765 // <unidirectional association>
from ref 130949 z 2001 to point 574 423
line 133253 z 2001 to ref 132613
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
end
preferred_whz 723 654 1
end

View file

@ -1,4 +1,4 @@
window_sizes 1615 1020 270 1335 872 71
window_sizes 1619 1028 270 1339 881 71
diagrams
classdiagram_ref 136453 // Session backbone
631 352 100 4 0 0
@ -8,8 +8,10 @@ diagrams
663 648 100 4 0 0
objectdiagram_ref 144005 // Play Process Structure
562 424 100 4 0 0
active sequencediagram_ref 145157 // output data exchange
sequencediagram_ref 145157 // output data exchange
586 416 100 4 0 0
active classdiagram_ref 151685 // Player Output
723 654 100 4 0 0
end
show_stereotypes
selected
@ -18,7 +20,13 @@ open
package_ref 128005 // design
classview_ref 128389 // Controller Workings
classview_ref 136837 // PlayOut
class_ref 185221 // Allocation
class_ref 178565 // DataSink
class_ref 185349 // Connection
class_ref 185477 // OutputSlotImpl
class_ref 178693 // BufferProvider
package_ref 132229 // Session
class_ref 153733 // QueryFocusStack
usecaseview_ref 128261 // config examples

View file

@ -244,6 +244,10 @@ ${docstring}${members}
" // 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}"

View file

@ -1,6 +1,6 @@
format 58
format 74
"lumiera"
revision 71
revision 73
modified_by 5 "hiv"
cpp_root_dir "../../src/"
@ -9,13 +9,13 @@ format 58
// class settings
default_attribute_visibility protected default_relation_visibility protected default_operation_visibility public
//class diagram settings
draw_all_relations yes hide_attributes no hide_operations no show_members_full_definition no show_members_visibility no show_members_stereotype no show_members_multiplicity no show_members_initialization no member_max_width 127 show_parameter_dir yes show_parameter_name yes package_name_in_tab yes class_drawing_mode natural drawing_language uml show_context_mode no auto_label_position yes show_infonote no shadow yes show_stereotype_properties no
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_context 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 yes 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
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 show_class_context_mode no show_msg_context_mode 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
show_full_operations_definition no show_hierarchical_rank no write_horizontally yes drawing_language uml package_name_in_tab no show_context no show_msg_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
@ -31,8 +31,8 @@ format 58
package_name_in_tab yes show_context no show_opaque_action_definition yes 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 lightgreen activityregion_color transparent activityaction_color mediumgreen parameterpin_color white
font_size 8
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 lightgreen activityregion_color transparent activitypartition_color transparent activityaction_color mediumgreen parameterpin_color white
font_size 7
diagram_format A4
mark_for_import

View file

@ -36,6 +36,8 @@
activitynode_stereotypes 0
activityaction_stereotypes 0
activityobject_stereotypes 2 "datastore" "centralBuffer"
expansionregion_stereotypes 0
activitypartition_stereotypes 0
pin_stereotypes 0
component_stereotypes 7 "build" "component" "entity" "implement" "process" "service" "subsystem"
deploymentnode_stereotypes 2 "cpu" "device"
@ -45,6 +47,7 @@
deploymentview_stereotypes 0
classdiagram_stereotypes 0
seqdiagram_stereotypes 0
msg_stereotypes 0
coldiagram_stereotypes 0
usecasediagram_stereotypes 0
statediagram_stereotypes 0

View file

@ -1839,14 +1839,18 @@ When building the low-level model, the actual processing code is resolved and a
Initially, only the parameter (descriptors) are present on the effect ~MObject, while the actual [[parameter providers|ParamProvider]] are created or wired (by the ConManager) on demand.
</pre>
</div>
<div title="EngineFaçade" modifier="Ichthyostega" modified="201108141650" created="201105222328" tags="Rendering overview spec" changecount="5">
<div title="EngineFaçade" modifier="Ichthyostega" modified="201112190142" created="201105222328" tags="Rendering overview spec" changecount="8">
<pre>The primary interface used by the upper application layers to interact with the render engine, to create and manage ongoing [[calculation streams|CalcStream]].
Below this facade, there is a thin adaptadion and forwarding layer, mainly talking to
* the individual [[Calculation Streams|CalcStream]] created for each PlayProcess.
* the FrameDispatcher, which translates such streams into a series of RenderJob entries
* the [[Scheduler]], which is responsible to perform these jobs in a timely fashion
</pre>
!Quality of Service
Within the Facade, there is the definition of the {{{EngineService::Quality}}} tag, alongside with several pre-defined quality settings.
Actually this interface is a strategy, allowing to define quite specific quality levels, in case we need that. Clients can usually just use
these ~QoS-tags like enum values (they are copyable), without caring for the engine implementation related details.</pre>
</div>
<div title="EntryID" modifier="Ichthyostega" modified="201012300036" created="201012300026" tags="def Types" changecount="5">
<pre>A general identification scheme, ombining a human readable symbolic name, unique within a //specifically typed context,// and machine readable hash ID (LUID). ~Entry-IDs allow for asset-like position accounting and for type safe binding between configuration rules and model obects. They allow for creating an entry with symbolic id and distinct type, combined with an derived hash value, without the overhead in storage and instance management imposed by using a full-fledged Asset.
@ -3444,7 +3448,7 @@ Thus the mapping is a copyable value object, based on a associative array. It ma
First and foremost, mapping can be seen as a //functional abstraction.// As it's used at implementation level, encapsulation of detail types in't the primary concern, so it's a candidate for generic programming: For each of those use cases outlined above, a distinct mapping type is created by instantiating the {{{OutputMapping&lt;DEF&gt;}}} template with a specifically tailored definition context ({{{DEF}}}), which takes on the role of a strategy. Individual instances of this concrete mapping type may be default created and copied freely. This instantiation process includes picking up the concrete result type and building a functor object for resolving on the fly. Thus, in the way typical for generic programming, the more involved special details are moved out of sight, while being still in scope for the purpose of inlining. But there //is// a concern better to be encapsulated and concealed at the usage site, namely accessing the rules system. Thus mapping leads itself to the frequently used implementation pattern where there is a generic frontend as header, calling into opaque functions embedded within a separate compilation unit.
</pre>
</div>
<div title="OutputSlot" modifier="Ichthyostega" modified="201111042355" created="201106162339" tags="def Concepts Player spec" changecount="40">
<div title="OutputSlot" modifier="Ichthyostega" modified="201112200358" created="201106162339" tags="def Concepts Player spec img" changecount="49">
<pre>Within the Lumiera player and output subsystem, actually sending data to an external output requires to allocate an ''output slot''
This is the central metaphor for the organisation of actual (system level) outputs; using this concept allows to separate and abstract the data calculation and the organisation of playback and rendering from the specifics of the actual output sink. Actual output possibilities (video in GUI window, video fullscreen, sound, Jack, rendering to file) can be added and removed dynamically from various components (backend, GUI), all using the same resolution and mapping mechanisms (&amp;rarr; OutputManagement)
@ -3453,17 +3457,76 @@ Each OutputSlot is an unique and distinguishable entity. It corresponds explicit
In order to be usable as //output sink,// an output slot needs to be //allocated,// i.e. tied to and locked for a specific client. At any time, there may be only a single client using a given output slot this way. To stress this point: output slots don't provide any kind of inherent mixing capability; any adaptation, mixing, overlaying and sharing needs to be done within the nodes network producing the output data fed to the slot. (in special cases, some external output capabilities -- e.g. the Jack audio connection system -- may still provide additional mixing capabilities, but that's beyond the scope of the Lumiera application)
[&gt;img[Outputslot implementation structures|uml/fig151685.png]]
Once allocated, the output slot returns a set of concrete ''sink handles'' (one for each physical channel expecting data). The calculating process feeds its results into those handles. Size and other characteristics of the data frames are assumed to be suitable, which typically won't be verified at that level anymore (but the sink handle provides a hook for assertions). Besides that, the allocation of an output slot reveals detailed ''timing expectations''. The client is required to comply to these timings when ''emitting'' data -- he's even required to provide a //current time specification,// alongside with the data. Yet the output slot has the ability to handle timing failures gracefully; the concrete output slot implementation is expected to provide some kind of de-click or de-flicker facility, which kicks in automatically when a timing failure is detected.
!!!data exchange models
!!!usage and implementation
Clients retrieve just a reference to an output slot by asking a suitable OutputManager for an output possibility supporting a specific format. Usually, they just &quot;claim&quot; this slot by invoking {{{allocate()}}}, which behind the scenes causes building of the actual output connections and mechanisms. For each such connection -- corresponding to a single channel within the media format handled by this ~OutputSlot -- the client gets a smart-handle {{{DataSink}}}. The concrete ~OutputSlot implementation performs operations quite specific to the kind of output and external interface in question. All tese specific handling is embodied within the concrete connection implementation used by the concrete ~OutputSlot
!!!timing expectations
Besides the sink handles, allocation of an output slot defines some timing constraints, which are binding for the client. These [[Timings]] are detailed and explicit, including a grid of deadlines for each frame to deliver, plus a fixed //latency.// Within this context, &amp;raquo;latency&amp;laquo; means the requirement to be ahead of the nominal time by a certain amount, to compensate for the processing time necessary to propagate the media to the physical output pin. The output slot implementation itself is bound by external constraints to deliver data at a fixed framerate and aligned to an externally defined timing grid, plus the data needs to be handed over ahead of these time points by an time amount given by the latency. Depending on the data exchange model, there is an additional time window limiting the buffer management.
The assumption is for the client to have elaborate timing capabilities at his disposal. More specifically, the client is assumed to be a job running within the engine scheduler and thus can be configured to run //after// another job has finished, and to run within certain time limits. Thus the client is able to provide a //current nominal time// -- which is suitably close to the actual wall clock time. The output slot implementation can be written such as to work out from this time specification if the call is timely or overdue -- and react accordingly.
!!!Lifecycle and storage
The concrete OutputSlot implementation is owned and managed by the facility actually providing the output possibility in question. For example, the GUI provides viewer widgets, while some sound output backend provides sound ports. The associated OutputSlot implementation object is required to stay alive as long as it's registered with some OutputManager. It needs to be de-registered explicitly prior to destruction -- and this deregistration may block until all clients using this slot did terminate. Beyond that, an output slot implementation is expected to handle all kinds of failures gracefully -- preferably just emitting a signal (callback functor).
{{red{TODO 7/11: Deregistration is an unsolved problem....}}}
!!!unified data exchange cycle
The planned delivery time of a frame is used as an ID throughout that cycle
# within a defined time window prior to delivery, the client can ''allocate and retrieve the buffer'' from the BufferProvider.
# the client has to ''emit'' within a (short) time window prior to deadline
# now the slot gets exclusive access to the buffer for output, signalling the buffer release to the buffer provider when done.
!!!lapses
This data exchange protocol operates on a rather low level; there is only limited protection against timing glitches
| !step|!problem ||!consequences | !protection |
| (1)|out of time window ||interference with previous/later use of the buffer | prevent in scheduler! |
|~|does not happen ||harmless as such | emit ignored |
|~|buffer unavailable ||inhibits further operation | ↯ |
| (2)|out of time window ||harmless as such | emit ignored |
|~|out of order ||allowed, unless out of time | -- |
|~|does not happen ||frame treated as glitch | -- |
|~|buffer unallocated ||frame treated as glitch | emit ignored |
| (3)|emit missing ||frame treated as glitch | -- |
|~|fail to release buffer ||unable to use buffer further | mark unavailable |
|~|buffer unavailable ||serious malfunction of playback | request playback stop |
Thus there are two serious problem situations
* allocating the buffer out of time window bears the danger of output data corruption; but the general assumption is for the scheduler to ensure each job start time remains within the defined window and all prerequisite jobs have terminated successfully. To handle clean-up, we additionally need special jobs running always, in order, and be notified of prerequisite failures.
* failure to release a buffer in a timely fashion blocks any further use of that buffer, any further jobs in need of that buffer will die immediately. This situation can only be caused by a serious problem //within the slot, related to the output mechanism.// Thus there should be some kind of trigger (e.g. when this happens 2 times consecutively) to request aborting the playback or render as a whole.
&amp;rarr; SchedulerRequirements
&amp;rarr; OutputSlotDesign
&amp;rarr; OutputSlotImpl
</pre>
</div>
<div title="OutputSlotDesign" modifier="Ichthyostega" created="201112190322" tags="design decision" changecount="1">
<pre>The OutputSlot interface describes a point where generated media data can actually be sent to the external world. It is expected to be implemented by adapters and bridges to existing drivers or external interface libraries, like a viewer widget in the GUI, ALSA or Jack sound output, rendering to file, using an external media format library. The design of this core facility was rather difficult and stretched out over quite some time span -- this page documents the considerations and the decisions taken.
!intention
OutpotSlot is a metaphor to unify the organisation of actual (system level) outputs; using this concept allows to separate and abstract the data calculation and the organisation of playback and rendering from the specifics of the actual output sink. Actual output possibilities (video in GUI window, video fullscreen, sound, Jack, rendering to file) can be added and removed dynamically from various components (backend, GUI), all using the same resolution and mapping mechanisms (&amp;rarr; OutputManagement)
!design possibilities
!!properties as a starting point
* each OutputSlot is an unique and distinguishable entity. It corresponds explicitly to an external output
* an output slot needs to be provided, configured and registered, using an implementation specifically tailored for the kind of media data
* an output slot is always limited to a single kind of media, and to a single connection unit, but this connection may still be comprised of multiple channels.
* in order to be usable as //output sink,// an output slot needs to be //allocated,// i.e. tied to and locked for a specific client.
* this allocation is exclusive: at any time, there may be only a single client using a given output slot.
* the calculating process feeds its results into //sink handles//&amp;nbsp; provided by the allocated output slot.
* allocation of an output slot leads to very specific [[timing expectations|Timings]]
* the client is required to comply to these timings and operate according to a strictly defined protocol.
* timing glitches will be detected due to this protocol; the output slot provides mechanisms for failing gracefully in these cases
!!data exchange models
Data is handed over by the client invoking an {{{emit(time,...)}}} function on the sink handle. Theoretically there are two different models how this data hand-over might be performed. This corresponds to the fact, that in some cases our own code manages the output and the buffers, while in other situations we intend to use existing library solutions or even external server applications to handle output
;buffer handover model
:the client owns the data buffer and cares for allocation and de-allocation. The {{{emit()}}}-call just propagates a pointer to the buffer holding the data ready for output. The output slot implementation in turn has the liability to copy or otherwise use this data within a given time limit.
;shared buffer model
:here the output mechanism owns the buffer. Within a certain time window prior to the expected time of the {{{emit()}}}-call, the client may obtain this buffer (pointer) to fill in the data. The slot implementation won't touch this buffer until the {{{emit()}}} handover, which in this case just provides the time and signalles the client is done with that buffer. If the data emitting handshake doesn't happen at all, it counts as late and superseded by the next handshake.
!!!timing expectations
Besides the sink handles, allocation of an output slot defines some timing constraints, which are binding for the client. These timings are detailed and explicit, including a grid of deadlines for each frame to deliver, plus a fixed //latency.// Within this context, &amp;raquo;latency&amp;laquo; means the requirement to be ahead of the nominal time by a certain amount, to compensate for the processing time necessary to propagate the media to the physical output pin. The output slot implementation itself is bound by external constraints to deliver data at a fixed framerate and aligned to an externally defined timing grid, plus the data needs to be handed over ahead of these time points by an time amount given by the latency. Depending on the data exchange model, there is an additional time window limiting the buffer management.
!!relation to timing
Besides the sink handles, allocation of an output slot defines some timing constraints, which are binding for the client. These include a grid of deadlines for each frame to deliver, plus a fixed //latency.// The output slot implementation itself is bound by external constraints to deliver data at a fixed framerate and aligned to an externally defined timing grid, plus the data needs to be handed over ahead of these time points by an time amount given by the latency. Depending on the data exchange model, there is an additional time window limiting the buffer management.
The assumption is for the client to have elaborate timing capabilities at his disposal. More specifically, the client is assumed to be a job running within the engine scheduler and thus can be configured to run //after// another job has finished, and to run within certain time limits. Thus the client is able to provide a //current nominal time// -- which is suitably close to the actual wall clock time. The output slot implementation can be written such as to work out from this time specification if the call is timely or overdue -- and react accordingly.
@ -3498,25 +3561,8 @@ The planned delivery time of a frame is used as an ID throughout that cycle
# the client has to ''emit'' within a (short) time window prior to deadline
# now the slot gets exclusive access to the buffer for output, signalling the buffer release to the buffer provider when done.
!!!lapses
This data exchange protocol operates on a rather low level; there is only limited protection against timing glitches
| !step|!problem ||!consequences | !protection |
| (1)|out of time window ||interference with previous/later use of the buffer | prevent in scheduler! |
|~|does not happen ||harmless as such | emit ignored |
|~|buffer unavailable ||inhibits further operation | ↯ |
| (2)|out of time window ||harmless as such | emit ignored |
|~|out of order ||allowed, unless out of time | -- |
|~|does not happen ||frame treated as glitch | -- |
|~|buffer unallocated ||frame treated as glitch | emit ignored |
| (3)|emit missing ||frame treated as glitch | -- |
|~|fail to release buffer ||unable to use buffer further | mark unavailable |
|~|buffer unavailable ||serious malfunction of playback | request playback stop |
Thus there are two serious problem situations
* allocating the buffer out of time window bears the danger of output data corruption; but the general assumption is for the scheduler to ensure each job start time remains within the defined window and all prerequisite jobs have terminated successfully. To handle clean-up, we additionally need special jobs running always, in order, and be notified of prerequisite failures.
* failure to release a buffer in a timely fashion blocks any further use of that buffer, any further jobs in need of that buffer will die immediately. This situation can only be caused by a serious problem //within the slot, related to the output mechanism.// Thus there should be some kind of trigger (e.g. when this happens 2 times consecutively) to request aborting the playback or render as a whole.
&amp;rarr; SchedulerRequirements
&amp;rarr; OutputSlotImpl</pre>
&amp;rarr; OutputSlotImpl
</pre>
</div>
<div title="OutputSlotImpl" modifier="Ichthyostega" modified="201109232235" created="201107102343" tags="spec operational" changecount="27">
<pre>OutputSlot is an abstraction, allowing unified treatment of various physical output connections from within the render jobs. The actual output slot is a subclass object, created and managed from the &quot;driver code&quot; for a specific output connection. Moreover, each output slot will be outfitted with a concrete BufferProvider to reflect the actual buffer handling policy applicable for this specific output connection. Some output connections might e.g. require delivery of the media data into a buffer residing on external hardware, while others work just fine when pointed to some arbitrary memory block holding generated data.