Requirements

This page presents the high-level requirements of the EODiSP. For each requirement, evidence - either through analysis or through testing - is provided to demonstrate that the requirement is correctly implemented.

A more informal description of the EODiSP requirements can be found in the project overview page.

Important: This page is no longer maintained.

Contents

History

The EODiSP was developed in accordance with the ECSS-E-40 process. As part of this process, two documents were produced in the early stages of the EODiSP project:

  • A Concept and Requirements Definition document. This document defined the EODiSP requirements from a user's perspective. It also identified the main technical problems expected in the project and the definition of a baseline solutions for them.
  • A Software Requirements Definition document. This document defined the EODiSP requirements in a more formal way and from a software designer's perspective.
The two documents were not maintained during the EODiSP design and implementation phase. They therefore no longer reflect the status of the EODiSP since they do not take account of requirements-level decisions that were taken during the design and implementation phase.

At the end of the implementation phase, an updated list of requirements was therefore generated that reflected the final implementation of the EODiSP. This list is presented in the next section and was used as the basis for defining the verification plan for the EODiSP.

Requirements List

This section presents the list of applicable requirements for the EODiSP. All requirements defined here are derived from requirements that were defined in the requirements definition phase of the EODiSP project (see previous section). For each original EODiSP requirement, there are three possibilities:

  • The requirement has remained unchanged during the design and development phase and therefore it appears unchanged in the list below.
  • The requirement has been modified during the design and development phase and it appears in the list below in its modified form.
  • The requirement has been dropped during the design and development phase and it appears in the list below but is marked as 'Deleted'.

The requirements are grouped in categories of logically related requirements. For each requirement in the list below, the following information is provided:

  • An alphanumerical reference that uniquely identifies the requirement.
  • The text of the requirement.
  • A reference to the original EODiSP requirement from which the requirement is derived.
  • A flag indicating the change status of the requirement with respect to the orginal EODiSP requirements. Four values are possible for this flag. A value of 'U' indicates that the requirement is taken over unchanged. A value of 'CT' indicates that the requirements has been changed but the change is terminological only and has been made to align the requirement terminology with general EODiSP terminology. A value of 'CF' indicates that the requirements has been changed from a functional point of view. A value of 'D' indicates that the requirement has been deleted.
  • A description of how the requirement is verified. Where appropriate, this may include a reference to the unit-level test or to the system-level test where the requirement is tested.

General Requirements

Requirement R-GR-2 (Source: R6.1-1, Status: U)

Formulation: The EODiSP shall provide a component-based software framework (the EODiSP Framework) to support the instantiation of simulation applications.

Verification: The demonstrator provides an example of a complete simulation that is built by instantiating the EODiSP framework

Requirement R-GR-4 (Source: R6.1-2, Status: U)

Formulation: An application instantiated from the EODiSP Framework shall consist of two kinds of high-level components: one simulation environment component and one or more simulation models.

Verification: The EODiSP implements the simulation environment through the simulation manager applicationand the simulation models through HLA federates.

Requirement R-GR-6 (Source: R6.1-3, Status: U)

Formulation: The EODiSP Framework shall define the interfaces characterizing the two kinds of components identified by the previous requirement and shall restrict the operations they declare to have arguments of primitive type and return values of primitive type.

Verification: The EODiSP implements an HLA-based archicture and all models participating in a simulation must comply with the interfaces defined by the HLA standard. HLA models obey the restrictions stated in the requirement.

Requirement R-GR-8 (Source: S6.2-1, Status: CT)

Formulation: All the user inputs to be provided to the simulation manager applications shall conform to the XML Schemas defined by the EODiSP.

Verification: The EODiSP input files are defined together with the XML schemas to which they must conform. A description of the configurations can be found at EODiSP Configuration Files.

Requirement R-GR-10 (Source: R6.4.1-1, Status: U)

Formulation: The EODiSP Simulation Environment shall provide the means to execute simulation experiments consisting of one or more simulation runs.

Verification: This requirement is verified in test cases TC_104and TC_106.

Requirement R-GR-12 (Source: R6.5-1, Status: U)

Formulation: The EODISP Framework shall implement a subset of the HLA standard.

Verification: The HLA services implemented by the EODiSP are listed in the Table of Supported HLA Services.

Requirement R-GR-14 (Source: S7.2-1, Status: CT)

Formulation: The EODiSP shall implement the priority 1 services listed in the Table of Supported HLA Services.

Verification: A JUnit test is written for each priority 1 service. The test documentation and the test execution report are available from the testing page.

Simulation Control Requirements

