User Tools

Site Tools


extend_api_using_a_metaobject_protocol

====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
extend_api_using_a_metaobject_protocol [2013/01/15 15:51]
rburkhart
extend_api_using_a_metaobject_protocol [2013/01/27 13:26]
rburkhart
Line 3: Line 3:
 ===== Extend API using a metaobject protocol (Roger) ===== ===== Extend API using a metaobject protocol (Roger) =====
  
-Since the scope of API4KB will span many levels and types of expressibility within a knowledge base, including operations and services specific to each, provide users with the ability to extend any initial ​%%API%% ​using metaobject protocol. Metaobjects ​that define the basic elements of an %%API%%, and mappings of these services to their underlying implementations, should themselves be available for access and extension ​through the most basic layers of API4KB.+Provide users with the ability to extend any initial %%API%% using a metaobject protocol. ​Since the scope of API4KB will span many levels and types of expressibility within a knowledge base, including operations and services specific to each, customized ​%%API%%'s could be established by operations against other %%API%%'​s,​ until reduced to equivalent operations against ​basic, core %%API%%. Metaobjects ​to define the basic elements of an %%API%%, and to map these services to their definitions in terms of operations on existing %%API%%'​s, should themselves be available for access and manipulation ​through the most basic layers of API4KB.
  
-For example, a small core definition ​of essential API4KB operations could be supplied by a REST-compatible linked data interface, thereby satisfying RFP requirement 6.1.2, "The API4KB standard will provide a standard way to access and query knowledge bases in tools [for] building the Semantic Web." A definition of metaobjects to add new operations and services to this basic %%API%% ​would be published as Basic Profile Resources, also defined in the core of API4KB. Additional %%API%%'​s and services ​defined by API4KB itself, along with those of API4KB users for their own specific needs, ​could then be established by operations against this basic extensibility %%API%%. All extended layers of %%API%% services, both those established by API4KB itself and by user extension, ​would be defined ​unambiguously within the KB by means of extensibility operations performed using the metaobject protocol.+For example, a small core of essential API4KB operations could be supplied by a REST-compatible linked data interface, thereby satisfying RFP requirement 6.1.2, "The API4KB standard will provide a standard way to access and query knowledge bases in tools [for] building the Semantic Web." A definition of metaobjects to add new operations and services to this basic %%API%% ​could then be published as additional linked data resources. Additional %%API%%'​s and services could be established by operations against this extensibility %%API%%, either by API4KB itself or by API4KB users for their own specific needs. All extended layers of %%API%% services would be defined by  extensibility operations performed using the metaobject protocol.
  
 Background: "The essence of a Metaobject Protocol is simple: every aspect of a program'​s mapping down onto the lower level substrate (i.e. its compilation and runtime support) is controlled by some object or set of objects following a well-defined protocol."​ [[http://​c2.com/​cgi/​wiki?​MetaObjectProtocol|(Wiki Wiki Web)]]. See also:​[[http://​en.wikipedia.org/​wiki/​Metaobject|Metaobject article in Wikipedia]] and [[http://​en.wikipedia.org/​wiki/​The_Art_of_the_Metaobject_Protocol|The Art of the Metaobject Protocol]] ([[http://​www.amazon.com/​Art-Metaobject-Protocol-Gregor-Kiczales/​dp/​0262610744#​_|Amazon]]). Please note that operational use of metaobjects to provide comprehensive access to the working elements of a more basic level, and to enable this access not only for further extension but to every aspect of  interpretation and implementation,​ is considerably broader than the use of "​meta"​ layers to represent static relationships within an information architecture,​ such as those of the [[http://​www.omg.org/​spec/​MOF/​|Meta Object Facility (MOF)]] of %%OMG%%. Background: "The essence of a Metaobject Protocol is simple: every aspect of a program'​s mapping down onto the lower level substrate (i.e. its compilation and runtime support) is controlled by some object or set of objects following a well-defined protocol."​ [[http://​c2.com/​cgi/​wiki?​MetaObjectProtocol|(Wiki Wiki Web)]]. See also:​[[http://​en.wikipedia.org/​wiki/​Metaobject|Metaobject article in Wikipedia]] and [[http://​en.wikipedia.org/​wiki/​The_Art_of_the_Metaobject_Protocol|The Art of the Metaobject Protocol]] ([[http://​www.amazon.com/​Art-Metaobject-Protocol-Gregor-Kiczales/​dp/​0262610744#​_|Amazon]]). Please note that operational use of metaobjects to provide comprehensive access to the working elements of a more basic level, and to enable this access not only for further extension but to every aspect of  interpretation and implementation,​ is considerably broader than the use of "​meta"​ layers to represent static relationships within an information architecture,​ such as those of the [[http://​www.omg.org/​spec/​MOF/​|Meta Object Facility (MOF)]] of %%OMG%%.
- 
extend_api_using_a_metaobject_protocol.txt ยท Last modified: 2013/01/27 14:17 by rburkhart