ONF Spec approach Instance repository Understands how to

  • Slides: 22
Download presentation
ONF Spec approach

ONF Spec approach

Instance repository Understands how to navigate the core schema and how to extend the

Instance repository Understands how to navigate the core schema and how to extend the core classes Does NOT know any specific extensions Controller with no controllable things Core schema Repository of extension schema Instance repository x Schema repository Controllable things Understands how to navigate the core schema Uses a subset of the core schema Understands how to extend the core classes Runs with extension X Core schema x Extension schema X Running controllable thing with real stuff to control Extension schema X Extension schema Y Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository Understands how to navigate the core schema and how to extend the

Instance repository Understands how to navigate the core schema and how to extend the core classes Does NOT know any specific extensions Controller connects to device with controllable things Core schema Repository of extension schema Schema repository x Controllable things Understands how to navigate the core schema Uses a subset of the core schema Understands how to extend the core classes Runs with extension X Core schema x Extension schema X Running controllable thing with real stuff to control Extension schema X Extension schema Y Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository Understands how to navigate the core schema and how to extend the

Instance repository Understands how to navigate the core schema and how to extend the core classes Does NOT know any specific extensions Controller gets some instances of Controllable things Core schema Repository of extension schema x x Schema repository Controllable things Understands how to navigate the core schema Uses a subset of the core schema Understands how to extend the core classes Runs with extension X Core schema x Extension schema X Running controllable thing with real stuff to control Extension schema X Extension schema Y Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository ? ? x Understands how to navigate the core schema and how

Instance repository ? ? x Understands how to navigate the core schema and how to extend the core classes Does NOT know any specific extensions Controller ? ? Controller does not understand the extensions Core schema Controller cannot interpret extension Repository of extension schema Schema repository x Controllable things Understands how to navigate the core schema Uses a subset of the core schema Understands how to extend the core classes Runs with extension X Core schema x Extension schema X Running controllable thing with real stuff to control Extension schema X Extension schema Y Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository ? ? x Understands how to navigate the core schema and how

Instance repository ? ? x Understands how to navigate the core schema and how to extend the core classes Does NOT know any specific extensions Controller ? ? Controller gets appropriate extension schema from repository Core schema Controller cannot interpret extension Repository of extension schema Schema repository x Controllable things Understands how to navigate the core schema Uses a subset of the core schema Understands how to extend the core classes Runs with extension X Core schema x Extension schema X Running controllable thing with real stuff to control Extension schema X Extension schema Y Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository Controller installs extension schema Understands how to navigate the core schema and

Instance repository Controller installs extension schema Understands how to navigate the core schema and how to extend the core classes Knows extension X x Controller can now interpret extension structure and rules Core schema Extension schema Repository of extension schema Instance repository x Schema repository Controllable things Understands how to navigate the core schema Uses a subset of the core schema Understands how to extend the core classes Runs with extension X Core schema x Extension schema X Running controllable thing with real stuff to control Extension schema X Extension schema Y Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

 • The client can now propagate the attributes • Police read/write and attribute

• The client can now propagate the attributes • Police read/write and attribute ranges etc • Validate legality of values • Present specific capabilities to generalized applications • BUT the generalized application may not have sufficient to process the attribute fully

Acquiring plug-ins

Acquiring plug-ins

 • To fully process the attributes of the extension it will be necessary

• To fully process the attributes of the extension it will be necessary to either have a deep interpretable spec (spec on spec) or to have plugin code (that applies to the particular implementation of controller) • The following slides explore the plug-in mechanism (as the spec mechanism is just more of the previous section )

Instance repository Controller only has code to deal with core schema Understands how to

Instance repository Controller only has code to deal with core schema Understands how to navigate the core schema and how to extend the core classes Knows extension X Controller Core schema Plugin X Repository of plugins Plugin repository Plugin Y A plugin is a piece of code that is compatible with a particular controller (or vendor component) The plugin indicates which attributes it deals with, which functionality it provides etc.

Running controller installs extension schema Instance repository Understands how to navigate the core schema