Requirement R-SC-2 (Source: R6.4.2-1, Status: U)

Formulation: The EODiSP Simulation Environment shall provide the means to perform a simulation in a step-by-step fashion.

Verification: This requirement is verified in test case TC_106.

Requirement R-SC-4 (Source: R6.4.2-2, Status: U)

Formulation: The EODiSP Simulation Environment shall allow users to switch from step-by-step to continuous simulation model and from continuous simulation mode to step-by-step mode at any time during a simulation run.

Verification: This requirement is verified in test case TC_106.

Requirement R-SC-6 (Source: R6.4.2-3, Status: D)

Formulation: The EODiSP Simulation Environment shall allow users to predefine the times (either as simulation time or as clock time) when switches from step-by-step to continuous simulation mode and from continuous to step-by-step simulation model should take place.

Verification: This requirement is not implemented because the HLA timing service is not supported and mode switching based on clock time is not regarded as useful (since the duration of a simulation is non-deterministic).

Requirement R-SC-8 (Source: R6.4.2-4, Status: U)

Formulation: The EODiSP Simulation Environment shall allow users to advance a simulation running in step-by-step mode by one or more steps at a time.

Verification: This requirement is verified in test case TC_106.

Requirement R-SC-10 (Source: R6.4.3-1, Status: U)

Formulation: The EODiSP Simulation Environment shall allow users to stop and restart simulation models but only while a simulation is paused in step-by-step mode.

Verification: The EODiSP Simulation Environment does not provide any means to accomplish model stop and restart: support for this kind of operation has to be provided by the model itself. Verification of the requirement cannot therefore be done at the level of the EODiSP.

Distribution Requirements

Requirement R-DI-2 (Source: R7.2-1, Status: CT)

Formulation: The EODiSP shall be built upon a distribution middleware (the EODiSP Network).

Verification: The EODiSP is built upon the JXTA distribution middleware (see description of EODiSP Core Architecture).

Requirement R-DI-4 (Source: S8.1-1, Status: CT)

Formulation: The EODiSP Model Manager and Simulation Manager applications shall provide a GUI-based interface to allow users to configure the EODiSP network.

Verification: This requirement is verified in test cases TC_102and TC_202.

Requirement R-DI-6 (Source: S8.2-1, Status: CT)

Formulation: The EODiSP Model Manager and Simulation Manager applications shall allow users to save their network configuration.

Verification: This requirement is verified in test cases TC_102and TC_202.

Requirement R-DI-8 (Source: S8.2-2, Status: CT)

Formulation: The EODiSP Model Manager and Simulation Manager applications shall allow users to load a previously saved network configuration.

Verification: This requirement is verified in test cases TC_102and TC_202.

Requirement R-DI-10 (Source: R7.2-3, Status: CT)

Formulation: The EODiSP network shall use the internet as its default transmission infrastructure.

Verification: This requirement is verified in test case TC_106that runs a distributed simulation where models interact over the internet.

Requirement R-DI-12 (Source: R7.2-4, Status: CT)

Formulation: The EODiSP network shall be compatible with ordinary firewall protections.

Verification: This requirement is verified in test case TC_106 that runs a distributed simulation where models interact over the internet and some of the models are behind a firewall.

Requirement R-DI-14 (Source: R7.2-6, Status: CT)

Formulation: The EODiSP network shall allow a simulation to be run where the simulation models are located on two or more different nodes possibly different from the node where the simulation manager application is located.

Verification: This requirement is verified in test case TC_106 that runs a distributed simulation where models are located on nodes other than the node where the simulation manager is running.

Requirement R-DI-16 (Source: R7.2-6, Status: CT)

Formulation: The EODiSP network shall support the execution of a simulation either in local mode (all models located on the same node as the simulation manager application) or in remote mode (some models located on nodes other than that hosting the simulation manager application).

Verification: Operation in remote mode is verified in test case TC_106 . Operation in local mode is verified by running the same test case in local mode. This means that all EODiSP applications needed for this test case run on the same Unix platform node. These applications are: The simulation manager, model manager, repository and the crc application. Additional to this, the sim_controller federate is replaced with a 'sim_controller test' federate which does not depend on Microsoft Excel. This makes it possible to run the the test case on a Linux machine.

Requirement R-DI-18 (Source: G11.1.1-1, Status: U)

Formulation: The EODiSP shall provide a facility to monitor the reachability of participating remote nodes in the network.

Verification: This requirement is verified in test case TC_106.

Requirement R-DI-20 (Source: G11.1.1-2, Status: U)

