This section introduces the problem scope, some basic terminology, vignette patterns, and fundamental concepts used for describing the Vignette Generator in subsequent sections.
2.1 Problem Scope
Detailed experimental studies of emergency scenarios by means of computer simulation and animation play a crucial role in the development of innovative ICT solutions for situation analysis and decision support [6, 8–10]. Furthermore, they are gaining momentum as a viable alternative to performing experiments in a real-world setting because of the inevitable limitations of any large-scale real-world experiment. Scenarios explored in the work presented here deal with operations performed by Marine Security Operation Centres (MSOC) [11]. This includes SAR operations for passengers and vessels in distress, as well as the protection of sea lanes, ports and harbors against threats and illegal activities. The increasing volume of marine traffic [12] calls for advanced computer-based systems to support MSOC personnel in their daily missions by automating routine coordination tasks, and building on common surveillance technologies such as the Automated Identification System (AIS) [13]. For this purpose, it is essential to analyze scenarios, evaluate algorithms and assess the quality of solutions systematically by performing in-depth experimental studies based on realistic and meaningful test cases with a degree of detail beyond what could be done manually. The approach for the generation of test cases proposed here assumes interactive development, analysis and validation of complex vignettes for testing realistic scenarios.
2.2 Basic Terminology
We define the following basic terms to disambiguate the concepts of domain, scenario, vignette, vignette specification, and vignette element [6].
Domain Model
A domain model is a conceptual model of a given problem domain, defining the various types of entities that are relevant for this domain, their attributes, relationships, constraints, and behaviors.
Scenario
A scenario is a specific interpretation of a domain model for a given geographical area and time period. For instance, a marine safety & security scenario may refer to the Straight of Georgia between Vancouver Island and the mainland of British Columbia in the current time.
Vignette
A vignette, denoted by in this paper, is a story embedded in a scenario. The story unfolds as a set of discrete events involving agents and the physical environment in which they operate, describing the distribution of agents and events in time and space. For instance, a smuggling operation in the Straight of Georgia, off the northern shore of Vancouver Island, can be described as a vignette embedded in a marine safety & security scenario.
Vignette Specification
A vignette specification is a precise and structured, static, text-based description of a vignette.
Vignette Element
A vignette element, denoted by in this paper, is any identifiable part of a vignette specification.
Vignette Generator
The term vignette generator refers to a tool for generating vignette specifications based on vignettes.
A vignette specification generated by a vignette generator conceptually represents a state machine model that can be interpreted by a simulation environment to produce simulation runs.
2.3 Vignette Patterns
Vignette elements are basic building blocks for constructing vignettes and therefore vignette specifications. They usually have parameters that allow adjustment for a given target context. Vignette elements can be considered as reusable patterns in the context of marine safety & security. These four patterns serve as examples:
- White Traffic Area Pattern: In this pattern, there are a number of neutral agents (e.g., Fishing Boats) that are moving randomly within a specified area. Such agents are considered part of the background, and referred to as "white traffic" (see Figure 1(a)).
- Routine Patrolling Pattern: In this pattern, an agent with the ability to visually capture the environment (e.g., a Helicopter or UAV) moves within a predefined path and provides environmental information for other agents (see Figure 1(b)).
- Rescuing Pattern: In this pattern, there is an agent (e.g., a Fishing Boat) in a distress situation. Coast guard rescue team (e.g., a Helicopter) tries to rescue the people involved and also secure the trapped agent (see Figure 1(c)).
- Rendezvousing Pattern: This pattern involves a larger vessel, like a Cargo Ship, and a number of smaller boats, like Zodiacs. The bigger vessel stays at a fixed location (the Rendezvousing Point), while the smaller vessels go back and forth between the rendezvousing point and possibly a location close to the shoreline (the Beach Point). Figure 1(d) illustrates a rendezvousing pattern for a cargo ship and two zodiacs.
- Any combination of these vignette elements can be considered for generating a composite target vignette. Figure 1(e) is an example of a combination of all four vignette elements.
2.4 The Vignette Generator
As already mentioned, the Vignette Generator is a tool for developing well-defined vignettes and systematic generation of vignette specifications. Arguably, using a vignette generator has a number of decisive advantages as it makes vignette specification much easier, more time efficient, and less error prone. That is, users will be freed from the complicated and tedious task of describing low-level details and repeating routine activities. In particular, it allows the automatic generation of statistically relevant test cases as variations of vignette specifications that can be derived from a convenient high-level specification. The following simple example illustrates the role of the Vignette Generator for defining the White Traffic Area Pattern.
Example 1
We need to specify 100 Fishing Boats within a given area, each equipped with a Communication Device with certain properties. A traditional approach, would have to define each Fishing Boat separately as follows:
WhiteTrafficArea
FishingBoat-1
Position(X, Y) = (x-1, y-1)
CommunicationDevice-1
Type = link-11
Range = 5000 m
.
.
.
FishingBoat-100
Position(X, Y) = (x-100, y-100)
CommunicationDevice-100
Type = link-11
Range = 3000 m
In our proposed approach and tool, the vignette element (White Traffic Area Pattern) is described as follows:
WhiteTrafficArea
#number = 100
FishingBoat
Position(X,Y) = #random value within area A1
CommunicationDevice
Type = link-11
Range = #random value between (2000 m) and (5000 m)
#: These elements and values are processed by the Vignette Generator engine.
Advantages
In the first specification, the details are constructed manually. In the second, the Vignette Generator will produce these details automatically. From the example, it is clear that the proposed approach has the following benefits.
-
1.
Defining and understanding the second specification (7 lines) is much easier than the first one (501 lines).
-
2.
Generating vignettes (or vignette elements) is more time efficient, specifically when the user needs to generate a number of vignette specifications based on a common pattern. This helps with statistical tests, which are necessary for evaluating algorithms.
-
3.
Any error in the second specification is much easier to find and fix than in the first specification.