diff --git a/doc/devel/uml/class139653.html b/doc/devel/uml/class139653.html index cfdc8392a..641046544 100644 --- a/doc/devel/uml/class139653.html +++ b/doc/devel/uml/class139653.html @@ -21,7 +21,8 @@
Operation currEDL

Declaration :

The EDL currently in focus. In most cases, Session and EDL are almost the same, just EDL emphasizes the collection aspect. But generally (for larger editing projects) one Session can contain several EDLs, which may even be nested. At any given time, only one of these EDLs has focus and recieves the editing commands.

Operation getFixture

Declaration :

While the session can be comprised of several EDLs,
there is only one Fixture, which represents the actual
configuration of all Objects to be rendered

-
Relation current (<unidirectional association>)

Declaration :

Standard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer

+
Relation current (<unidirectional association>)

Declaration :

Standard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer

+
Relation defaults (<unidirectional association>)

Declaration :

All public operations : currEDL , getFixture

diff --git a/doc/devel/uml/class140549.html b/doc/devel/uml/class140549.html new file mode 100644 index 000000000..9366aa42a --- /dev/null +++ b/doc/devel/uml/class140549.html @@ -0,0 +1,26 @@ + + + + + + +Class ConfigRules + + + + + +
Class ConfigRules
+

+ + + + +

Declaration :

Directly inherited by : ResolverBase

+

public acces point for running Config Queries

+ +
Relation <association>

Declaration :

+
Relation <association>

Declaration :

+

All public operations : resolve

+ + diff --git a/doc/devel/uml/class140677.html b/doc/devel/uml/class140677.html new file mode 100644 index 000000000..6b32a5b25 --- /dev/null +++ b/doc/devel/uml/class140677.html @@ -0,0 +1,27 @@ + + + + + + +Class QueryHandler + + + + + +
Class QueryHandler
+

+ + + + +

Declaration :

Directly inherited by : ConfigRules

+
+ +
Relation <association>

Declaration :

+
Relation <association>

Declaration :

+
Operation resolve

Declaration :

+

All public operations : resolve

+ + diff --git a/doc/devel/uml/class140805.html b/doc/devel/uml/class140805.html new file mode 100644 index 000000000..a9f18e933 --- /dev/null +++ b/doc/devel/uml/class140805.html @@ -0,0 +1,26 @@ + + + + + + +Class TypeHandler + + + + + +
Class TypeHandler
+

+ + + + +

Declaration :

Directly inherited by : TypeHandler<Pipe>

+
+ +
Operation find

Declaration :

+
Operation make

Declaration :

+

All public operations : find , make

+ + diff --git a/doc/devel/uml/class140933.html b/doc/devel/uml/class140933.html new file mode 100644 index 000000000..60883f3f2 --- /dev/null +++ b/doc/devel/uml/class140933.html @@ -0,0 +1,24 @@ + + + + + + +Class ResolverBase + + + + + +
Class ResolverBase
+

+ + + + +

Declaration :

Directly inherited by : QueryHandlerImpl

+
+
+

All public operations : resolve

+ + diff --git a/doc/devel/uml/class141061.html b/doc/devel/uml/class141061.html new file mode 100644 index 000000000..db362df0b --- /dev/null +++ b/doc/devel/uml/class141061.html @@ -0,0 +1,22 @@ + + + + + + +Class YAP_Prolog + + + + + +
Class YAP_Prolog
+

+ + + + +

Declaration :

+
+ + diff --git a/doc/devel/uml/class141189.html b/doc/devel/uml/class141189.html new file mode 100644 index 000000000..ae8237f18 --- /dev/null +++ b/doc/devel/uml/class141189.html @@ -0,0 +1,31 @@ + + + + + + +Class QueryHandlerImpl + + + + + +
Class QueryHandlerImpl
+

+ + + + +

Declaration :

+ +
Relation <association>

Declaration :

+
Relation <association>

Declaration :

+
Relation <association>

Declaration :

+
Relation <association>

Declaration :

+
Operation resolve

Declaration :

+
Relation <unidirectional association>

Declaration :

+
Relation <unidirectional association>

Declaration :

+
Relation <unidirectional association>

Declaration :

+

All public operations : resolve , resolve

+ + diff --git a/doc/devel/uml/class141317.html b/doc/devel/uml/class141317.html new file mode 100644 index 000000000..96e49881c --- /dev/null +++ b/doc/devel/uml/class141317.html @@ -0,0 +1,24 @@ + + + + + + +Class TypeHandler<Pipe> + + + + + +
Class TypeHandler<Pipe>
+

+ + + + +

Declaration :

+ +
Relation <unidirectional association>

Declaration :

+

All public operations : find , make

+ + diff --git a/doc/devel/uml/class141445.html b/doc/devel/uml/class141445.html new file mode 100644 index 000000000..0f69494d7 --- /dev/null +++ b/doc/devel/uml/class141445.html @@ -0,0 +1,23 @@ + + + + + + +Class DefaultsManager + + + + + +
Class DefaultsManager
+

+ + + + +

Declaration :

+ +
Relation <association>

Declaration :

+ + diff --git a/doc/devel/uml/class141573.html b/doc/devel/uml/class141573.html new file mode 100644 index 000000000..8417d6b5b --- /dev/null +++ b/doc/devel/uml/class141573.html @@ -0,0 +1,23 @@ + + + + + + +Class DefaultsRegistry + + + + + +
Class DefaultsRegistry
+

+ + + + +

Declaration :

+ +
Relation <association>

Declaration :

+ + diff --git a/doc/devel/uml/class141701.html b/doc/devel/uml/class141701.html new file mode 100644 index 000000000..232cf2aed --- /dev/null +++ b/doc/devel/uml/class141701.html @@ -0,0 +1,20 @@ + + + + + + +Class User + + + + + +
Class User
+

+ + + + +

Declaration :

+ diff --git a/doc/devel/uml/class141829.html b/doc/devel/uml/class141829.html new file mode 100644 index 000000000..d6c42943f --- /dev/null +++ b/doc/devel/uml/class141829.html @@ -0,0 +1,20 @@ + + + + + + +Class Serializer + + + + + +
Class Serializer
+

+ + + + +

Declaration :

