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
Next revision Both sides next revision
extend_api_using_a_metaobject_protocol [2013/01/14 11:29]
rburkhart
extend_api_using_a_metaobject_protocol [2013/01/15 15:51]
rburkhart
Line 5: Line 5:
 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 a 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. 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 a 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.
  
-For example, a small core definition of essential API4KB operations could be supplied by a REST-compatible linked data interface, such as the [[http://​www.w3.org/​Submission/​ldbp/​|Linked Data Basic Profile]], 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 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.
  
 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