Formulation: The EODiSP shall provide log messages to the user in case of a network failure.

Verification: The EODiSP is based on reliable network protocols (if HTTP is used, then the JXTA builds an acknowledgement mechanism on top of it). Other kinds of network failures (e.g. outages) cannot be detected at EODiSP level since there is no timing information about individual models participating in a simulation.

Simulation Manager Application Requirements

Requirement R-SM-2 (Source: R9.4-1, Status: U)

Formulation: The EODiSP shall provide a Simulation Manager Application to configure and control the execution of a simulation experiment.

Verification: This requirement is verified in test cases TC_102, TC_104, and TC_106.

Requirement R-SM-4 (Source: S6.2-1, Status: CT)

Formulation: The user inputs to be provided through the simulation manager application shall conform to a format defined by the EODiSP.

Verification: This requirement is verified in test cases TC_102and TC_104.

Requirement R-SM-6 (Source: R9.5-2, Status: U)

Formulation: The Simulation Manager Application shall offer the means to control the execution of an EODiSP simulation experiment.

Verification: This requirement is verified in test case TC_106.

Requirement R-SM-8 (Source: R9.5.1-1, Status: U)

Formulation: The simulation manager application shall provide a GUI-based environment to define the configuration of a simulation experiment.

Verification: This requirement is verified in test case TC_104.

Requirement R-SM-10 (Source: R9.5.1-3, Status: CT)

Formulation: The EODiSP shall define the format to which the configuration documents used in the simulation manager application must conform.

Verification: The format and content of the EODiSP configuration files is defined in the Configuration Files page of the user manual. The configuration files themselves can be downloaded from the Downloadpage.

Requirement R-SM-12 (Source: R9.5.1-5, Status: U)

Formulation: The simulation manager application shall allow users to load existing configuration files into the environment.

Verification: This requirement is verified in test case TC_108.

Model Manager Application Requirements

Requirement R-MM-2 (Source: R9.4-2, Status: U)

Formulation: The EODiSP shall provide a Model Manager Application to configure and control the participation in simulation experiments of a set of simulation models owned by the same organization and residing on the same distribution node.

Verification: This requirement is verified in test cases TC_202, and TC_204.

Requirement R-MM-4 (Source: R9.6-1, Status: U)

Formulation: The Model Manager Application shall offer the means to load HLA compliant models and to make the application aware of them.

Verification: This requirement is verified in test case TC_204.

Requirement R-MM-6 (Source: R9.6-2, Status: U)

Formulation: The Model Manager Application shall offer the means to control the accessibility of HLA compliant models loaded into the application.

Verification: This requirement is verified in test case TC_204.

Requirement R-MM-8 (Source: R9.6.1-1, Status: CT)

Formulation: The configuration of a model manager application shall be defined through a set of configuration files.

Verification: This requirement is verified in test case TC_204.

Requirement R-MM-10 (Source: R9.6.1-1, Status: U)

Formulation: The model manager application shall provide a GUI-based environment to define the accessibility configuration for HLA compliant models.

Verification: This requirement is verified in test case TC_204.

Requirement R-MM-12 (Source: R9.6.1-3, Status: U)

Formulation: The EODiSP shall define the format to which the configuration documents used in the model manager application must conform.

Verification: The format and content of the model manager configuration files is defined in the Configuration Files page of the user manual. All EODiSP configuration files can be downloaded from the Downloadpage.

Requirement R-MM-14 (Source: S6.3-1, Status: CT)

Formulation: The user inputs to be provided through the model manager application shall conform to the format defined by the EODiSP.

Verification: This requirement is verified in test case TC_202 . The format and content of the model manager configuration files is defined in the Configuration Filespage of the user manual.

Requirement R-MM-16 (Source: R9.6.1-5, Status: U)

Formulation: The model manager application shall allow users to load existing configuration files into the environment.

Verification: This requirement is verified in test case TC_202.

Support Application Requirements

Requirement R-SA-2 (Source: R9.4-3, Status: CF)

Formulation: The EODiSP shall provide a GUI-based support application to operate the code generators for the simulation model wrappers.

Verification: This requirement is verified in test case TC_302 . The original requirement asked for the support application to be GUI-based. In view of its simplicity, the support application has instead been implemented as a command-line application.

Requirement R-SA-4 (Source: R9.7-1, Status: U)

Formulation: The Support Application shall offer the means to assist a model owner in creating wrapper code for supported types of models. The wrapper code shall be HLA compliant.

Verification: This requirement is verified in test case TC_302.

Requirement R-SA-6 (Source: R9.7-2, Status: CF)