+ diff --git a/doc/devel/uml/classdiagrams.html b/doc/devel/uml/classdiagrams.html index 03c862119..4cf5416cc 100644 --- a/doc/devel/uml/classdiagrams.html +++ b/doc/devel/uml/classdiagrams.html @@ -27,6 +27,7 @@ Media-Asset Relations Proc-Asset Relations Render Entities +Rules access Session structure Struct-Asset Relations diff --git a/doc/devel/uml/classes.html b/doc/devel/uml/classes.html index d2f240eb9..23162b8f6 100644 --- a/doc/devel/uml/classes.html +++ b/doc/devel/uml/classes.html @@ -39,11 +39,14 @@ CompoundMediacompound of several elementary media tracks,
e.g. the individual media streams found in one media file ConditionI provided a reworked Condition class in my Cinelerra2 repository Config +ConfigRulesinterfacepublic acces point for running Config Queries ConManagerConnection Manager, used to build the connections between render engine nodes, if these nodes need to cooperate besides the normal "data pull" operation. Esp., the Connection Manager knows how to wire up the effect's parameters with the corresponding ParamProviders (autmation) in the Session Constraint ControllerFacadeboundaryProvides unified access to the Proc-Subsystem Controller. Especially, this Facade class provides the functions to get a render engine to carry out actual renderings. Datasetmeta asset describing a collection of control data DBImplementation of the registry holding all Asset instances known to the Asset Manager subsystem. As of 8/2007 implemented by a hashtable. +DefaultsManager +DefaultsRegistry DoAttach DoRecurse EDL @@ -102,13 +105,17 @@ ProcNodeinterfaceKey abstraction of the Render Engine: A Data processing Node ProcPattspecial type of structural Asset representing information how to build some part of the render engine's processing nodes network. ProjectorSpecial video processing node used to scale and translate image data. +QueryHandlerinterface +QueryHandlerImpl RelativeLocation RelTypeenumthe possible kinds of RelativePlacements RenderEngine RenderStateEncapsulates the logic used to get a "current render process" in accordance to the currentyl applicable controller settings. The provided StateProxy serves to hold any mutalbe state used in the render process, so the rest of the render engine can be stateless. +ResolverBase Scheduler Segment SegmentationToolTool implementation for deriving a partitioning of the current timeline such, that each segement has a constant configuration. "Constant" means here, that any remaining changes over time can be represented by automation solely, without the need to change the node connections. +Serializeractor SessionPrimary Interface for all editing tasks.
The session contains defaults, all the assets being edited, and a set of EDL with the individual MObjects to be manipulated and rendered. SessionImplImplementation class for the Session interface SessManager @@ -126,13 +133,17 @@ Trackstructural asset holding the configuration of a track in the EDL Track Trafo +TypeHandlerinterface +TypeHandler<Pipe> Unknownplaceholder for unknown or unavailable media source +Useractor VFrame Visitable VRenderRepresentation of a Video render process. (Encapsulates the video buffers for the actual calculations) Wish WriteBuffer WriteBufferPool +YAP_Prolog diff --git a/doc/devel/uml/classes_list.html b/doc/devel/uml/classes_list.html index 41655bf32..6f3005da9 100644 --- a/doc/devel/uml/classes_list.html +++ b/doc/devel/uml/classes_list.html @@ -40,11 +40,14 @@ CompoundMedia
Condition
Config
+ConfigRules
ConManager
Constraint
ControllerFacade
Dataset
DB
+DefaultsManager
+DefaultsRegistry
DoAttach
DoRecurse
EDL
@@ -103,13 +106,17 @@ ProcNode
ProcPatt
Projector
+QueryHandler
+QueryHandlerImpl
RelativeLocation
RelType
RenderEngine
RenderState
+ResolverBase
Scheduler
Segment
SegmentationTool
+Serializer
Session
SessionImpl
SessManager
@@ -127,13 +134,17 @@ Track
Track
Trafo
+TypeHandler
+TypeHandler<Pipe>
Unknown
+User
VFrame
Visitable
VRender
Wish
WriteBuffer
WriteBufferPool
+YAP_Prolog
diff --git a/doc/devel/uml/collaborationdiagrams.html b/doc/devel/uml/collaborationdiagrams.html index 37350c3f2..2d8ab627d 100644 --- a/doc/devel/uml/collaborationdiagrams.html +++ b/doc/devel/uml/collaborationdiagrams.html @@ -16,6 +16,7 @@ +
"default" object
build processThis figure shows the process of building and starting a RenderEngine
diff --git a/doc/devel/uml/componentdiagrams.html b/doc/devel/uml/componentdiagrams.html index 967828869..46ed24795 100644 --- a/doc/devel/uml/componentdiagrams.html +++ b/doc/devel/uml/componentdiagrams.html @@ -17,6 +17,7 @@ +
backend-components
components
OverviewThis drawing shows the top level compoents and relations
proc-components
diff --git a/doc/devel/uml/fig131461.png b/doc/devel/uml/fig131461.png new file mode 100644 index 000000000..87241bcda Binary files /dev/null and b/doc/devel/uml/fig131461.png differ diff --git a/doc/devel/uml/fig131589.png b/doc/devel/uml/fig131589.png new file mode 100644 index 000000000..14e160602 Binary files /dev/null and b/doc/devel/uml/fig131589.png differ diff --git a/doc/devel/uml/fig131717.png b/doc/devel/uml/fig131717.png new file mode 100644 index 000000000..b45afa0c1 Binary files /dev/null and b/doc/devel/uml/fig131717.png differ diff --git a/doc/devel/uml/fig131845.png b/doc/devel/uml/fig131845.png new file mode 100644 index 000000000..da87ab8cb Binary files /dev/null and b/doc/devel/uml/fig131845.png differ diff --git a/doc/devel/uml/index.html b/doc/devel/uml/index.html index 406fc303d..bbecbcbc0 100644 --- a/doc/devel/uml/index.html +++ b/doc/devel/uml/index.html @@ -112,7 +112,7 @@ Documentation
Artifact Lumiera

Depends on common

Depends on gui

Depends on proc

Depends on backend

the main executable to be built

-

executable associated with : exitnode, pathmanager, track, paramprovider, mask, main, conmanager, clip, meta, fixedlocation, relativelocation, mobject, source, frame, placement, sessionimpl, builderfacade, controllerfacade, processor, pluginadapter, effect, buildertool, segmentationtool, aframe, assembler, trafo, explicitplacement, auto, glrender, link, parameter, renderengine, allocation, vframe, toolfactory, arender, renderstate, label, glbuf, procnode, stateproxy, hub, buildable, abstractmo, nodecreatertool, projector, interpolator, edl, fixture, glpipe, vrender

+

executable associated with : aframe, assembler, trafo, explicitplacement, auto, glrender, link, parameter, renderengine, allocation, vframe, toolfactory, arender, renderstate, label, glbuf, procnode, stateproxy, hub, buildable, abstractmo, nodecreatertool, projector, interpolator, edl, fixture, glpipe, vrender, exitnode, pathmanager, track, paramprovider, mask, main, conmanager, clip, meta, fixedlocation, relativelocation, mobject, source, frame, placement, sessionimpl, builderfacade, controllerfacade, processor, pluginadapter, effect, buildertool, segmentationtool

Artifact main

Artifact source

@@ -1137,8 +1137,71 @@ reuse exiting Engine

Selection :

Transformation

GUI is here just a container to hold any entities considered to be User Interface related, which is not in focus for this Design draft

5 Package CommonLib

+ +

5.1 Package ConfigQuery

+
+ +

5.1.1 Component View Query System overview

+
+ +

+

components



+ +
Component ConfigRules
+

A system for accessing various kinds of preconfigured objects by querying for capabilities.

+ +
Component Resolver
+ +
Component Rule Base
+ +
Component DefaultsManager
+
+ +

5.1.2 Class View query

+
+ +

+

Rules access



+
+
+
+
+
+
+
+
+
+
+ +

5.1.3 Use Case View query use

+
+ +

+

when to query



+ +

5.1.3.1 Use Case create specific object

+ +

5.1.3.2 Use Case use "default" object

+
+
+ +

5.1.3.3 Use Case load object from session

+ +

5.1.3.4 Use Case add new object to session

+
Class User
+
+ +

5.1.3.5 Use Case ConfigQuery

+ +

5.1.3.6 Use Case need sub object

+ +

+

"default" object



+ +
Class instance predicate impl

type :TypeHandler

+
-

5.1 Class View error

+

5.2 Class View error

@@ -1152,7 +1215,7 @@ reuse exiting Engine

Selection :

Transformation

-

5.2 Class View Service Components

+

5.3 Class View Service Components

Class Tool
@@ -1162,7 +1225,7 @@ reuse exiting Engine

Selection :

Transformation
Class Appconfig

-

5.3 Class View Posix Threads Abstraction

+

5.4 Class View Posix Threads Abstraction

C++ wrapers for pthreads

Class Thread
@@ -1170,7 +1233,7 @@ reuse exiting Engine

Selection :

Transformation
Class Mutex

-

5.4 Class View SmartPointers

+

5.5 Class View SmartPointers

diff --git a/doc/devel/uml/index_34.html b/doc/devel/uml/index_34.html new file mode 100644 index 000000000..54f1d1d1f --- /dev/null +++ b/doc/devel/uml/index_34.html @@ -0,0 +1,23 @@ + + + + + + +" + + + + + +
"
+

+ + + + + + +
NameKindDescription
"default" objectcollaboration diagram
+ + diff --git a/doc/devel/uml/index_60.html b/doc/devel/uml/index_60.html index a873c25b0..4909e634c 100644 --- a/doc/devel/uml/index_60.html +++ b/doc/devel/uml/index_60.html @@ -30,8 +30,8 @@ <flow>transition <flow>transition <flow>transition -<flow>transition <flow>transition +<flow>transition <flow>transition <flow>transition <flow>transition diff --git a/doc/devel/uml/index_65.html b/doc/devel/uml/index_65.html index cb80221e6..3fce72879 100644 --- a/doc/devel/uml/index_65.html +++ b/doc/devel/uml/index_65.html @@ -23,6 +23,7 @@ access Fileuse case activity finalactivity final activity finalactivity final +add new object to sessionuse case AFrameclass aframeartifacta buffer and render process holding a Audio frame allocationartifact @@ -55,8 +56,8 @@ aud_aclass instance audioclass instance audio1class instance -audio1class instance audio1class instance +audio1class instance autoartifactMedia Object holding automation data AutoclassAutomation data for some parameter (i.e. a time varying function) Automation Entitiesclass diagram diff --git a/doc/devel/uml/index_67.html b/doc/devel/uml/index_67.html index 93dc372e2..08c04b765 100644 --- a/doc/devel/uml/index_67.html +++ b/doc/devel/uml/index_67.html @@ -23,42 +23,42 @@ Categoryclasstree like classification of Assets categoryartifacttree like classification of Assets causeattributea copy of the first exception encountered in this exception chain -chainoperationcreate and add another Placement for this media object, thus increasingly constraining the (possible) position of this object. chainrelationChain of additional Placements further constraining the position of this MObject +chainoperationcreate and add another Placement for this media object, thus increasingly constraining the (possible) position of this object. checked_inrelationchecked_in objects are subject of cache aging and must be not in use checked_outrelationthis list keeps all mappings which are in use, and thus prevents them from Cache aging -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance class instanceclass instance class instanceclass instance +class instanceclass instance class instanceclass instance +class instanceclass instance +class instanceclass instance class instanceclass instance +class instanceclass instance class instanceclass instance class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance +class instanceclass instance class instanceclass instance -class instanceclass instance -class instanceclass instance class instanceclass instance -class instanceclass instance class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance class instanceclass instance +class instanceclass instance class instanceclass instance class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance +class instanceclass instance clearoperationclear current session contents
without resetting overall session config.
Afterwards, the session will contain only one
empty EDL, while all Assets are retained.
Clipclassbookkeeping (asset) view of a media clip. -clipartifacta Media Clip clipartifactbookkeeping (asset) view of a media clip. +clipartifacta Media Clip Clipclass clipsrelation Codecclassdescription of some media data decoder or encoder facility @@ -71,6 +71,7 @@ CommonLibpackage complete Render Engineactivity object componentsrelation +componentscomponent diagram compoundclipartifactcompound of several clips (multichannel) CompoundClipclassClip MObject which is actually a compound of several elementary clips,
e.g. the several streams found within multichannels media. CompoundMediaclasscompound of several elementary media tracks,
e.g. the individual media streams found in one media file @@ -78,6 +79,10 @@ ConditionclassI provided a reworked Condition class in my Cinelerra2 repository Configclass config examplesuse case view +ConfigQuerypackage +ConfigQueryuse case +ConfigRulesclasspublic acces point for running Config Queries +ConfigRulescomponentA system for accessing various kinds of preconfigured objects by querying for capabilities. configureoperation configure Renderactivity configure Toolsopaque activity action @@ -88,14 +93,15 @@ constraintartifactLocatingPin representing an directive by the user that
must not be violated Constraintclass Controllercomponent -controllerpackagesourcecode package

The Processing and Render Controller,
located within the MObject Subsystem Controllerpackage +controllerpackagesourcecode package

The Processing and Render Controller,
located within the MObject Subsystem Controller Entitiesclass diagram Controller Workingsclass view ControllerFacadeclassProvides unified access to the Proc-Subsystem Controller. Especially, this Facade class provides the functions to get a render engine to carry out actual renderings. controllerfacadeartifactFacade and service access point for the Proc Layer Controller ControllerFacadecomponent create ProcNodeopaque activity action +create specific objectuse case createClipoperationcreate a (possibly compound) Clip refering to this media, ready to be added to the EDL. currEDLoperationThe EDL currently in focus. In most cases, Session and EDL are almost the same, just EDL emphasizes the collection aspect. But generally (for larger editing projects) one Session can contain several EDLs, which may even be nested. At any given time, only one of these EDLs has focus and recieves the editing commands. currentrelationStandard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer diff --git a/doc/devel/uml/index_68.html b/doc/devel/uml/index_68.html index 68da1dfbd..90bc7ba4d 100644 --- a/doc/devel/uml/index_68.html +++ b/doc/devel/uml/index_68.html @@ -22,14 +22,18 @@ datasrcrelationThe predecessor in a processing pipeline, i.e. a source to get data to be processed DBclassImplementation of the registry holding all Asset instances known to the Asset Manager subsystem. As of 8/2007 implemented by a hashtable. dbartifactregistry holding known Asset instances. +defaultsrelation +DefaultsManagerclass +DefaultsManagercomponent +DefaultsRegistryclass define segmentopaque activity action descriptorrelationtype of this frame descriptorrelation designpackage designpackageAll things concering the big picture.
Not a real code package, rather a container for design drafts, specifications, decisions. detect Channelsuse case -determine Render Paramsopaque activity action determine Render Paramsexpansion region +determine Render Paramsopaque activity action devnullclass instance Dispatchercomponent dispatchOpoperation diff --git a/doc/devel/uml/index_69.html b/doc/devel/uml/index_69.html index 1f6fd3f19..6c17d406d 100644 --- a/doc/devel/uml/index_69.html +++ b/doc/devel/uml/index_69.html @@ -24,8 +24,8 @@ EDL Example2object diagramMore complex example showing the Object graph in the EDL and how it is linked into the Fixture to yield the actual locations. In this example, an HUE Effect is applied on a part of the Clip edlsrelation EffectclassEffect or media processing component -effectartifactEffect or media processing component effectartifactEDL representation of a pluggable and automatable effect. +effectartifactEffect or media processing component Effectclass elementsrelationrelevant MObjects comprising this segment. TODO: actually necessary?? enableoperationchange the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well diff --git a/doc/devel/uml/index_70.html b/doc/devel/uml/index_70.html index b36d60aff..78b986b1b 100644 --- a/doc/devel/uml/index_70.html +++ b/doc/devel/uml/index_70.html @@ -29,12 +29,13 @@ FileProviderclassThis is the Factory for Files, whenever something wants to use some file (or temporary storage), This Factory will hand out some smart/shared pointer to a File object which will be used to retrieve Frames. FileReferenceclass filesrelation +findoperation fixedlocationartifactimplements fixed placement of a MObject FixedLocationclass Fixtureactivity object fixtureartifactthe (low level) representation of the EDL with concrete placement data -Fixtureclass Fixturecomponent +Fixtureclass fork activity nodefork activity node FrameclassFrames are just a low level lump of continous memory, most parts are opaque. Frames are memory sensitive, they will be small constant sized structures which can be efficently managed in a pool. Framenode diff --git a/doc/devel/uml/index_72.html b/doc/devel/uml/index_72.html index bf8262c8c..0abaaac68 100644 --- a/doc/devel/uml/index_72.html +++ b/doc/devel/uml/index_72.html @@ -24,8 +24,8 @@ howtoProcoperation@return descriptor how to build a render pipeline corresponding to this media Hubclass hubartifactspecial ProcNode used to build data distributing connections -HUEclass instance HUEclass instance +HUEclass instance diff --git a/doc/devel/uml/index_73.html b/doc/devel/uml/index_73.html index 27e37a604..798945020 100644 --- a/doc/devel/uml/index_73.html +++ b/doc/devel/uml/index_73.html @@ -20,9 +20,9 @@ idattributeAsset primary key. In Memory Databaseclass diagram inFixtureactivity action pin -inputclass instance inputclass instance inputclass instance +inputclass instance instanceoperation instructionsrelation Interfaceclass view diff --git a/doc/devel/uml/index_76.html b/doc/devel/uml/index_76.html index 0b4ef97db..75cbabe50 100644 --- a/doc/devel/uml/index_76.html +++ b/doc/devel/uml/index_76.html @@ -25,6 +25,7 @@ linkartifactforwarding, adapting or connecting ProcNode loadoperationreplace the current session by a new
session loaded from serialized state. load Mediause case +load object from sessionuse case locatingpinartifactChaining and constraining the Placement of a Media Object LocatingPinclassAn element with value semantics, which actually implements the placement of some MObject by positioning it in some way. Lockclass diff --git a/doc/devel/uml/index_77.html b/doc/devel/uml/index_77.html index 3e0b915cc..e6d8e8031 100644 --- a/doc/devel/uml/index_77.html +++ b/doc/devel/uml/index_77.html @@ -18,6 +18,7 @@ + diff --git a/doc/devel/uml/index_78.html b/doc/devel/uml/index_78.html index eeaf4b78d..1cf51971d 100644 --- a/doc/devel/uml/index_78.html +++ b/doc/devel/uml/index_78.html @@ -18,6 +18,7 @@
NameKindDescription
mainartifact
makeoperation
mappingrelation
mappingsrelationweak pointers
Maskclass
+ diff --git a/doc/devel/uml/index_79.html b/doc/devel/uml/index_79.html index d1fdc83c0..4ac4c3b33 100644 --- a/doc/devel/uml/index_79.html +++ b/doc/devel/uml/index_79.html @@ -19,9 +19,9 @@ - + diff --git a/doc/devel/uml/index_80.html b/doc/devel/uml/index_80.html index 2b01f816d..ba34ae763 100644 --- a/doc/devel/uml/index_80.html +++ b/doc/devel/uml/index_80.html @@ -40,6 +40,7 @@ + diff --git a/doc/devel/uml/index_81.html b/doc/devel/uml/index_81.html new file mode 100644 index 000000000..5a521bd2f --- /dev/null +++ b/doc/devel/uml/index_81.html @@ -0,0 +1,27 @@ + + + + + + +Q + + + + + +
Q
+

+ + + +
NameKindDescription
nameattributeelement ID, comprehensible but sanitized. The tuple (category, name, org) is unique.
need sub objectuse case
nextrelationnext additional LocatingPin, if any
nodecreatertoolartifactcentral Tool implementing the Renderengine building
NodeCreatorToolclassThis Tool implementation plays the central role in the buld process: given a MObject from Session, it is able to attach ProcNodes to the render engine under construction such as to reflect the properties of the MObject in the actual render.
NameKindDescription
offsetattributeOffset the actual position by this (time) value relative to the anchor point. TODO: Representation?
orgattributeorigin or authorship id. Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the compnent name to be more generic (e.g. "blur"). Default for all assets provided by the core Lumiera codebase is "lumi".
ouputclass instance
ouputclass instance
ouputclass instance
ouputclass instance
outPortrelationthe Port this MObject wants to be conected to
outputrelation
Overviewcomponent diagramThis drawing shows the top level compoents and relations
pnodenode
pointattributeidentifying the point where the nodes should be attached
Posix Threads Abstractionclass viewC++ wrapers for pthreads
predicate implclass instance
Prefetchclass
Previewclassalternative version of the media data, probably with lower resolution
previewartifactalternative version of the media data, probably with lower resolution
+ + + + + + +
NameKindDescription
queryclass view
Query System overviewcomponent view
query useuse case view
QueryHandlerclass
QueryHandlerImplclass
+ + diff --git a/doc/devel/uml/index_82.html b/doc/devel/uml/index_82.html index a76e8f590..1bade53e8 100644 --- a/doc/devel/uml/index_82.html +++ b/doc/devel/uml/index_82.html @@ -22,8 +22,8 @@ registryrelation@internal Table or DB holding all registered asset instances. relativelocationartifactPlacement implemnetaion providing various ways of attaching a MObject to another one RelativeLocationclass -relTypeattributethe kind of relation denoted by this Placement RelTypeclassthe possible kinds of RelativePlacements +relTypeattributethe kind of relation denoted by this Placement removeoperationremove the given asset <i>together with all its dependants</i> from the internal DB Render Entitiesclass diagram Render Requestactivity parameter @@ -38,7 +38,13 @@ reprattributehuman readable representation of the condition characterizing this allocaton, e.g. "t >= 10" resetoperationreset all session config and
start with a pristine default session. resolveoperationcreate an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements. +resolveoperation +resolveoperation +Resolvercomponent +ResolverBaseclass rootCauseoperationIf this exception was caused by a chain of further exceptions,
return the first one registered in this throw sequence.
This works only, if every exceptions thrown as a consequence
of another exception is propperly constructed by passing
the original exception to the constructor +Rule Basecomponent +Rules accessclass diagram diff --git a/doc/devel/uml/index_83.html b/doc/devel/uml/index_83.html index 18c49405b..e2f2fcea3 100644 --- a/doc/devel/uml/index_83.html +++ b/doc/devel/uml/index_83.html @@ -28,11 +28,12 @@ segmentsactivity object segmentsactivity object segmentsrelationthe partitioning of the Timeline to be created by this tool. +Serializerclass Service Componentsclass view Sessioncomponent sessionartifactInterface: the session edited by the user -sessionpackagesourcecode package

Everything concerning the EDL and Session, within the MObject Subsystem Sessionclass view +sessionpackagesourcecode package

Everything concerning the EDL and Session, within the MObject Subsystem SessionclassPrimary Interface for all editing tasks.
The session contains defaults, all the assets being edited, and a set of EDL with the individual MObjects to be manipulated and rendered. Session structureclass diagram sessionimplartifactholds the complete session data to be edited by the user diff --git a/doc/devel/uml/index_84.html b/doc/devel/uml/index_84.html index 692cb2cac..14d928057 100644 --- a/doc/devel/uml/index_84.html +++ b/doc/devel/uml/index_84.html @@ -34,21 +34,23 @@ trackrelation trackattribute trackrelation -trackartifactstructural asset holding the configuration of a track in the EDL trackartifactA grouping device within the EDL. The corresponding Placement
by which this Track object is refered defines fallback placing
properties to be used by all objects placed on this track in
case they don't specify more concrete placements.
Typically, tracks are used do make default Port connections,
define a layer or pan for sound and for for disabling groups
of clips. Note tracks are grouped in a tree like fashion.
+trackartifactstructural asset holding the configuration of a track in the EDL Trackclass tracksrelationelementary media assets comprising this compound Trafoclass trafoartifacttransforming processing Node treatoperation treatoperationThis operation is to be overloaded for the specific MObject subclasses to be treated. -treatoperation treatoperation treatoperation treatoperation +treatoperation +treatoperation treatoperation treatoperation -treatoperation +TypeHandlerclass +TypeHandler<Pipe>class diff --git a/doc/devel/uml/index_85.html b/doc/devel/uml/index_85.html index 6075e15d1..dafc717cb 100644 --- a/doc/devel/uml/index_85.html +++ b/doc/devel/uml/index_85.html @@ -20,7 +20,9 @@ Unknownclassplaceholder for unknown or unavailable media source unknownartifactplaceholder for unknown or unavailable media source usageuse case view +use "default" objectuse case useFileoperationAnnounces that the application intends to use this file with mode (READ|WRITE|READWRITE) +Userclass useTemporaryStorageoperationProvides a pool for interminate frames diff --git a/doc/devel/uml/index_86.html b/doc/devel/uml/index_86.html index f75b93690..e3c5f01a9 100644 --- a/doc/devel/uml/index_86.html +++ b/doc/devel/uml/index_86.html @@ -20,23 +20,23 @@ versionattributeversion number of the thing or concept represented by this asset. Of each unique tuple (name, category, org) there will be only one version in the whole system. Version 0 is reserved for internal purposes. Versions are considered to be ordered, and any higher version is supposed to be fully backwards compatible to all previous versions. VFrameclass vframeartifacta buffer and render process holding a Video frame -vid1class instance vid1class instance -vid_aclass instance -vid_aclass instance -vid_Aclass instance +vid1class instance vid_Aclass instance +vid_Aclass instance +vid_aclass instance +vid_aclass instance vid_Aclass instance videoclass instance -videoclass instance videoclass instance videoclass instance +videoclass instance +video1class instance video1class instance video1class instance video1class instance -video1class instance -video1class instance video1class instance +video1class instance Visitableclass visitorpackagesub-namespace for visitor library implementation visitorartifactAcyclic Visitor library diff --git a/doc/devel/uml/index_87.html b/doc/devel/uml/index_87.html index 748f57b37..bd2bf3399 100644 --- a/doc/devel/uml/index_87.html +++ b/doc/devel/uml/index_87.html @@ -19,6 +19,7 @@ NameKindDescription whatoperation whatoperationthe base class of all exceptions thrown by the standard library +when to queryuse case diagram wiringTemplaterelation wishartifactLocatingPin representing a low-priority directive by the user,
to be fulfilled only if possible (and after satisfying the
more important LocatingPins) Wishclass diff --git a/doc/devel/uml/index_89.html b/doc/devel/uml/index_89.html new file mode 100644 index 000000000..bb8528187 --- /dev/null +++ b/doc/devel/uml/index_89.html @@ -0,0 +1,23 @@ + + + + + + +Y + + + + + +
Y
+

+ + + + + + +
NameKindDescription
YAP_Prologclass
+ + diff --git a/doc/devel/uml/navig.html b/doc/devel/uml/navig.html index 74b812388..fd08b1b7d 100644 --- a/doc/devel/uml/navig.html +++ b/doc/devel/uml/navig.html @@ -12,6 +12,6 @@

-Top- -Classes- -Public Operations- -Public properties- -Packages- -Use Cases- -Activities- -Class Diagrams- -Object Diagrams- -Activity Diagrams- -Use Case Diagrams- -Collaboration Diagrams- -Component Diagrams- -Deployment Diagrams-

-

< A B C D E F G H I K L M N O P R S T U V W ~

+

" < A B C D E F G H I K L M N O P Q R S T U V W Y ~

diff --git a/doc/devel/uml/packages.html b/doc/devel/uml/packages.html index c9321815b..49c0f4f80 100644 --- a/doc/devel/uml/packages.html +++ b/doc/devel/uml/packages.html @@ -25,6 +25,7 @@ codegenThis package is used to organize code generation by BOUML. It is considered useless after having generated the initial code skeleton. commonsrcsourcecode package

Common library and helper classes CommonLib +ConfigQuery Controller controllersrcsourcecode package

The Processing and Render Controller,
located within the MObject Subsystem design diff --git a/doc/devel/uml/public_operations.html b/doc/devel/uml/public_operations.html index d0aedd4c7..697d67b52 100644 --- a/doc/devel/uml/public_operations.html +++ b/doc/devel/uml/public_operations.html @@ -29,6 +29,7 @@ currEDLSessionThe EDL currently in focus. In most cases, Session and EDL are almost the same, just EDL emphasizes the collection aspect. But generally (for larger editing projects) one Session can contain several EDLs, which may even be nested. At any given time, only one of these EDLs has focus and recieves the editing commands. dispatchOpVisitable enableAssetchange the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well +findTypeHandler getAppconfigaccess the configuation value for a given key.
@return empty string for unknown keys, else the corresponding configuration value get_reprAllocation getAssetAssetManagerfind and return corresponging object @@ -48,20 +49,23 @@ isActiveAssetweather this asset is swithced on and consequently included in the fixture and participates in rendering knownAssetManager@return true if the given id is registered in the internal asset DB loadSessManagerreplace the current session by a new
session loaded from serialized state. +makeTypeHandler playRenderEngineTODO: will probably be handled differently (see Cehteh) removeAssetManagerremove the given asset <i>together with all its dependants</i> from the internal DB resetSessManagerreset all session config and
start with a pristine default session. resolvePlacementcreate an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements. +resolveQueryHandler +resolveQueryHandlerImpl rootCauseErrorIf this exception was caused by a chain of further exceptions,
return the first one registered in this throw sequence.
This works only, if every exceptions thrown as a consequence
of another exception is propperly constructed by passing
the original exception to the constructor saveSessManagercreate a complete, serialized representation
of the current session config and contents.
@todo how to serialize, prameters, return value? treatApplicable treatBuilderToolThis operation is to be overloaded for the specific MObject subclasses to be treated. +treatNodeCreatorTool treatNodeCreatorTool treatNodeCreatorTool treatNodeCreatorTool -treatNodeCreatorTool -treatSegmentationTool treatSegmentationTool +treatSegmentationTool treatSegmentationTool useFileFileProviderAnnounces that the application intends to use this file with mode (READ|WRITE|READWRITE) useTemporaryStorageFileProviderProvides a pool for interminate frames diff --git a/doc/devel/uml/usecasediagrams.html b/doc/devel/uml/usecasediagrams.html index 62cd42a0e..c6ce03c64 100644 --- a/doc/devel/uml/usecasediagrams.html +++ b/doc/devel/uml/usecasediagrams.html @@ -17,6 +17,7 @@ +
backend use cases
when to query
diff --git a/doc/devel/uml/usecases.html b/doc/devel/uml/usecases.html index d55241488..9b7d44a88 100644 --- a/doc/devel/uml/usecases.html +++ b/doc/devel/uml/usecases.html @@ -18,8 +18,14 @@ + + + + + +
access Channel
access File
add new object to session
ConfigQuery
create specific object
detect Channels
load Media
load object from session
need sub object
use "default" object
diff --git a/uml/lumiera/128261 b/uml/lumiera/128261 index c30e7ce9e..6394cfca5 100644 --- a/uml/lumiera/128261 +++ b/uml/lumiera/128261 @@ -1,6 +1,6 @@ format 40 "MObject" // ProcessingLayer::MObject - revision 29 + revision 30 modified_by 5 "hiv" // class settings //class diagram settings @@ -104,6 +104,15 @@ configuration of all Objects to be rendered" classrelation_ref 144773 // current () b multiplicity "" parent class_ref 139781 // SessManager end + + classrelation 150917 // defaults () + relation 148101 ---> + a role_name "defaults" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 150917 // defaults () + b multiplicity "" parent class_ref 141445 // DefaultsManager + end end class 128005 "SessionImpl" diff --git a/uml/lumiera/128517 b/uml/lumiera/128517 index 14fa5def7..5eed4e170 100644 --- a/uml/lumiera/128517 +++ b/uml/lumiera/128517 @@ -1,6 +1,6 @@ format 40 "CommonLib" // CommonLib - revision 11 + revision 12 modified_by 5 "hiv" // class settings //class diagram settings @@ -26,6 +26,8 @@ format 40 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 + package_ref 131077 // ConfigQuery + classview 128773 "error" //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_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 diff --git a/uml/lumiera/129285 b/uml/lumiera/129285 index 17a54b8b9..1a005d8e9 100644 --- a/uml/lumiera/129285 +++ b/uml/lumiera/129285 @@ -1,6 +1,6 @@ format 40 "ProcessingLayer" // ProcessingLayer - revision 12 + revision 13 modified_by 5 "hiv" // class settings //class diagram settings diff --git a/uml/lumiera/131077 b/uml/lumiera/131077 new file mode 100644 index 000000000..c996ebb90 --- /dev/null +++ b/uml/lumiera/131077 @@ -0,0 +1,551 @@ +format 40 +"ConfigQuery" // CommonLib::ConfigQuery + revision 1 + 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_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 + //use case diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow 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 + //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 + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + //component diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + draw_component_as_icon default show_component_req_prov default show_component_rea default + //deployment diagram settings + package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default + draw_component_as_icon default show_component_req_prov default show_component_rea 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 + //activity diagram settings + package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default + show_infonote default drawing_language default + + componentview 128261 "Query System overview" + //component diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + draw_component_as_icon default show_component_req_prov default show_component_rea default + componentdiagram 131589 "components" + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + draw_component_as_icon default show_component_req_prov default show_component_rea default + size A4 + end + + component 130565 "ConfigRules" + comment "A system for accessing various kinds of preconfigured objects by querying for capabilities." + end + + component 130693 "Resolver" + end + + component 130821 "Rule Base" + end + + component 130949 "DefaultsManager" + end + end + + classview 129157 "query" + //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_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 + //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 + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow 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 + //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 + //class settings + //activity diagram settings + package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default + show_infonote default drawing_language default + + classdiagram 131461 "Rules access" + draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + size A4 + end + + class 140549 "ConfigRules" + abstract visibility public stereotype "interface" + nactuals 1 + actual class class_ref 140677 // QueryHandler + rank 0 explicit_value "" + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "${comment}${@}${visibility}interface ${name}${extends} { +${members}} +" + idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { +${members}}; +" + explicit_switch_type "" + + comment "public acces point for running Config Queries" + classrelation 148357 // + relation 146181 ---|> + a public + cpp default "${type}" + classrelation_ref 148357 // + b multiplicity "" parent class_ref 140677 // QueryHandler + end + + classrelation 148485 // + relation 146309 ---- + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 148485 // + b role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 148613 // + end + + classrelation 148741 // + relation 146437 ---- + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 148741 // + b role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 148869 // + end + end + + class 140677 "QueryHandler" + abstract visibility public stereotype "interface" + nformals 1 + formal name "TY" type "class" explicit_default_value "" + explicit_extends "" + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "${comment}${@}${visibility}interface ${name}${extends} { +${members}} +" + idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { +${members}}; +" + explicit_switch_type "" + + classrelation 148613 // + relation_ref 146309 // + end + + classrelation 148869 // + relation_ref 146437 // + end + + operation 135301 "resolve" + public explicit_return_type "bool" + nparams 2 + param inout name "solution" explicit_type "P" + param in name "query" explicit_type "Query" + 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 140805 "TypeHandler" + abstract visibility public stereotype "interface" + nformals 1 + formal name "TY" type "class" explicit_default_value "" + explicit_extends "" + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "${comment}${@}${visibility}interface ${name}${extends} { +${members}} +" + idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { +${members}}; +" + explicit_switch_type "" + + operation 135045 "find" + abstract cpp_virtual public explicit_return_type "TY" + nparams 1 + param in name "capabilities" explicit_type "Pred" + cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" + + + end + + operation 135173 "make" + abstract cpp_virtual public explicit_return_type "TY" + nparams 1 + param in name "capabilities" explicit_type "Pred" + cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};" + + + end + end + + class 140933 "ResolverBase" + abstract visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 148997 // + relation 146565 -_-|> + a public + cpp default "${type}" + classrelation_ref 148997 // + b multiplicity "" parent class_ref 140549 // ConfigRules + end + end + + class 141061 "YAP_Prolog" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 150405 // + relation 147717 -_-> + a default + cpp default "Generated" + classrelation_ref 150405 // + b multiplicity "" parent class_ref 140805 // TypeHandler + end + end + + class 141189 "QueryHandlerImpl" + 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 "" + idl_decl "" + explicit_switch_type "" + + classrelation 149125 // + relation 146693 ---|> + a public + cpp default "${type}" + classrelation_ref 149125 // + b multiplicity "" parent class_ref 140933 // ResolverBase + end + + classrelation 149253 // + relation 146821 ---- + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 149253 // + b role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 149381 // + end + + classrelation 149381 // + relation_ref 146821 // + end + + classrelation 149509 // + relation 146949 ---- + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 149509 // + b role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 149637 // + end + + classrelation 149637 // + relation_ref 146949 // + end + + operation 135429 "resolve" + public explicit_return_type "bool" + nparams 2 + param inout name "solution" explicit_type "P" + param in name "query" explicit_type "Query" + 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 + + classrelation 149765 // + relation 147077 ---> + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 149765 // + b multiplicity "" parent class_ref 141061 // YAP_Prolog + end + + classrelation 150149 // + relation 147461 ---> + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 150149 // + b multiplicity "" parent class_ref 141061 // YAP_Prolog + end + + classrelation 150277 // + relation 147589 ---> + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 150277 // + b multiplicity "" parent class_ref 141061 // YAP_Prolog + end + end + + class 141317 "TypeHandler" + visibility package + nactuals 1 + actual class class_ref 140805 // TypeHandler + rank 0 explicit_value "" + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 149893 // + relation 147205 ---> + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 149893 // + b multiplicity "" parent class_ref 138117 // Pipe + end + + classrelation 150021 // + relation 147333 -_-|> + a public + cpp default "${type}" + classrelation_ref 150021 // + b multiplicity "" parent class_ref 140805 // TypeHandler + end + end + + class 141445 "DefaultsManager" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 150533 // + relation 147845 -_-> + a default + cpp default "Generated" + classrelation_ref 150533 // + b multiplicity "" parent class_ref 140549 // ConfigRules + end + + classrelation 150661 // + relation 147973 ---- + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 150661 // + b role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 150789 // + end + end + + class 141573 "DefaultsRegistry" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 150789 // + relation_ref 147973 // + end + end + end + + usecaseview 128389 "query use" + //use case diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow 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 + //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 + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + usecasediagram 131717 "when to query" + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + size A4 + end + + usecase 128517 "create specific object" + //use case diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow 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 + //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 + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + end + + usecase 128645 "use \"default\" object" + //use case diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow 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 + //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 + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + simplerelation 129541 + ---|> + on usecase_ref 128517 // create specific object + end + end + + usecase 128773 "load object from session" + //use case diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow 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 + //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 + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + end + + usecase 128901 "add new object to session" + //use case diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow 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 + //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 + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + end + + class 141701 "User" + visibility package stereotype "actor" + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + end + + class 141829 "Serializer" + visibility package stereotype "actor" + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + end + + usecase 129029 "ConfigQuery" + //use case diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow 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 + //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 + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + end + + usecase 129157 "need sub object" + //use case diagram settings + package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow 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 + //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 + //object diagram settings + write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default + end + + collaborationdiagram 131845 "\"default\" object" + 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 + size A4 + end + + classinstance 135941 "predicate impl" + type class_ref 140805 // TypeHandler + attributes + end + relations + end + end + end +end diff --git a/uml/lumiera/131461.diagram b/uml/lumiera/131461.diagram new file mode 100644 index 000000000..2afd439c2 --- /dev/null +++ b/uml/lumiera/131461.diagram @@ -0,0 +1,196 @@ +format 40 + +packagecanvas 128005 + package_ref 131077 // ConfigQuery + xyzwh 194 34 1980 445 495 +classcanvas 128133 class_ref 140549 // ConfigRules + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + color verylightorange + xyz 268 364 2005 + end +classcanvas 128261 class_ref 140677 // QueryHandler + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 217 237 2005 + end +classcanvas 128389 class_ref 140677 // QueryHandler + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 264 218 2005 + end +classcanvas 128517 class_ref 140677 // QueryHandler + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 302 205 2005 + end +classcanvas 128645 class_ref 140805 // TypeHandler + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 262 88 2005 + end +classcanvas 128901 class_ref 140805 // TypeHandler + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 215 98 2010 + end +classcanvas 129029 class_ref 140805 // TypeHandler + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 307 77 1995 + end +classcanvas 129541 class_ref 140933 // ResolverBase + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 451 223 2000 + end +classcanvas 129669 class_ref 141061 // YAP_Prolog + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 554 155 2000 + end +classcanvas 130437 class_ref 141189 // QueryHandlerImpl + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 439 280 2000 + end +classcanvas 130693 class_ref 141189 // QueryHandlerImpl + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 439 360 2000 + end +classcanvas 130821 class_ref 141189 // QueryHandlerImpl + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 439 442 2000 + end +classcanvas 132613 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_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 + xyz 84 123 2000 + end +classcanvas 132741 class_ref 141317 // TypeHandler + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 18 244 2000 + end +classcanvas 133381 class_ref 136581 // AssetManager + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 19 25 2005 + end +fragment 133637 "Rule Base" + xyzwh 425 67 1985 202 78 +end +classcanvas 135941 class_ref 141445 // DefaultsManager + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 58 415 2000 + end +classcanvas 136069 class_ref 141573 // DefaultsRegistry + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 59 481 2000 + end +classcanvas 136709 class_ref 139653 // Session + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 19 313 2005 + end +textcanvas 137093 "queries" + xyzwh 201 414 2000 38 18 +textcanvas 137221 "invokes" + xyzwh 557 500 2005 40 18 +textcanvas 137349 "invokes" + xyzwh 549 386 2005 40 18 +textcanvas 137477 "provide type specific implementation" + xyzwh 83 207 2005 102 39 +note 137605 "Prolog rules use TypeHandler interface to imlement predicates" + xyzwh 503 38 2000 176 59 +classcanvas 137733 class_ref 137989 // 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_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 + xyz 104 99 1995 + end +classcanvas 137861 class_ref 138757 // ProcPatt + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 118 75 1990 + end +classcanvas 137989 class_ref 129029 // Effect + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 134 47 1985 + end +classcanvas 138117 class_ref 137861 // Codec + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default 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 + xyz 144 22 1975 + end +relationcanvas 128773 relation_ref 146181 // + from ref 128133 z 2004 to ref 128261 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 129157 relation_ref 146309 // + from ref 128133 z 2004 to ref 128389 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 129285 relation_ref 146437 // + from ref 128133 z 1999 to ref 128517 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 130565 relation_ref 146693 // + from ref 130437 z 1999 to ref 129541 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 130949 relation_ref 146821 // + from ref 130821 z 1999 to ref 130693 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 131077 relation_ref 146949 // + from ref 130693 z 1999 to ref 130437 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 131973 relation_ref 146693 // + from ref 130693 z 1999 to ref 129541 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 132101 relation_ref 146693 // + from ref 130821 z 1999 to ref 129541 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 132869 relation_ref 147205 // + from ref 132741 z 1999 to point 73 205 + line 133509 z 1999 to ref 132613 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 132997 relation_ref 147333 // + from ref 132741 z 1999 to point 73 226 + line 133253 z 1999 to point 168 226 + line 133125 z 1999 to ref 128901 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 133765 relation_ref 147077 // + from ref 130693 z 1999 to point 542 417 + line 133893 z 1999 to point 589 403 + line 134021 z 1999 to ref 129669 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 134149 relation_ref 146565 // + from ref 129541 z 1999 to point 491 182 + line 134661 z 1999 to point 434 182 + line 134533 z 1999 to point 348 473 + line 134405 z 1999 to point 304 473 + line 134277 z 1999 to ref 128133 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 134789 relation_ref 147461 // + from ref 130821 z 1999 to point 543 502 + line 135045 z 1999 to point 589 490 + line 134917 z 1999 to ref 129669 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 135173 relation_ref 147589 // + from ref 130437 z 1999 to point 543 337 + line 135429 z 1999 to point 589 320 + line 135301 z 1999 to ref 129669 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 135557 relation_ref 147717 // + from ref 129669 z 1994 to point 588 116 + line 135685 z 1994 to point 440 116 + line 135813 z 1994 to ref 129029 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 136197 relation_ref 147845 // + from ref 135941 z 1999 to ref 128133 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 136581 relation_ref 147973 // + from ref 135941 z 1999 to ref 136069 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 136837 relation_ref 148101 // + from ref 136709 z 1999 to point 105 348 + line 136965 z 1999 to ref 135941 + role_a_pos 117 390 3000 no_role_b + no_multiplicity_a no_multiplicity_b +end diff --git a/uml/lumiera/131589.diagram b/uml/lumiera/131589.diagram new file mode 100644 index 000000000..81414854d --- /dev/null +++ b/uml/lumiera/131589.diagram @@ -0,0 +1,21 @@ +format 40 + +componentcanvas 128005 component_ref 130565 // ConfigRules + draw_component_as_icon default show_component_req_prov default show_component_rea default + xyzwh 207 133 2000 259 219 +componentcanvas 128133 component_ref 130693 // Resolver + draw_component_as_icon default show_component_req_prov default show_component_rea default + xyzwh 416 17 2005 155 63 +componentcanvas 128261 component_ref 130821 // Rule Base + draw_component_as_icon default show_component_req_prov default show_component_rea default + xyzwh 227 15 2000 156 82 +componentcanvas 128389 component_ref 128645 // AssetManagement + draw_component_as_icon default show_component_req_prov default show_component_rea default + xyzwh 461 366 2000 187 120 +componentcanvas 128517 component_ref 128133 // Session + draw_component_as_icon default show_component_req_prov default show_component_rea default + xyzwh 23 15 2000 190 108 +componentcanvas 128645 component_ref 130949 // DefaultsManager + draw_component_as_icon default show_component_req_prov default show_component_rea default + xyzwh 23 146 2005 155 63 +end diff --git a/uml/lumiera/131717.diagram b/uml/lumiera/131717.diagram new file mode 100644 index 000000000..b633daae5 --- /dev/null +++ b/uml/lumiera/131717.diagram @@ -0,0 +1,45 @@ +format 40 + +usecasecanvas 128005 usecase_ref 128517 // create specific object + xyzwh 461 161 3005 64 32 label_xy 442 193 +usecasecanvas 128133 usecase_ref 128645 // use "default" object + xyzwh 462 267 3005 64 32 label_xy 448 299 +usecasecanvas 128261 usecase_ref 128773 // load object from session + xyzwh 159 259 3005 64 32 label_xy 132 291 +usecasecanvas 128389 usecase_ref 128901 // add new object to session + xyzwh 159 116 3005 64 32 label_xy 128 148 +classcanvas 128517 class_ref 141701 // User + xyz 40 56 3005 label_xy 48 96 +classcanvas 128645 class_ref 141829 // Serializer + xyz 40 255 3005 label_xy 38 295 +usecasecanvas 128773 usecase_ref 129029 // ConfigQuery + color lightorange + xyzwh 337 211 3005 64 32 label_xy 338 243 +usecasecanvas 129797 usecase_ref 129157 // need sub object + xyzwh 358 61 3005 64 32 label_xy 352 93 +packagecanvas 130437 + package_ref 131077 // ConfigQuery + xyzwh 304 18 3010 281 390 +fragment 130693 "EDL/Session" + xyzwh 94 40 3009 181 368 +end +line 128901 ---> + from ref 128517 z 3004 to ref 128389 +line 129029 ---> + from ref 128389 z 3004 to ref 128773 +simplerelationcanvas 129157 simplerelation_ref 129541 + from ref 128133 z 3004 to ref 128005 +line 129285 ---> + from ref 128773 z 3004 to ref 128005 +line 129413 ---> + from ref 128773 z 3004 to ref 128133 +line 129541 ---> + from ref 128261 z 3004 to ref 128773 +line 129669 ---> + from ref 128645 z 3004 to ref 128261 +line 129925 ---> + from ref 128005 z 1999 to point 489 87 + line 130053 z 1999 to ref 129797 +line 130309 ---> + from ref 129797 z 3004 to ref 128773 +end diff --git a/uml/lumiera/131845.diagram b/uml/lumiera/131845.diagram new file mode 100644 index 000000000..aa4bf61a3 --- /dev/null +++ b/uml/lumiera/131845.diagram @@ -0,0 +1,68 @@ +format 40 + +classinstance 128005 class_ref 140549 // ConfigRules + name "" xyz 245 192 2000 +classinstance 128133 class_ref 141445 // DefaultsManager + name "" xyz 51 83 2000 +classinstance 128261 class_ref 141573 // DefaultsRegistry + name "" xyz 244 58 2000 +classinstancecanvas 128517 classinstance_ref 135941 // predicate impl + xyz 344 347 2000 + end +classinstance 128901 class_ref 135301 // Factory + name "" xyz 439 206 2000 +classinstance 129797 class_ref 136581 // AssetManager + name "" xyz 376 447 2000 +textcanvas 130437 "recursive invocation of sub queries" + xyzwh 332 185 2004 172 18 +linkcanvas 128389 + from ref 128133 z 1999 to ref 128261 +dirscanvas 129413 z 1000 linkcanvas_ref 128389 + 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 + forward_label "1 get registered default object +6 store new default object" xyz 92 30 3000 +linkcanvas 128645 + from ref 128133 z 1999 to ref 128005 +dirscanvas 129541 z 1000 linkcanvas_ref 128645 + 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 + forward_label "2 resolve(inout solution : Query) : bool" xyz 94 157 3000 +linkcanvas 128773 + from ref 128005 z 1999 to ref 128517 +dirscanvas 129669 z 1000 linkcanvas_ref 128773 + 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 + forward_label "3 run prolog code" xyz 335 248 3000 +linkcanvas 129029 + from ref 128517 z 1999 to ref 128901 +dirscanvas 130181 z 1000 linkcanvas_ref 129029 + 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 + forward_label "5 create new instances" xyz 448 275 3000 +linkcanvas 129925 + from ref 128517 z 1999 to ref 129797 +dirscanvas 130053 z 1000 linkcanvas_ref 129925 + 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 + forward_label "4 retrieve existing object" xyz 436 403 3000 +linkcanvas 130309 + from ref 128901 z 1999 to ref 128005 +msgs + explicitmsg "get registered default object" + forward ranks 1 "1" dirscanvas_ref 129413 + no_msg + explicitmsg "resolve(inout solution : Query) : bool" + forward ranks 2 "2" dirscanvas_ref 129541 + msgs + explicitmsg "run prolog code" + forward ranks 3 "2.1" dirscanvas_ref 129669 + msgs + explicitmsg "retrieve existing object" + forward ranks 4 "2.1.1" dirscanvas_ref 130053 + no_msg + explicitmsg "create new instances" + forward ranks 5 "2.1.2" dirscanvas_ref 130181 + no_msg + msgsend + msgsend + explicitmsg "store new default object" + forward ranks 6 "3" dirscanvas_ref 129413 + no_msg +msgsend +end diff --git a/uml/lumiera/5.session b/uml/lumiera/5.session index 2d78dfa96..89c760008 100644 --- a/uml/lumiera/5.session +++ b/uml/lumiera/5.session @@ -3,34 +3,34 @@ diagrams classdiagram_ref 130309 // Asset Kinds 860 633 100 4 158 0 classdiagram_ref 128133 // Session structure - 860 633 100 4 289 0 + 860 633 100 4 349 0 classdiagram_ref 128389 // Render Entities 743 538 100 4 184 0 - active classdiagram_ref 131205 // Struct-Asset Relations - 555 620 100 4 0 0 + classdiagram_ref 131205 // Struct-Asset Relations + 555 620 100 4 60 0 + classdiagram_ref 131461 // Rules access + 688 627 100 4 0 0 + componentdiagram_ref 131589 // components + 688 544 100 4 0 0 + active usecasediagram_ref 131717 // when to query + 624 495 100 4 0 0 + collaborationdiagram_ref 131845 // "default" object + 626 551 100 4 0 0 end show_stereotypes selected -package_ref 129 // lumiera + package_ref 129 // lumiera open - componentview_ref 128133 // interfaces - deploymentview_ref 128133 // EXE Deployment - deploymentview_ref 128645 // gen - class_ref 137477 // Unknown - class_ref 137605 // Preview - class_ref 137989 // Track - class_ref 128005 // SessionImpl - class_ref 128133 // EDL - class_ref 128261 // Fixture - class_ref 128389 // Track - class_ref 128645 // Placement - class_ref 129413 // RelativeLocation - class_ref 129541 // Allocation - class_ref 140421 // Plug - class_ref 139909 // LocatingPin - class_ref 134021 // Buildable - class_ref 134149 // BuilderTool - class_ref 134405 // NodeCreatorTool + + package_ref 128005 // design + + package_ref 129285 // ProcessingLayer + componentview_ref 128261 // Query System overview + class_ref 140677 // QueryHandler + class_ref 140805 // TypeHandler + class_ref 140933 // ResolverBase + class_ref 141189 // QueryHandlerImpl + usecaseview_ref 128389 // query use classview_ref 128773 // error class_ref 140165 // Visitable end diff --git a/uml/lumiera/lumiera.prj b/uml/lumiera/lumiera.prj index 555a8d3ba..8eec4bb57 100644 --- a/uml/lumiera/lumiera.prj +++ b/uml/lumiera/lumiera.prj @@ -1,6 +1,6 @@ format 40 "lumiera" - revision 42 + revision 43 modified_by 5 "hiv" cpp_root_dir "../../src/" @@ -57,7 +57,7 @@ format 40 2008, Christian Thaeter " - key "html dir" value "/mnt/Lager/heim/devel/cin3/doc/devel/uml/" + key "html dir" value "/mnt/Lager/heim/devel/lumi/doc/devel/uml/" key "" value "" package_ref 128005 // design diff --git a/wiki/renderengine.html b/wiki/renderengine.html index 6d764e90b..c70827a4f 100644 --- a/wiki/renderengine.html +++ b/wiki/renderengine.html @@ -797,6 +797,33 @@ Error: #f88 &rarr; [[Configuration Rules system|ConfigRules]]
+
+
* planning to embed a YAP Prolog engine
+* currently just integrated by a table driven mock
+* the baseline is a bit more clear by now (4/08)
+
+&rarr; see also ConfigRules
+&rarr; see also DefaultsManagement
+
+!Use cases
+[<img[when to run config queries|uml/fig131717.png]]
+
+The key idea is that there is a Rule Base &mdash; partly contained in the session (building on a stock of standard rules supplied with the application). Now, whenever there is the need to get a new object, for adding it to the session or for using associated with another object &mdash; then instead of creating it by a direct hard wired ctor call, we issue a ConfigQuery requesting an object of the given type with some //capabilities// defined by predicates. The same holds true when loading an existing session: some objects won't be loaded back blindly, rather they will be re-created by issuing the config queries again. Especially important is the case of (re)creating a [[processing pattern|ProcPatt]] guiding how to wire up the processing pipeline for some given media.
+
+At various places, instead of requiring a fixed set of capabilities, it is possible to request a "default configured" object instead, specifying just those capabilities we really need to be configured in a specific way. This is done by using the [Defaults Manager|DefaultsManagement] accessible on the [[Session]] interface. Such a default object query may either retrieve an already existing object instance, run further config queries, and finally result in the invocation of a factory for creating new objects &mdash; just as necessary and guarded by the rules.
+
+@@clear(left):display(block):@@
+
+!Components and Relations
+[>img[participating classes|uml/fig131461.png]]
+
+@@clear(right):display(block):@@
+
+!when querying for a [["default"|DefaultsManagement]] object
+[<img[colaboration when issuing a defaults query|uml/fig131845.png]]
+
+@@clear(left):display(block):@@
+
Many features can be implemented by specifically configuring and wiring some unspecific components. Rather than tie the client code in need of some given feature to these configuration internals, in Lumiera the client can //query // for some kind of object providing the //needed capabilities. // Right from start (summer 2007), Ichthyo had the intention to implement such a feature using sort of a ''declarative database'', e.g. by embedding a Prolog system. By adding rules to the basic session configuration, users should be able to customize the semi-automatic part of Lumiera's behaviour to great extent.
 
@@ -1140,7 +1167,7 @@ For this Lumiera design, we could consider making GOP just another raw media dat
 &rarr;see in [[Wikipedia|http://en.wikipedia.org/wiki/Group_of_pictures]]
 
-
+
This wiki page is the entry point to detail notes covering some technical decisions, details and problems encountered in the course of the implementation of the Lumiera Renderengine, the Builder and the related parts.
 
 * [[Packages, Interfaces and Namespaces|InterfaceNamespaces]]
@@ -1154,6 +1181,7 @@ For this Lumiera design, we could consider making GOP just another raw media dat
 * [[using the Visitor pattern?|VisitorUse]] &mdash; resulting in [[»Visiting-Tool« library implementation|VisitingToolImpl]]
 * [[Handling of Tracks and render Pipes in the EDL|TrackPipeEDL]]. [[Handling of Tracks|TrackHandling]] and [[Pipes|PipeHandling]]
 * [[getting default configured|DefaultsManagement]] Objects relying on [[rule-based Configuration Queries|ConfigRules]]
+* [[integrating the Config Query system|ConfigQueryIntegration]]
 * [[identifying the basic Builder operations|BasicBuildingOperations]] and [[planning the Implementation|PlanningNodeCreatorTool]]
 * [[how to handle »attached placement«|AttachedPlacementProblem]]
 
@@ -2465,12 +2493,13 @@ Besides, they provide an important __inward interface__ for the [[ProcNode]]s, w
-
+
The Render Engine is the part of the application doing the actual video calculations. Its operations are guided by the Objects and Parameters edited by the user in [[the EDL|EDL]] and it retrieves the raw audio and video data from the [[Data backend|backend.html]]. Because the inner workings of the Render Engine are closely related to the structures used in the EDL, this design covers [[the aspect of objects placed into the EDL|MObjects]] as well.
 <<<
 ''Status'': started out as design draft in summer '07, Ichthyo is now in the middle of a implementing the foundations and main structures in C++
 * basic AssetManager working
 * currently impmenenting the Builder (&rarr;[[more|PlanningNodeCreatorTool]])
+* intermittently working out how to deal with &rarr; [[ConfigQueries / default objects|ConfigQueryIntegration]])
 <<<
 
 !Summary
@@ -2486,7 +2515,7 @@ The system is ''open'' inasmuch every part mirrors the structure of correspondin
 &rarr; [[Overview Render Engine|OverviewRenderEngine]]
 &rarr; BuildProcess and RenderProcess
 &rarr; [[Two Examples|Examples]] (Object diagrams) 
-&rarr; how [[Automation]] works  {{red{to be defined in more detail}}}
+&rarr; how [[Automation]] works
 &rarr; [[Problems|ProblemsTodo]] to be solved and notable [[design decisions|DesignDecisions]]
 &rarr; [[Implementation Details|ImplementationDetails]] {{red{WIP}}}