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
extend_api_using_a_metaobject_protocol [2013/01/27 13:26]
rburkhart
extend_api_using_a_metaobject_protocol [2013/01/27 14:17] (current)
rburkhart
Line 3: Line 3:
 ===== Extend API using a metaobject protocol (Roger) ===== ===== Extend API using a metaobject protocol (Roger) =====
  
-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 a 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.+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 a basic, core %%API%%. Metaobjects to define the basic elements of an %%API%%, and to map these services to equivalent ​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 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. 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 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