This document is intended to enumerate and describe the specifications that are necessary for formalizing the Magnetar architecture. More specifically, it contains pointers to documents that describe the standard Application Programming Interface(API)s for the different components of Magnetar.
This following are the different deliverables needed to formalize the Magnetar architecture:
This document is responsible for describing the details of the Magnetar architecture. The audience of this document would typically be software developers trying to develop components ( engine, systems, agents etc.) to fit in a Magnetar network. It must clearly explain the nitty-gritty details of the architecture. It could provide guidelines for the design and implementation of components in accordance with the architecture.
This specification discusses the set of methods needed to be implemented and exposed by an engine in Magnetar. It is intended to be read by engine developers who might be experts in different fields of Computer Science. For e.g., a network programmer who might want to develop a network engine for a Magnetar federation, might like to read this document for understanding the requirements for implementing his network engine as a Magnetar component.
This specification discusses the set of methods needed to be implemented by a blackboard in Magnetar. The blackboard API must be standardized because agents in a Magnetar engine, which communicate with each other using the blackboard API, must be capable of being independently developed and plugged in. The audience of this document would typically be agent developers and engine developers.
This document delineates the API that must be exposed by an agent. It might be of interest to both agent as well as engine developers. The latter might need to get an understanding of the methods an agent would implement so that she can code her blackboard to communicate with agents using this API.
Since we define an agent in Magnetar as any independent software module that encapsulates some specialized functionality, a scheduler can also be implemented as as agent. In that case, besides implementing the agent API, a scheduler must also implement some methods that perform appropriate scheduling of agent execution. These methods must be specified in the scheduler API specification document.
A console/platform must provide mechanisms for systems to be assembled for a specific user. Typically this document will be read by both system developers and platform developers.