From 007a6e1855a6fcbe778f0ba8bf44b40334400ee2 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Wed, 21 Oct 2009 05:35:32 +0200 Subject: [PATCH] Consideration how to issue content discovery queries --- doc/devel/uml/fig137733.png | Bin 0 -> 11049 bytes uml/lumiera/131077 | 169 +++++++++++++++++++++++++++++++++++- uml/lumiera/132357 | 23 +---- uml/lumiera/137733.diagram | 50 +++++++++++ uml/lumiera/5.session | 12 +-- uml/lumiera/lumiera.prj | 2 +- wiki/renderengine.html | 14 ++- 7 files changed, 240 insertions(+), 30 deletions(-) create mode 100644 doc/devel/uml/fig137733.png create mode 100644 uml/lumiera/137733.diagram diff --git a/doc/devel/uml/fig137733.png b/doc/devel/uml/fig137733.png new file mode 100644 index 0000000000000000000000000000000000000000..5fcfafd28c5154ac7f6629b691045243613ce25b GIT binary patch literal 11049 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 end end + + classdiagram 137733 "Query Interface" + 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 + size A4 + end + + class 153989 "QueryResolver" + visibility package stereotype "interface" + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "${comment}${@}${visibility}interface ${name}${extends} { +${members}} +" + php_decl "${comment}${visibility}interface ${name} { +${members}} +" + python_2_2 python_decl "" + idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { +${members}}; +" + explicit_switch_type "" + + end + + class 155141 "Query" + visibility package + nformals 1 + formal name "TY" 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 "" + + class 155269 "Cursor" + visibility package + nformals 1 + formal name "TY" 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 "" + + end + + operation 140037 "isValid" + public explicit_return_type "bool" + 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 140165 "nextResult" + public return_type class_ref 155269 // Cursor + 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 155397 "IterAdapter" + 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 155525 "ResolvingFacility" + 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 179717 // + relation 169733 -_-|> + a public + cpp default "${type}" + classrelation_ref 179717 // + b parent class_ref 153989 // QueryResolver + end + + classrelation 179973 // + relation 169989 ---> + stereotype "generate" + a role_name "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 179973 // + b parent class_ref 155653 // ActualQuery + end + end + + class 155653 "ActualQuery" + visibility package + nactuals 1 + actual class class_ref 155141 // Query + rank 0 explicit_value "" + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + php_decl "" + python_2_2 python_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 179845 // + relation 169861 ---|> + a public + cpp default "${type}" + classrelation_ref 179845 // + b parent class_ref 155141 // Query + end + end end usecaseview 128389 "query use" diff --git a/uml/lumiera/132357 b/uml/lumiera/132357 index fa75cd0cd..8faaadd1a 100644 --- a/uml/lumiera/132357 +++ b/uml/lumiera/132357 @@ -1,6 +1,6 @@ format 58 "Placement" // ProcessingLayer::MObject::Placement - revision 2 + revision 3 modified_by 5 "hiv" // class settings //class diagram settings @@ -201,26 +201,5 @@ ${inlines} b parent class_ref 153989 // QueryResolver end end - - class 153989 "QueryResolver" - visibility package stereotype "interface" - cpp_decl "${comment}${template}class ${name}${inherit} - { -${members} }; -${inlines} -" - java_decl "${comment}${@}${visibility}interface ${name}${extends} { -${members}} -" - php_decl "${comment}${visibility}interface ${name} { -${members}} -" - python_2_2 python_decl "" - idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { -${members}}; -" - explicit_switch_type "" - - end end end diff --git a/uml/lumiera/137733.diagram b/uml/lumiera/137733.diagram new file mode 100644 index 000000000..f1e7265ed --- /dev/null +++ b/uml/lumiera/137733.diagram @@ -0,0 +1,50 @@ +format 58 + +classcanvas 128005 class_ref 153989 // QueryResolver + 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 251 37 2000 +end +classcanvas 128133 class_ref 155141 // Query + 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 137 195 2000 +end +classcanvas 128261 class_ref 155269 // Cursor + 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 225 271 2004 +end +classcanvas 128517 class_ref 155397 // IterAdapter + 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 62 298 2000 +end +classcanvas 128645 class_ref 155525 // ResolvingFacility + 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 480 293 2000 +end +classcanvas 129157 class_ref 155653 // ActualQuery + 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 386 431 2000 +end +line 128389 ---+ + from ref 128261 z 1999 to ref 128133 +relationcanvas 128773 relation_ref 169733 // + geometry VHV + from ref 128645 z 1999 to point 526 191 + line 128901 z 1999 to point 292 191 + line 129029 z 1999 to ref 128005 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 129285 relation_ref 169861 // + geometry VHV + from ref 129157 z 1999 to point 420 350 + line 129413 z 1999 to point 168 350 + line 129541 z 1999 to ref 128133 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 129669 relation_ref 169989 // + from ref 128645 z 1999 stereotype "<>" xyz 469 379 3000 to ref 129157 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +end diff --git a/uml/lumiera/5.session b/uml/lumiera/5.session index 02e012c28..761455ae6 100644 --- a/uml/lumiera/5.session +++ b/uml/lumiera/5.session @@ -2,10 +2,12 @@ window_sizes 1302 1004 270 1022 856 71 diagrams classdiagram_ref 134021 // Command structure 575 622 100 4 0 0 - active classdiagram_ref 136325 // Focus of Query + classdiagram_ref 136325 // Focus of Query 582 515 100 4 0 0 classdiagram_ref 136581 // MObjectRef 651 533 100 4 0 38 + active classdiagram_ref 137733 // Query Interface + 688 570 100 4 0 0 end show_stereotypes selected @@ -17,16 +19,16 @@ open package_ref 128133 // Asset classview_ref 128389 // Controller Workings - classview_ref 128005 // Session parts classview_ref 131973 // Object ref class_ref 152069 // PlacementIndex classview_ref 131845 // Scopes - - package_ref 128901 // Builder + classview_ref 128261 // Builder Workings usecaseview_ref 128261 // config examples - classview_ref 128133 // Engine Workings + class_ref 133253 // Frame classview_ref 129541 // InterfaceSystem classview_ref 129285 // StreamType + class_ref 153989 // QueryResolver + class_ref 155141 // Query classview_ref 132229 // Custom holders classview_ref 128266 // SmartPointers end diff --git a/uml/lumiera/lumiera.prj b/uml/lumiera/lumiera.prj index 890574f20..2293af356 100644 --- a/uml/lumiera/lumiera.prj +++ b/uml/lumiera/lumiera.prj @@ -1,6 +1,6 @@ format 58 "lumiera" - revision 55 + revision 56 modified_by 5 "hiv" cpp_root_dir "../../src/" diff --git a/wiki/renderengine.html b/wiki/renderengine.html index 1d3b91584..1135ba33c 100644 --- a/wiki/renderengine.html +++ b/wiki/renderengine.html @@ -3400,7 +3400,7 @@ Viewed as a micro program, the processing patterns are ''weak typed'' &mdash
a given Render Engine configuration is a list of Processors. Each Processor in turn contains a Graph of ProcNode.s to do the acutal data processing. In order to cary out any calculations, the Processor needs to be called with a StateProxy containing the state information for this RenderProcess
 
