The Container-Based Architecture (CBA) for Simulation® is a family of object-oriented software frameworks that together implement ZedaSoft's simulation system design "A Container-based Architecture for Simulation of Entities in a Time Domain" (U.S. patent 7,516,052).
CBA is a general system for managing the update of arbitrary data over time. It makes no assumptions about the data being managed; instead, it provides a standard object assembly model, execution management, network distribution and other general services that can be used to model specific problem domains.
CBA is the software foundation for all ZedaSoft simulators. It is also available as an independently distributable set of software components that can be used and extended by third parties as a foundation for their own simulation projects.
CBA's implementation is based on Sun/Oracle's Java development platform. While an unusual choice for real-time simulation, our experience since CBA's initial fielding in 2003 has shown that Java brings an uncommon level of flexibility and stability to real-time simulation development and maintenanc
The following CBA features are applicable to any problem domain:
- XML-driven Fractal ContainmentTM object assembly model
- Run-time component assembly
- Peer object model; no object is more important than another
- Executive, timing, and general object life-cycle management to control execution
- List-based processing model
- Dynamic object addition and removal
- Discovery services allow objects to find each other at runtime
- Notification center "bulletin board" for inter-object events
- Programmable object categorization and grouping
- Multicast-based "data bus" reflected memory system for data sharing
- TCP-based event system for transmitting events from hardware devices and user interfaces
- View/Controller model for distributing graphical user interfaces over the network
- Ability for remote users to connect to and interact with any object that provides a network interface;
users can dynamically switch from one object to another and control multiple objects simultaneously
- Scalability from laptops through multiple racked computer configurations
- Problem-domain neutral
- Third-party extensible
- Soft or hard real-time support with programmable frame rates
- Java development platform
- Ability to integrate C, C++, Fortran, Ada, or other models
- Supported on Linux or Windows Intel PCs
The following features are specific to the military and civilian vehicle/personnel
simulation domain extension to CBA:
- Pluggable reference systems
- Built-in Distributed Interactive Simulation (DIS) v6 network support
- Device I/O application for interfacing hardware, itself extensible via device-specific plug-ins
- Large set of constructive entities
- High fidelity entities for human-in-the-loop
- XML-driven Fractal Containment makes it simple to switch out models of varying fidelities to support "what if" experiments, accommodate different security levels, or build multiple release versions to accommodate ITAR export restrictions.
- Fractal Containment and run-time component linking allow third-party classes to be introduced into the system in the same manner as ZedaSoft's core classes.
- The peer object model means any top-level entity can be the "ownship", or primary entity of interest. This is in stark contrast to "ownship-centric" legacy simulators built to simulate only one type of entity.
- The list-based processing model means computer processing power and network bandwidth are the only limitations on scale. There are no explicit limits in the software on the number of components (entities, subsystems, etc.) you can include in a given simulation.
- Multiple simultaneous remote connections to a given object provide a built-in display repeater capability across the network. Why run video cables around a lab if the existing network can do the job?
- The Java development platform provides rock-solid execution and fault tolerance;
your systems come up and stay up.
Live/Virtual/Constructive Simulation Support
CBA can support Live/Virtual/Constructive (LVC) simulation in any combination.The number of constructive entities that can be supported simultaneously is limited only by the processing power of the simulation host. Built-in DIS v6 support means you can participate in distributed exercises with only a minor amount of configuration to specify how to handle the entity types on the network.
Examples of supported constructive entity types include:
- Tankers (KC-30, KC-135, ...)
- Threat aircraft and weapons (Su-27, Su-30, MiG-29, AA-10, ...)
- Blue aircraft and weapons (F-16, F-18, F-22,F-35, AIM-9, MK-82, ...)
- Air defense systems and weapons (SA-6, SA-8, SA-10, SA-12, ...)
- Recon assets (Predator, Global Hawk, ...)
- Navaids (TACAN, ILS, ...)
- Targets: Various ground vehicles and fixed targets
The Platform Entities section of our site discusses the available human-in-the-loop