document the internal structore of OutputSlot
...as far as decided and clarified by now
This commit is contained in:
parent
7fc8473337
commit
74a982409e
14 changed files with 751 additions and 223 deletions
BIN
doc/devel/uml/fig151685.png
Normal file
BIN
doc/devel/uml/fig151685.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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 -_-_
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
114
uml/lumiera/151685.diagram
Normal 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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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}"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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<DEF>}}} 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 (&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)
|
||||
|
||||
[>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 "claim" 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, &raquo;latency&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.
|
||||
&rarr; SchedulerRequirements
|
||||
&rarr; OutputSlotDesign
|
||||
&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 (&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//&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, &raquo;latency&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.
|
||||
&rarr; SchedulerRequirements
|
||||
&rarr; OutputSlotImpl</pre>
|
||||
&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 "driver code" 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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue