User Tools

Site Tools


extend_api_using_a_metaobject_protocol

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

([[http://www.omgwiki.org/API4KB/doku.php?id=api4kb_usecases|Link back to API4KB Use Cases Page]]) ===== 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. 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%%.

extend_api_using_a_metaobject_protocol.1359311188.txt.gz · Last modified: 2013/01/27 13:26 by rburkhart