Running controller installs extension schema Instance repository Understands how to navigate the core schema and how to extend the core classes Knows extension X Controller can now interpret extension structure/rules but does not have full capability Controller gets Extension schema (as in earlier example) Core schema Extension schema Schema extension is determined as discussed in the previous section Plugin X Repository of plugins Plugin repository Plugin Y A plugin is a piece of code that is compatible with a particular controller (or vendor component) The plugin indicates which attributes it deals with, which functionality it provides etc.

Running controller installs extension schema Instance repository Understands how to navigate the core schema

Running controller installs extension schema Instance repository Understands how to navigate the core schema and how to extend the core classes Knows extension X Controller can now interpret extension structure/rules but does not have full capability Controller gets compatible code that deals with attributes of extension Core schema Extension schema Plugin X Repository of plugins Plugin repository Plugin Y A plugin is a piece of code that is compatible with a particular controller (or vendor component) The plugin indicates which attributes it deals with, which functionality it provides etc.

Running controller installs extension schema Instance repository Understands how to navigate the core schema

Running controller installs extension schema Instance repository Understands how to navigate the core schema and how to extend the core classes Knows extension X Controller can deal with all relevant aspects of the extension Controller can now perform specialist process of the extension Core schema Extension schema Plugin X Repository of plugins Plugin repository Plugin Y A plugin is a piece of code that is compatible with a particular controller (or vendor component) The plugin indicates which attributes it deals with, which functionality it provides etc.

The scheme spec

The scheme spec

Instance repository Device with controllable thing can arrange items following “Scheme S” Understands how

Instance repository Device with controllable thing can arrange items following “Scheme S” Understands how to navigate the schema and how to deal with schemes. Has rules for Scheme S Schema Controller Scheme S Repository of Schemes Schema repository Controllable things Schema Scheme S Understands schema Understands how to assemble Scheme S Running controllable thing with real stuff to control Scheme T Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository Controller learns that Scheme S is relevant to a device it controls

Instance repository Controller learns that Scheme S is relevant to a device it controls Understands how to navigate the schema and how to deal with schemes. Has rules for Scheme S Schema Controller Scheme S Repository of Schemes Capable of supporting scheme S Controllable things Schema repository Schema Scheme S Understands schema Understands how to assemble Scheme S Running controllable thing with real stuff to control Scheme T Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository Controller gets some Scheme S spec from Scheme repository Understands how to

Instance repository Controller gets some Scheme S spec from Scheme repository Understands how to navigate the schema and how to deal with schemes. Has rules for Scheme S Schema Controller Scheme S Repository of Schemes Schema repository Controllable things Schema Scheme S Understands schema Understands how to assemble Scheme S Running controllable thing with real stuff to control Scheme T Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository Controller now has spec for Scheme S (which uses things from the

Instance repository Controller now has spec for Scheme S (which uses things from the schema) Understands how to navigate the schema and how to deal with schemes. Has rules for Scheme S Schema Controller Scheme S Repository of Schemes Schema repository Controllable things Schema Scheme S Understands schema Understands how to assemble Scheme S Running controllable thing with real stuff to control Scheme T Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository Controller designs instance structure abiding by Scheme S Understands how to navigate

Instance repository Controller designs instance structure abiding by Scheme S Understands how to navigate the schema and how to deal with schemes. Has rules for Scheme S Schema Controller Scheme S Repository of Schemes Schema repository Controllable things Schema Scheme S Understands schema Understands how to assemble Scheme S Running controllable thing with real stuff to control Scheme T Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository Controller sends instance details to device with controllable things Understands how to

Instance repository Controller sends instance details to device with controllable things Understands how to navigate the schema and how to deal with schemes. Has rules for Scheme S Schema Controller Scheme S Repository of Schemes Schema repository Controllable things Schema Scheme S Understands schema Understands how to assemble Scheme S Running controllable thing with real stuff to control Scheme T Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems

Instance repository Device validates the structure and applies it Understands how to navigate the

Instance repository Device validates the structure and applies it Understands how to navigate the schema and how to deal with schemes. Has rules for Scheme S Schema Controller Scheme S Repository of Schemes Schema repository Controllable things Schema Scheme S Understands schema Understands how to assemble Scheme S Running controllable thing with real stuff to control Scheme T Schema includes: • Intra-attribute rules • Inter-attribute rules Similarly scheme specs provide details of arrangements of components in systems