Formulation: A Support Application shall take as one of its input the SOM document for the model whose wrapper code is being generated.

Verification: This requirement is verified in test case TC_302 . The original formulation of this requirement asked for the SOM to be generated automatically. This is only possible if a new kind of input file is defined that subsumes the SOM. This is regarded as unnecesarily complicated.

Requirement R-SA-8 (Source: R9.7-3, Status: D)

Formulation: A Support Application shall offer the means to attach default initialization data to a simulation model.

Verification: This requirement is superceded: default initialization data are defined at the level of the individual models. As an example consider the EODiSP demonstratorwhere default initialization data can be defined through the sim_controllermodel.

Requirement R-SA-10 (Source: R9.7.1-1, Status: U)

Formulation: A Support Application shall provide a GUI-based environment to support a model owner in creating the wrapper code.

Verification: This requirement is verified in test case TC_302 . Existing support applications are implemented as command-line applications but Ant command files are provided to drive them from within the (GUI-based) Eclipse platform.

Requirement R-SA-12 (Source: S9.2-1, Status: U)

Formulation: The EODiSP support application shall allow users to automatically generate an HLA federated interface implementation skeleton from a SOM.

Verification: This requirement is verified in test case TC_302.

Requirement R-SA-14 (Source: R9.7.1-2, Status: CF)

Formulation: The configuration of a Support Application shall be defined through a set of command line parameters.

Verification: This requirement is verified in test case TC_302 . The original formulation of this requirement asked for the configuration to be defined in an XML-based file. Given the small number of parameters in question, specification through a command-line has been preferred.

Requirement R-SA-16 (Source: R9.7.1-3, Status: D)

Formulation: The EODiSP shall define the XML Schemas or DTD's to which the configuration documents used in a Support Application must conform.

Verification: This requirement is obsolete. See previous requirement.

Requirement R-SA-18 (Source: R9.7.1-5, Status: D)

Formulation: A Support Application shall allow users to load existing configuration files into the environment.

Verification: This requirement is obsolete. See previous requirement.

Requirement R-SA-20 (Source: R9.7.2-1, Status: D)

Formulation: A Support Application shall provide a GUI-based environment through which users can perform the tasks defined in table 9.7.2-1.

Verification: This requirement is already implied by the other requirements in this section.

Wrapper Generation Requirements

Requirement R-WG-2 (Source: S9.1-2, Status: U)

Formulation: The EODiSP wrapper generators shall be controlled through one single support application.

Verification: The wrapper generator support applications can be run from inside the Eclipse platform using Ant files. Thus, although there may be several wrapper generator programs, the user can control and execute them from within one single application.

Requirement R-WG-4 (Source: S10-1, Status: CT)

Formulation: The wrapper generation process shall be implemented as it is described in the figure of the section on wrapper generators.

Verification: The figure referred to in the requirement reflects the actual implementation of the wrapper generators.

Requirement R-WG-6 (Source: S9.2-1, Status: U)

Formulation: The EODiSP support application shall allow users to automatically generate an HLA federated interface implementation skeleton from a SOM.

Verification: This requirement is verified in test case TC_320.

Requirement R-WG-8 (Source: S9.2-2, Status: U)

Formulation: The HLA federate interface skeleton generate by the EODiSP support application shall mark the points where package-specific code has to be provided by the user.

Verification: This requirement is verified in test case TC_302.

Requirement R-WG-10 (Source: S9.1-1, Status: U)

Formulation: The EODiSP wrapper generators shall be implemented as two cooperating elements: HLA federate interface implementation generator (for all wrappers) and wrapper generators (for selected kinds of wrappers).

Verification: This requirement is verified by the selected structure of the wrapper generators. Test case TC_302verifies the requirement for the case of an excel-based model.

Requirement R-WG-12 (Source: S10-2, Status: CT)

Formulation: The EODiSP wrapper generation process shall be driven by an Excel Workbook. The EODiSP wrapper shall generate a Java class for each worksheet in an Excel workbook. The resulting Java class shall provide setter and getter methods for each named cell in each Excel Worksheet. Additionally, it shall provide listener interfaces for each button that is defined in the Excel workbook.

Verification: This requirement is verified in test case TC_302.

Requirement R-WG-14 (Source: S10.1-1, Status: CT)

Formulation: The EODiSP support application for wrapper generation shall provide the means the automatically generate a wrapper for an excel workbook.

Verification: This requirement is verified in test case TC_302.

Requirement R-WG-16 (Source: S10.1-2, Status: CT)

Formulation: The structure of the excel workbook wrapper shall be as in figure 10 of the SRD.

