Development tools
provided
Novel techniques used
Example of use
Software overview
Evaluation
Exploitation
FIONA is a pattern- and object-oriented application framework which allows distributed C3I application components (applets) to share a common map-and-overlay presentation facility, the Digital OverHead Projector (DOHP). FIONA component skeletons and patterns provide a standard internal component structure, hide the details of the underlying -CORBA- middleware, and make it possible to plug-and-play components at run-time. Instead of having a User Interface for each separate component, FIONA provides a shared User Interface, as is illustrated below.

FIONA provides a shared user interface for distributed software components
The Digital OverHead Projector (DOHP) is a central, shared presentation facility used to display map and dynamic data in a fashion similar to an overhead projector. In order to place a graphical object on the DOHP, an applet first has to create a transparent overlay which is used as a placeholder for the object. The resulting picture on the DOHP is the combination of all the overlays owned by different applets. Other functionalities provided by the DOHP are: turning the visibility on and off, changing the order of the overlays, panning and zooming, applet event callbacks and a publish and subscribe mechanism.
FIONA is a ready to use application architecture. This way the developer can concentrate on the domain functionality. FIONA has been designed to make it easy for developers to create new components by use of well known design patterns and by providing an applet framework which encapsulates all the generic code which is needed for creating applets. The framework architecture is illustrated below.

Architecture of the user interface framework, FIONA
The FIONA User Interface framework is designed for an environment with multiple cooperating software agents distributed over a computer network, providing support for mutliple users with different task levels. It enables the muliple agents to present themselves in a coherent manner. FIONA supports live data feeds and run-time plug-and-play of components. FIONA supports mixed platforms (currently Unix and Win-NT). The single-user versus multi-user environment is illustrated in the following:

Single- and multi-user architectures for FIONA
The next figure shows the components of FIONA.

What FIONA provides
The FIONA Framework Architecture with the Digital OverHead Projector (DOHP) can be implemented in Command & Control environments (C3I) with multiple users having different tasks.
Users work on the same operational area but they can select their own specific area to be displayed, using panning and zooming facilities.
Overlays can be defined and overlays can be selected to be displayed on the shared display facility, the Digital OverHead Projector. Depending on their specific task, each user can turn overlays on and off and can switch the order in which overlays are displayed. This enables objects defined in an overlay to be displayed on top or behind another overlay. This way a user only sees what he needs to see, while the information sharing principle remains.
A user can start a distributed component, e.g. a C3I planning tool or decision support tool, during the operational usage (plug-and-play). After it is started other users can share the information through the shared diplay facility, the Digital OverHead Projector (DOHP). Components can collect live data to be displayed by the DOHP enabling other users share the live data.
Distributed components can run on different computers, resulting in an improved performance of the overall C3I system. The distributed components are not limited to one platform, it may very well be that components run in a Unix environment, while other components run in a Win-NT platform.
The software architecture is illustrated below:

Software Architecture of FIONA
It shows the components available to the developers and the parts to be developed in the application domain.
Looking into more detail into the components:

Components of FIONA
One of the requirements for FIONA was for it to be an application framework which allows distributed C3I application components (applets) to share a common presentation facility, the DOHP. All standard application frameworks available today like MFC, ET++, plain ILOG Views, Qt, and ViewKit are meant to be used for stand alone applications.
FIONA offers an application framework on top of the generic CORBA layer and offers a ready to use architecture for an application. Plain CORBA only offers a generic communication infrastructure. An advantage of using the FIONA framework is that is has been tried and tested by many developers and will therefore contain less bugs and potential weak points than a new system developed from scratch. All the CORBA related code in FIONA has been encapsulated in a few classes.
One of the requirements for FIONA was using open standards where it would be easy to integrate the GIS part, the DOHP, with the other applications. Using open standards is the best way to ensure that the system will be future proof. Open standards tend to be more stable and to have a longer life than a proprietary standard. Other important benefits are the ability to mix-n-match COTS tools and to make interoperable systems.
In general GIS systems contain display and user features and the ability to store and retrieve geographical information. Even though the display and user GIS-functionality in FIONA at present is sufficient for an R&D project like RTP6.1, it would have to be improved before FIONA could be used for an operational system.
Experience with the use of the FIONA framework within the GRACE consortium has been positive. By using the framework it was easy to integrate components provided by different parties in the consortium. Such an integration using a traditional non-CORBA approach would have been a major undertaking. Using a pattern oriented, CORBA based, framework has also improved the quality of the system: it has enabled re-use, it has made it possible to support run-time plug-and-play components and it has made it easy for non specialists to develop components. The Digital Overhead Projector, the applet framework and individual applets have been succesfully ported to Win-NT.
The most important future improvement would be to port FIONA to Java. This would make the framework simpler and less dependent on COTS products, as the Java toolkit has built-in support for multi-threading, object serialization, collection classes and platform independent GUI classes. The JavaBean client side component model would make it possible to reduce the window clutter as user interface components could share the same window space at run-time and it would make it easy to provide web browser access to the system. Other important future improvements would be to incorporate a high-quality commercial GIS component in the DOHP, to improve the groupworking support and to add AI techniques in the user interface For instance when the report on a unit becomes more reliable the colour of this unit would vary from a pale colour to a saturated colour.
Logica has used FIONA and the DOHP to combine RTP 6.1 terrain analysis tools with US situation picture and meteorological overlays as part of the project for the Office for Naval Research in Washington. This demonstrated the ease with which data from different systems, not designed with FIONA in mind, could be combined and displayed.
Logica is porting FIONA and the DOHP to use a different ORB (Visibroker) for an intelligence application.
A chapter on FIONA has been accepted for a book to be published by Wiley on Object-Oriented Frameworks.
Knowledge gained by developing FIONA is likely to be used in a Battlefield Management research project in the Netherlands. The FIONA framework has been presented to the Technical Automation Service Line from Origin (SHARE-TA), to show the possibilities in various industrial areas. The architecture of FIONA is equally applicable to military and non-military applications.