-
+
{{red{WIP as of 10/09}}}...//brainstorming about the first ideas towards a query subsystem//
 
 !use case: discovering the contents of a container in the HighLevelModel
@@ -3412,6 +3412,8 @@ In the course of shaping the session API, __joel__ and __ichthyo__ realised that
 * client code gets a result iterator, which can be explored //only once until exhaustion.//
 * the handed out result iterator is used to manage the allocation for the query result set by sideeffect (smart handle). &rarr; Ticket #353
 
+For decoupling the query invocation from the facility actually processing the query, we need to come up with common pattern. In 10/09, there is an immediate demand for such a solution pattern for implementing the QueryFocus and PlacementScope framework, which is crucial for contents discovery in general on the session interface. &rarr; QueryResolver was shaped to deal with this situation, but has the potential to evolve into a general solution for issuing queries.
+
 ----
 See also the notes on &rarr; QueryImplProlog
 
@@ -3474,6 +3476,16 @@ Then, running the goal {{{:-resolve(T, stream(T,mpeg)).}}} would search a Track In the design of the Lumiera Proc Layer done thus far, we provide //no possibility to introduce a new object kind// into the system via plugin interface. The system uses a fixed collection of classes intended to cover all needs (Clip, Effect, Track, Pipe, Label, Automation, ~Macro-Clips). Thus, plugins will only be able to provide new parametrisations of existing classes. This should not be any real limitation, because the whole system is designed to achieve most of its functionality by freely combining rather basic object kinds. As a plus, it plays nicely with any plain-C based plugin interface. For example, we will have C++ adapter classes for the most common sorts of effect plugin (pull system and synchronous frame-by-frame push with buffering) with a thin C adaptation layer for the specific external plugin systems used. Everything beyond this point can be considered "condiguration data" (including the actual plugin implementation to be loaded)
+
+
Within the Lumiera Proc-Layer, there is a general preference for issuing [[queries|Query]] over hard wired configuration (or even mere table based configuration). This leads to the demand of exposing a //possibility to issue queries// &mdash; without actually disclosing much details of the facility implementing this service. For example, for shaping the general session interface (in 10/09), we need a means of exposing a hook to discover HighLevelModel contents, without disclosing how the model is actually organised internally (namely by using an PlacementIndex).
+
+!Analysis of the problem
+The situation can be decomposed as follows.[>img[QueryResolver|uml/fig137733.png]]
+* first off, we need a way to state //what kind of query we want to run.// This includes stipulations on the type of the result set contents expected
+* as the requirement is to keep the facility actually implementing the query service hidden behind an interface, we're forced to erase specific type information and pass on an encapsulated version of the query
+* providing an iterator for exploring the results poses the additional constraint of having an fairly generic iterator type, while still being able to communicate with the actual query implementation behind the interface.
+
+
/***
 |''Name:''|RSSReaderPlugin|