Cybele is a proprietary software infrastructure for use by programmers in developing agent-based application programs [complex application programs that contain autonomous, interacting components (agents)]. Cybele provides support for event handling from multiple sources, multi-threading, concurrency control, migration, and load balancing. A Cybele agent follows a programming paradigm, called activity-centric programming, that enables an abstraction over system-level thread mechanisms. Activity-centric programming relieves application programmers of the complex tasks of thread management,concurrency control, and event management.In order to provide such functionality, activity-centric programming demands support of other layers of software. This concludes the background information.
In the first phase of the present development, a new architecture for Cybele was defined. In this architecture, Cybele follows a modular service-based approach to coupling of the programming and service layers of software architecture. In a service-based approach, the functionalities supported by activity-centric programming are apportioned, according to their characteristics, among several groups called services. A well-defined interface among all such services serves as a path that facilitates the maintenance and enhancement of such services without adverse effect on the whole software framework. The activity-centric application-program interface (API) is part of a kernel. The kernel API calls the services by use of their published interface. This approach makes it possible for any application code written exclusively under the API to be portable for any configuration of Cybele.
This program was written by Renato Levy, Goutam Satapathy, and Jun Lang of Intelligent Automation, Inc., for Johnson Space Center . For further information, contact:
Intelligent Automation, Inc.
2 Research Place, Suite 202
Refer to MSC-23239.