The Ilium Framework MS
A Modeling and Simulation Systems Interoperation Platform
The Ilium Framework is an application integration environment that provides a combination of imperative and declarative services to support interoperation between "plugged-in" applications. In particular the Ilium Framework enables the interoperation of a collection of applications - that may range from trusted legacy simulations, analysis and design tools to innovative prototypes - that operate in a common domain, but that were not originally designed to support each other, or even to share information. This kind of interoperation may be motivated by a number of objectives, including, for example, the need to integrate existing applications across an enterprise to improve business processes; a desire to create a more effective, “seamless” workflow, or perhaps a desire to compose a super system that provides important new or extended functionality, from existing components. In many of these situations, it is desirable to reuse existing software, preserve trusted functionality and user interfaces, while augmenting and extending the total capability of the collective system. In the Ilium Framework, selected applications are wrapped as Java plug-ins and added to an instance of the Ilium Framework. The Framework provides services to register, run, synchronize (when appropriate) and coordinate the operations of the plugged in applications to produce desired results from the combined system. A number of standard plug-ins are supplied with the Ilium Framework to support a variety of well known simulations, intelligent agent frameworks (e.g. JACK) and common open source systems. Other plug-ins may be developed for specific applications using the Ilium Framework API.
The imperative services of the Ilium Framework include Java network communications (e.g. JXTA peer-to-peer as well as TCP/IP ), data transport via RDF and XML, deployment (e.g. WebStart) and various agent services. The framework supports an API that allows legacy applications, that may be written in a wide variety of programming languages and depend on a variety of operating systems, to be configured, or “wrapped” as Java plug-ins. In addition, specialized Ilium Objects and Ilium Agents may be developed and added to the collection to represent specific systems and capabilities that are not adequately represented in any of the legacy systems. The Ilium Framework provides communication, control, user interface, and other services to synchronize and otherwise orchestrate the activities of the collection. The image below illustrates a generic configuration of the Ilium Framework. In this view, several types of Ilium Objects manage interactions among legacy applications. Basic Ilium Objects act, mirror and manage interactions between equivalent objects or concepts in the legacy application and other systems plugged into the Framework. Broker Objects provide fine grained control, when appropriate requesting specific services and monitoring the state of their surrogates. Agents provide an intelligent interface between specific legacy objects or processes and the rest of the Framework.

Semantic Interoperation
At a fundamental level, the interoperation of software systems depends on technologies that enable systems to reliably communicate, or transfer messages (signals) in a form that can recognized and decoded as information, and on common semantics that ensure the machine interpretation and use of the received information is consistent with the meaning of the transmitted information The "declarative" services depend largely on Semantic Web technologies and support both the semantic interoperability of plugged-in applications as well as knowledge-base requirements for intelligent agents and other intelligent systems that may be associated with a particular version of the Framework. The Ilium Framework makes use of a suite of "layered" owl ontologies that reference the DOCLE Ultra Light foundation and are related to a number of Linked Open Data peer ontologies. That approach is expected to offer a basis for interoperation with a range of external ontologies. The Ilium Framework Ontology Suite currently consists of a set of mid-level ontologies [e.g. Geospace, Organization, Asset, Situation] which may be further specialized in a particular application domain [MilOrg, MilGeo, MilAsset, MilSit]. These are then combined - through imports - to support specific applications. Figure 2 depicts a typical configuration of the Ilium Framework Ontology Suite. Ilium Framework

Typical Ilium Ontology Suite Configuration
The ontologies are populated with specific information to create a common domain model for the composite system of plugged-in applications. The use of a common domain model developed as an OWL ontology both fosters interoperation among the applications and enables the use of a range of Semantic Web tools (e.g. Jena, Pellet, OWLIM, FaCT++, SPARQL, SWRL, etc.) for queries, inferencing, rule application and other purposes. Finally, the framework incorporates Jena [1], a popular open source set of Semantic Web tools, and supports ontologies developed with a variety of OWL ontology editors (e.g. Protégé [2]) as well as an associated set of DL reasoners and rule engines. This latter set of tools and services supports various knowledge-based applications and is used to ensure semantic consistency across the plugged-in systems.
Technical Detail
The Ilium Framework is written in Java and will run on any platform that supports the Java VM. In general this includes, Windows, Linux and MacOS. Plug-in applications must operate under the OS and other constraints for which they were developed. The Ilium Framework is designed as a distributed system and has been tested on a number of internal networks as well as the Internet.