JACK Sim™ comprises three major components:
In the same way that object-oriented programming introduces a number of key concepts that influence the entire logical and physical structure of the resulting software system, so too does agent-oriented programming. In agent-oriented programming, a system is modelled in terms of agents. These agents are autonomous reasoning entities capable of making proactive decisions while reacting to events in their environment.
There are various ways in which entity behaviours can be partitioned – these partitionings are known as simulation world views. Traditionally, three major world views have been distinguished, namely: activity, event and process. JACK supports a world view called the BDI world view. In this view, entity behaviours are encapsulated within agents and the JACK execution model is used to drive the simulation. The BDI world view provides a much richer and more intuitive interaction model than is afforded by the traditional world views and has proven to be especially useful for the simulation of distributed systems whose component entities exhibit complex internal behaviours and rich interaction models, both with each other and with their environment.