Verification: Blockd (3) and (4) in figure 10 of the SRD have been merged into one single block that is generated automatically. This requirement is verified in test case TC_302.

Requirement R-WG-18 (Source: S10.2-1, Status: D)

Formulation: The EODiSP support application for wrapper generation shall provide the means the automatically generate a wrapper for an SMP2 model controlled through a SimSat 2000 application.

Verification: This requirement has been dropped.

Requirement R-WG-20 (Source: S10.2-1, Status: D)

Formulation: The structure of the SMP2 wrapper shall be as in figure 10 of the SRD.

Verification: This requirement has been dropped.

Requirement R-WG-22 (Source: S11-1, Status: CT)

Formulation: The EODiSP shall provide sample wrappers for the simulation packages listed in the sample wrapper pageof the EODiSP web site.

Verification: This requirement is verified in test cases TC_302, TC_308, TC_310, TC_312, and

Use Case Requirements

Requirement R-UC-2 (Source: S12.1-1, Status: U)

Formulation: The EODiSP GUI shall support all the use cases listed in the table in this section.

Verification: For each terminal use case, a dedicated test case is defined that demonstrates how the use case is supported by the EODiSP. The test cases are listed in the same tablethat lists the use cases.

Logging Requirements

Requirement R-LO-2 (Source: R6.4.4-1, Status: U)

Formulation: The EODISP Framework shall provide a logging service to allow both the simulation environment itself and the simulation models to log messages.

Verification: This requirement is verified in test cases TC_112and TC_208.

Requirement R-LO-4 (Source: R6.4.4-2, Status: U)

Formulation: Logged messages shall be time-stamped with the simulation time (if one is available for the running simulation) and with the host computer clock time.

Verification: This requirement is verified in test cases TBD.

Requirement R-LO-6 (Source: R6.4.4-3, Status: U)

Formulation: The EODiSP Simulation Environment shall provide a default configuration for the logging service where all incoming and outgoing messages for the simulation environment are logged.

Verification: This requirement is verified in test cases TC_106.

Requirement R-LO-8 (Source: R6.4.4-4, Status: U)

Formulation: The EODiSP Simulation Environment shall pre-define a set of standard events whose logging can be enabled and disabled by the user.

Verification: All the standard events pre-defined by the EODiSP are demonstrated in TC_106. These events are linked to the EODiSP synchronization points . Given the small number of events and their low frequency of occurrence, no enabling and disabling facilities are provided.

Requirement R-LO-10 (Source: R6.4.4-5, Status: U)

Formulation: The standard events of the previous requirement shall include the start and stop of a simulation run, and the transitions into and out of a step-by-step mode.

Verification: This requirement is verified in test cases TC_106.

Requirement R-LO-12 (Source: S12.4-1, Status: CF)

Formulation: The EODiSP shall provided a predefined federate to log messages generated by other federates.

Verification: The requested federate is available as one of the EODiSP sample federates . Note that provision of a predefined federate to report the currently active model (as requested in the original formulation of this requirement)is not possible because the EODiSP can run in distributed mode and execution of the simulation models is therefore not necessarily sequential.

Data Conversion Requirements

Requirement R-DC-2 (Source: S9.3-1, Status: D)

Formulation: The EODiSP support application shall allow users to generate wrapper skeletons that implement the data conversions identified in this section.

Verification: The EODiSP support application generates the part of the wrapper that is defined in the SOM. Addition of data conversion is trivial and not worth automating.

Requirement R-DC-4 (Source: S9.3-2, Status: CT)

Formulation: The EODiSP environment shall provide sample federates to implement generic data conversion algorithms.

Verification: Sample federates are provided with the EODiSP that show how to implement generic data conversions in an EODiSP wrapper.

Operational Requirements

Requirement R-OR-2 (Source: S12.1-1, Status: U)

Formulation: The EODiSP shall be built to run on a Java Virtual Machine version 1.5.

Verification: All test caseshave been run on a Java Virtual Machine version 1.5.

Requirement R-OR-4 (Source: S12.2-1, Status: CF)

Formulation: The EODiSP shall only incorporate software packages that are available on open and free software licences.

Verification: The download page of the EODiSP web site lists all the licences applicable to the software packages that are incorporated in the EODiSP. In all cases, they are open and free licences.

Coding Requirements

Requirement R-CR-2 (Source: S5.1.1-1, Status: U)

Formulation: The EODiSP GUI code shall contain references to the use cases that is implemented by the code.

Verification: This can be verified by inspecting the code that is available from the Downloadpage.