Old Dominion University
ODU Digital Commons
Modeling, Simulation & Visualization Engineering
Faculty Publications
Modeling, Simulation & Visualization Engineering
2011
Software Reuse for Modeling and Simulation
Emily Andrew
Charles D. Turnitsa
Old Dominion University
Andreas Tolk
Old Dominion University
Follow this and additional works at: https://digitalcommons.odu.edu/msve_fac_pubs
Part of the Computer and Systems Architecture Commons
Repository Citation
Andrew, Emily; Turnitsa, Charles D.; and Tolk, Andreas, "Software Reuse for Modeling and Simulation" (2011). Modeling, Simulation
& Visualization Engineering Faculty Publications. 50.
https://digitalcommons.odu.edu/msve_fac_pubs/50
Original Publication Citation
Andrew, E., Turnitsa, C., & Tolk, A. (2011). Software Reuse for Modeling and Simulation Paper presented at the Spring Simulation
Interoperability Workshop 2011, Boston, Massachusetts, April 4-8, 2011.
This Conference Paper is brought to you for free and open access by the Modeling, Simulation & Visualization Engineering at ODU Digital Commons.
It has been accepted for inclusion in Modeling, Simulation & Visualization Engineering Faculty Publications by an authorized administrator of ODU
Digital Commons. For more information, please contact digitalcommons@odu.edu.
[Type text]
Software Reuse for Modeling and Simulation
Emily Andrew
Raytheon Company
Network Centric Systems
Marlborough, MA 01752
Emily_B_Andrew@raytheon.com
Charles D. Turnitsa
Virginia Modeling Analysis
and Simulation Center
Old Dominion University
Suffolk, VA 23435
Andreas Tolk, Ph.D.
Frank Batten College of
Engineering & Technology
Old Dominion University
Norfolk, VA 23529
cturnits@odu.edu
atolk@odu.edu
Keywords:
software engineering, software reuse, repositories, interoperability
ABSTRACT:
In Modeling and Simulation, as a distinct area of software engineering, there is much interest in being able to
reuse software components. However, the practice of simulation development and maintenance is different from
software engineering because of several factors. In this paper, a brief overview of the foundations of interoperability,
and how they apply to the reuse of model based software is explored, as well as examination of current practices to
include M&S software repositories. Some recommendations, based on research at the Virginia Modeling Analysis and
Simulation Center (VMASC) and practice at the Raytheon Company Network Centric Services, are made.
1
historic work of federated databases. Experts dealing
with very large heterogeneous and distributed data in
large corporations like Coca Cola or Puma had to solve
inconsistencies in databases and workflows on a big
scale. The findings and recommendations led us to a
multiple-layer-translation
model
published
by
Spaccapietra et al. [1] and extended by Parent and
Spaccapietra [2]. Gorman’s [3] work contributed in
particular to the understanding of military challenges.
Introduction
The topic of software reuse for Modeling and
Simulation is a complex one. This paper, while
diffused into several topics, does not begin to address
all of the facets related to the idea nor does it fully
address any one of them. In fact, each of these ideas
has been the topic of much study within the series of
Simulation Interoperability Standards Organization
(SISO) workshops and will continue to be. However,
this is an attempt to bring together some information
gleaned from the theoretical and academic and,
presented for the practitioner, such that the findings
that do exist can be made to serve the community.
2
Another research domain influenced the work in a
similar manner, namely Reynolds et al. [4] and Davis
and Bigelow [5] contributions on multi-resolution
modeling challenges in distributed simulation systems.
The thrust of multi-resolution modeling is to enable to
reuse of simulation components that were developed
with different resolutions of detail, in new system-ofsystem architectures with each other. The approach
has not been found to have a general solution, yet.
Foundations of Interoperability
The concept of reuse of either models or software is
predicated on the idea that such models or software
components are interoperable – that is, the existing
element (whether a model, an algorithm, a software
component, or an entire simulation system) can be
made interoperable with new components that it was
not originally designed to work with. Towards this
end, a discussion concerning reuse properly begins
with a review of what interoperability is, and how it is
treated within the M&S community.
The idea to use a layered approach to deal with the
realm of interoperable and composable solutions has
been used before. One of the most influential models is
the Levels of Information Systems Interoperability
developed
by
the
Command,
Control,
Communications,
Computers,
Intelligence,
Surveillance, and Reconnaissance Interoperability
Working Group and published in [6]. Winters et al. [7]
give an overview how the various layered approaches
are related regarding data management issues.
Beginning with the idea of making data objects and
data bases for simulation systems interoperable, the
earliest efforts at composing such is based on the
11S-SIW-042
-1-
[Type text]
The report of the RAND Corporation on Composability
Challenges [8] within the US DoD is an excellent
summary of current solutions, and their open questions
remain valid.
first portable languages became popular, but many
enterprises report difficulty with it. In spite of the
reported difficulties, it is something that happens quite
frequently in an ad hoc manner.
In the M&S domain, the work of Petty and Weisel lead
the way for many researchers, in particular their
Lexicon for Composability [9]. They were among the
first to identify the need to distinguish between
composability and interoperability based on the need
identified by Harkrider and Lunceford [10]. Petty’s and
Weisel’s work [9] motivated the first LCIM as
presented by Tolk and Muguira [11]. Page et al. [12]
refined the model by introducing integratability as the
third concept. The LCIM uses a slight modification of
Page’s definitions. Hofmann [13] used these ideas to
formulate has challenges for M&S composability. The
LCIM was refined and first presented in its current
form by Turnitsa in [14]
3.1
Before going forward, it is worth pointing out that
people generally mean one of two very different ideas
when they talk about software reuse. The first of these
is reuse of software engineering components - those
that will be used in the phases of developing software
packages. This includes reusing sections of code,
libraries, or algorithms for different projects. The
second area of reuse is one that is concerned with the
application of software elements that are already
developed. This second use is concerned with making
use of already developed components for new projects
where entire software components (executables) are
reused in different environments.
In addition to the work in the M&S domain, the research regarding semantic web composability was a
driving force for the research described here. Welty
and Smith [15] summarized the state of the art in their
proceedings and identified the necessity to compose
web services in a more consistent way in several
papers. How this was answered is best summarized in
Agarwal et al. [16] and the book of Alesso and Smith
[17]. Both are using the notion of semantic web
services, in which services are de-scribed in more
detail allowing the user (and ultimately other software
components) to identify services that can be composed
meaningfully. Current work is referenced on the
Semantic Web Service Initiative website. One of the
most visionary papers, published by Chen et al. [18],
presented the use of ontology-based knowledge
management in support of composable solutions.
Finally, the work de-scribed in this paper was also
influenced by the mathematical foundations for Model
Theory as described by Pilley [19] and the knowledge
representation work of Sowa [20].
Both of these identified uses (reusing code snippets and
reusing whole executables) are quite common in the
field of Modeling and Simulation. However, because
the Modeling and Simulation community differs
somewhat from other software development efforts,
there are also differences for the concept of reuse. One
of the key ways in which Modeling & Simulation
differs from other software development and
application communities is that Modeling &
Simulation software has to be true to the model that it
is representing. Normal software considerations in
terms of timing and algorithm efficiency are secondary
to the requirement that the resulting software be true to
the conceptual model.
If we adhere to this
requirement, then the model will have some chance for
reuse. When we attempt to reuse software that is based
on a model, then each new environment we wish to use
that software in must be conducive to the environment
the model was originally used in. Problems with this
alignment between the model and the environment can
lead to many disruptions.
One way a model's
suitability to an environment can be examined is to
look at the possible ‘touch points’ where Modeling &
Simulation components might interact (i.e., algorithm
integration, data exchange, process initialization, etc.)
and yet not violate the model that is being integrated.
Finally, the work of agent mediated solutions in the
M&S domain closed the gap between M&S
composability and semantic services. To be mentioned
in particular is the work of Yilmaz [21] and Yilmaz
and Paspuletti [22]. They used agents to capture the
behavior and information exchange requirements of
M&S components and let them decide how and what to
compose, using meta-structures of the semantic web to
support this work.
3
3.2
Planning Modeling & Simulation Reuse
Given that we must remain true to the model when we
are developing code (libraries, algorithms, classes, etc.)
that will be reused, there are several things to keep in
mind. First, since the software will be part of a
simulation based on a model in some way, be aware
of the conceptual model constraints and assumptions
and follow those assumptions throughout.
For
M&S Software Engineering
Simply put developing for software reuse involves
developing computer software code that can be usable
in a variety of different programs or contexts. This is
an old idea going back at least to the 1960s when the
11S-SIW-042
Reuse During Development and Application
-2-
[Type text]
example, if the original conceptual model for a vehicle
movement model was that the vehicles would be
moving over surfaces that report a friction coefficient,
then make that part of the algorithms you use. This in
turn drives some specifics about the environment
where a movement function like this could be used.
An example might be only in environments that report
a surface friction coefficient. Second, since your code
will be used to represent some part of a synthetic
world, make sure that you take care of everything that
you need in your section of code and do not touch
anything that is not your responsibility!
By
compartmentalizing a complex virtual world into
different software components, each of which is
responsible for some portion of that world as either
objects or some process, it is easier to replace and reuse
new pieces for those components. Thus it’s important
that each component is sufficiently self -contained so
that it can be replaced easily because it is not trying to
handle too many things. The third requirement is
document, document, and document! Everything about
reusing Modeling & Simulation software components
is predicated on the ability for the software developer
or applications engineer to KNOW what the model is
doing. The only way this is possible is for there to be
sufficient documentation for both the model and
assumptions about the environment the model will
operate in.
assumptions about the environment, the model's
requirements, and so on.
3.3
When we talk about reuse of Modeling & Simulation
software, whether whole components at the application
phase or sub-components at the development phase, the
focus is on software that will be required to operate in a
new context. This means it will have to interoperate
with new components and with a new environment.
The new context software will have other software it
needs to interoperate with. Here, care must be taken to
understand there is an informal employment of the
term interoperability that is based on several theoretical
findings regarding the mathematical requirements and
philosophical implications of a model existing in an
alien environment. Simply, it means the state of
simulation software working with other simulation
software. As we have seen for Modeling & Simulation
software, we are primarily talking about the
interoperability of the models and secondarily about
how the software will handle this.
To understand what is possible, we will look at the
Levels of Conceptual Interoperability Model (LCIM)
to determine metrics to attempt to achieve. The current
version of the LCIM was first presented by Turnitsa
[14], and has been the subject of many topics on
composability and interoperability. In the typical
diagram of the LCIM (see Figure 1- Levels of
Conceptual Interoperability Model), there are
indicators for the different layers of conceptual
expressability between components. This includes
integratability, interoperability, and composability. If
it’s desired that a Modeling & Simulation software
component function with other components and have
the ability to express information to one of these three
layers, then there are clear requirements that must be
followed for each layer.
Some additional points should be made here. First,
there should be some understanding as to the points of
interaction the component will expose when
connecting with other components. This exposure of
the points of interaction can be expressed using several
methods: simple data Input/output; some simulation
federating technology such as High Level Architecture
or
Distributed
Interactive
Simulation;
or
composition/orchestration architecture such as Service
Oriented Architecture. In all cases, clear expression of
the points of contact should be made available for those
who want to reuse the component. Second, construct
your software in such a way that the points of
interaction can be accessed without being disruptive to
your internal structure. And third, ensure the model is
followed internally in a consistent way where
interactions to data exchange, for example, are limited.
Again, documentation is the key towards making
knowledge available about the model, contact points,
11S-SIW-042
Reuse is Interoperation
As mentioned earlier, the three broad distinctions of
integratability, interoperability, and composability
came from observations on the distinct groupings of
levels, made by Page [12]. These distinct groupings
(layers) provide the organization for the following
introduction to the levels of the model.
-3-
[Type text]
Level&
Conceptual Interoperability
Levels
Dynamic Interoperability
Modeling/
Abstraction
Level4
Pragmatic Interoperability
Level3
Semantic Interoperability
Simulation I
Implementation
Level2
Syntactic Interoperability
Level 1
Technical Interoperability
Network/
Connectivity
LevelO
No Interoperability
;::::;:
'<
o'
...,
.....
:::J
CD
...,
0
"'C
CD
w
.....
a"
:::J
Figure 1- Levels of Conceptual Interoperability Model
Next, at the interoperability layer, there are two
possible LCIM levels. These include Semantic and
Pragmatic which are both concerned with the exchange
of information. For our purpose, this is defined as "data
in context." For each of these two levels to be satisfied
at this layer, the following requirements apply.
First, the lowest bar is the integratability layer. Here,
for two or more components to be "integratable," they
must be designed in such a way that they can work
together. For this layer, the following requirements
must be adhered to.
•
•
Technical interoperability (level 1). – This is not
really a consideration because, while the systems
are interconnected, there is no provision for even
data to be exchanged. As such, this level is merely
a precursor for other levels and minimally some
ability to exchange data over a network or within a
shared component framework, must exist.
Syntactic interoperability (level 2). At this level,
data exchanged is within a common syntax. The
data should be in a form that can be produced or
read by any bit of software that will interact with
it. This could be architecture objects such as
pipelines, semaphores, signals, Common Object
Request Broker Architecture; mark-up data such as
Extensive Markup Language and binary objects; or
simulation framework interactions such as Run
Time Infrastructure (RTI) packets. At this level,
the general syntax that the data has must be known
by the developer when writing code for this level.
Often this can be made modular and be replaced as
use warrants.
11S-SIW-042
-4-
•
Semantic interoperability (level 3). – For this
level, the techniques described for Syntactic
interoperability are followed.
However, the
difference is there is a shared understanding of the
labeling used to describe the data being
exchanged. In this way, the data has semantic
value and transitions from being data to becoming
information.
Most
modern
simulation
interoperability frameworks, designed for software
that is developed independently, support
interoperability approximately to this level. At
this level also, not only must the common syntax
be observed but additionally the common labeling
of the data must be agreed to. This could be the
native labeling of one of the subcomponents
involved but, in the case of components, often
takes the form of a hub or interchange model.
•
Pragmatic interoperability (level 4). This is a much
more difficult situation.
At this level, the
simulation components or subcomponents have a
complex relationship with each other. This is
because there is an awareness of the context of the
[Type text]
data that will be exchanged such that the
components can make "pragmatic" provisions for
data that is produced or how it is to be consumed.
Without a shared understanding of what the
foreign model is, it is unlikely that this is
achievable by a software component.
The
rewards, however, would be a vast increase in the
fidelity of the shared environment. For this, there
are two possibilities. The first is the developer of
a new component is aware of the context of a
component
the
developer’s
component
interoperates with (recall that Pragmatic
interoperability requires context awareness). The
second reward is there is a way to identify what is
important about the context between interoperating
systems. This is not as difficult as it may appear if
the requirements for context related parameters are
kept small such as for spatial location.
be any differences in the conceptualizations of the
composed models as constraints and assumptions
of each model must be harmonized.
4
The reuse of existing Modeling & Simulation
components includes the reuse of the component’s
software in addition to the categorization and storage
of the components in a repository. For this situation,
the components are not originally designed with reuse
in mind but rather are acquired “off the shelf” and
modified so they can be reused. To find suitable
existing components that might be modified for reuse
also requires the design and use of a repository that can
support the discovery and selection of such
components. The topic of repositories to include this
aspect is covered in the next section.
In developing Modeling & Simulation software for
reuse, the key points previously discussed to follow
include (1) be model aware and model sensitive, (2) be
aware of the environment that the developed software
will be reused in and what it will interoperate with, and
(3) decide what level of interoperability is desired and
provide the required software support. But what about
existing software that is not designed with reuse in
mind? In this situation, the desire is to use these
simulation components or sub-components in an
environment they were not designed for. What are the
issues and remedies that must be considered for this
case?
Finally at the composability layer, the last two levels of
the LCIM are present. At this layer, the goal is
component harmonization where assumptions, dynamic
timing, and operational constraints are all considered.
The requirements for these two levels of the LCIM
follow.
•
•
Dynamic Interoperability (level 5). This level is a
time
sensitive
version
of
Pragmatic
Interoperability.
Here, the goal is for each
interacting component is to not only be aware of
the context of the other system but also to be
aware of how that context changes over time
during the execution of the simulation. This
requires knowledge not only of the conceptual
model of the other system, in terms of objects and
relations, but also intimate knowledge of the
processes involved to include timing, specific
process effects, and changing states . As with the
Pragmatic Level, the developed system must have
the ability to become aware of the context that
other systems it composes with when data
exchanges. Without the system being a functional
equivalent of the other, this is only possible if
information about that context can be exchanged.
While this may be possible in limited situations, as
with Pragmatic Level interoperability, the writing
of software that is adaptive to changing contexts
may be quite difficult without intimate knowledge
of the models involved before starting.
4.1
Evaluating Possible Modeling & Simulation
Software
While evaluating possible simulations to be included in
your final solution of software components, there are a
couple things to keep in mind if you will be reusing
existing software components not designed for reuse.
This includes: (1) taking stock of the situation, (2) be
aware of the model in the candidate software and (3) be
aware of the inherent model(s) in the new environment
the candidate software will be modified to exist in.
Each of these are discussed in the following sections.
4.1.1
Take Stock of Your Situation
First, understand the specifics of your situation. What
should be clear by now is that one of the most
important things when working with Modeling &
Simulation software is to be aware of the model that
the software is implementing. Next, be aware of what
other models the software is being modified to interact
with in the new environment. Finally, be aware of the
software itself and whether modifying it is even
technically feasible. For example: Is it a binary for
Conceptual Interoperability (level 6). In addition
to complete knowledge of the model used by other
systems, this level of interoperability requires that
conceptualizations of each model involved, to
include constraints and concept interpretations,
must be in alignment. The requirements of the
Pragmatic Level are challenging as there must not
11S-SIW-042
Reuse of Existing Components
-5-
[Type text]
which you have no source code? Can it exchange data
at key touch points? Will it even function in its new
environment?
4.1.2
looking for a simulated weather software component,
there are likely several candidate solutions that will
satisfy the need for this type of software component.
However, even given the apparent “sameness” of these
candidate solutions, there are differences between each.
This occurs as a result of different developer
perspectives under which the software was developed
such as developer bias, use case requirements, and
business rules.
These differences, even among
components that are supposedly of the same element,
are called the dimensions of difference.
Be Aware of Your Software's Model
A conceptual model is behind every piece of
simulation
software.
Its
purpose
is
the
conceptualization of what the software is simulating.
Sometimes this is written down formally such as in
Unified Modeling Language diagrams or a conceptual
graph. Often it is in the requirements documents and
the internal documentation of the software. If the
original conceptual model is not available, then the best
the developer can do is to deduce the apparent
conceptual model based on the simulation software’s
behavior. While this sort of model deconstruction is
often necessary, it is often a very incomplete and
unsatisfactory solution! For this reason, when working
in a software-development organizations that will
practice reuse the key to survival and success is again
documentation, documentation, and documentation!
Although this is often stated with all software
development, in the case of Modeling & Simulation
software, it is especially true. Little can be done with
software if the underlying model is unknown.
4.1.3
4.2.1
If you want to reuse simulation software, one of the
key things that must be in alignment is the model’s
scope must be compatible with other software in the
new environment. Scope is simply the limits of what
the model handles based on what it is intended to
represent. An example is if a software component is
developed to model weather and its scope includes
wind, precipitation, and air pressure, but it is then
reused in an environment that expects electromagnetic
effects of sunspot activity, then there is a mismatch in
scope. Software with a scope that is larger but still
inclusive than the scope expected in its new
environment it is being reused in, however, may work
but be careful.
Be Aware of the Differences between Your
Environment and the Candidate Software's
Model
4.2.2
As you bring your software into a new environment,
there will likely be differences between the new
environment and your model. The first crucial type of
difference, and perhaps deadly, is where different
assumptions and constraints exist about the synthetic
environment. Your software component may assume
certain things about how the simulated world works,
yet the new environment you want to reuse it in may
make different assumptions. The second crucial type
of difference has to do with how objects and processes
are handled within your model and how the new
environment handles them. These specifics make up
what are called the ‘dimensions of difference,’ and
there are three different types: scope, resolution, and
structure
Differences in Structure
When a model is first conceived of, there are some
assumptions made about how the objects and processes
contained in it will be structured. If that same model,
and the software it is based on, is reused in a new
environment and other software in that environment
A1
A1
A2
A2
B1
B2
B2
C1
C2
C2
The Dimensions of Difference
While there may be many things that differ between
simulation software components and the models that
inspire the software’s design, there are a couple of
interesting observations. When a software component
is compared to another component or evaluated to fit
into an alien environment, there is often some
commonality in the identification of what is needed
and a candidate solution. For example, if one is
11S-SIW-042
A1 B1 C1
Entity 1
A2 B2 C2
Entity 2
COMPOSITIONS OF “NUMBER” SYSTEM
Figure 2- Primitives of Meaning
has a different structure, there may be mismatch.
-6-
Entity C
C1
Entity B
B1
Entity A
PRIMITIVES OF MEANING
COMPOSITIONS OF “LETTER” SYSTEM
4.2
Differences in Scope
[Type text]
A theory is in development at VMASC, to capture the
techniques whereby the structural elements of objects
and processes can be identified and addressed for
manipulation, re-definition or isolation. Results have
appeared in [29] and [30]. In (Figure 2- Primitives of
Meaning) the problems of addressing objects from one
structural viewpoint within the perspective of another
structural viewpoint are seen, even though the
comprising primitives are the same for both systems.
When these differences exist between a system or
environment and a simulation component that needs to
be reused in that environment, unless techniques
similar to those described in [29] and [30] are taken,
there are likely to be not only semantic differences, but
also technical differences.
4.2.3
4.4
MBDE can be used to solve certain problems in the
areas of data linguistics and structure and possibly
resolution. Problems of scope, however, are likely
outside of the realm of help that MBDE can provide.
Very briefly, MBDE is an approach to data engineering
that is based on having an understanding of the models
of the various systems involved.
The problems of Modeling & Simulation software
interoperability are the same problems that arise when
mismatches of the types we have been discussing occur
in a reuse situation
MBDE traditionally requires several steps to be
followed:
Differences in Resolution
•
•
•
•
•
Resolution is a challenging subject but, as with scope
and structure, if a model is built to a certain solution
and then reused in an environment with a different
resolution, there may be serious problems. Where
resolution is involved, the resolution may apply to
either objects, where the objects of a model are neither
higher nor lower, or to processes, where the computed
changes to objects occur at certain time intervals and
thus are neither faster nor slower. An example to
consider comes from modeling in the military domain.
Often a combat simulation will have its resolution at an
entity, a small unit such as a squad or platoon, or a
large unit such as a brigade or division. In all cases,
the model may be used to show the same battle, but the
resolution will be either high detail, in the case of an
entity, or low detail, in the case of large formations
such as divisions
4.3
Data Modeling
Data Administration
Data Management
Data Alignment
Data Transformation
The best source for a definitive treatment of MBDE is
Tolk and Diallo [23]. It has been relied on for further
work in a variety of publications since 2005, most
notably in [24] and [25]. The use of MBDE as the core
for a web services based simulation architecture is
presented in [26].
4.5
The Common Reference Model
The Common Reference Model used in the MBDE
solution is a data model that can capture all of the data
exchange between the software component and the
other elements in the new environment it is being
reused in [27].
Methods to Overcome Differences
MBDE is intended to be a "difference buffer" where
the various differences mentioned (i.e., linguistic,
structure, resolution, and, in some cases, scope), are all
ameliorated through the use of data mappings and
perhaps some algorithmic transformation of the data.
There are some Modeling & Simulation oriented
methods that can be used to overcome these
differences, at least where objects or data are
concerned
One approach that can solve some or perhaps many of
these problems for Modeling & Simulation software
components has been developed by researchers from
the Virginia Modeling Analysis Simulation Center
(VMASC).
This approach leveraged work from
researchers at other academic institutions as well most
notably the Joint Forces Command (JFCOM), North
Atlantic Treaty Organization – Allied Transformation
Command (NATO-ACT) [28], and Naval Postgraduate
School, . This approach is known as Model Based
Data Engineering or MBDE.
11S-SIW-042
Model Based Data Engineering
4.6
Process Differences
Of course, while data object differences is the most
common part of problems with reuse and also
interoperability, there are also likely to be just as many
differences in the area of processes. Unfortunately at
the time of this presentation, there is not a general
solution that can be applied using process engineering
for either reuse or interoperability. There is, however,
ongoing research at the VMASC in this area on a
‘Theory of Processes’ that will highlight the
differences of how individual models handle processes.
This approach is currently expected to be published in
a few months. The expectation is the Theory of
-7-
[Type text]
•
The many differences highlighted in this
presentation often come up too frequently leading
to simulation mismatch even among elements that
were developed to be reused to operate together.
•
The fixes recommended, especially for Model
Based Data Engineering, are not simple tasks. The
results are real and reliable; however, the effort
can be costly in terms of developer hours and other
resources.
•
There are times when it may be preferable to
simply re-engineer the software component for the
new environment. However, in this case, much of
the work can be saved and shortcuts taken if
documentation, as repeatedly emphasized earlier,
on the original model is available
As pointed out in the preceding sections, there is a
particular relationship between M&S and the concept
of reuse. Other than reusing abstract algorithms, or
even particular pieces of software, in the M&S arena,
the possibility for reusing models introduces both new
obstacles as well as new opportunities. Some specifics
related to this particular relationship are:
•
Even if the software is re-engineered, there are
likely time and cost savings as the original
component can certainly serve as a prototype
where methods for implementation might be used
and possibly portions such as the model’s
algorithms reused.
•
Acknowledgments
Processes will lead to methods for process engineering
during the next few years.
5
Conclusion
In the area of software or application engineering for
Modeling & Simulation projects, we see some
conclusions related to the idea of software reuse. The
first of these are a number of observations regarding
the particular relationship between reuse and M&S.
The second are a number of observations of when the
effort of attempting to design (or apply, after the fact)
reuse is just too much, compared to the rewards of the
effort.
5.1
•
•
•
5.2
Particular Observations about Reuse
Reuse for Modeling & Simulation software
requires all of the considerations that reuse for
other types of software require.
This work was produced based on a series of
investigations and research done by VMASC personnel
in support of a contract to Raytheon’s Network Centric
Systems group.
In addition to the usual considerations, Modeling
& Simulation software requires developers to be
aware of the model and, in cases of reuse, to be
aware of other models it will interact with.
6
Software for reuse must be interoperable, at some
level, with whatever software will exist in its new
environment.
[1] Spaccapietra, S., Parent, C. and Dupont, Y. (1992).
Model Independent Assertions for Integration of
Heterogeneous Schemas. Very Large Database (VLDB)
Journal 1(1): 81-126
The increasing levels of the LCIM introduce more
requirements on the nature of the data that is
exchanged. Usually this is because there is a
common basis for the involved models or, at
higher levels; the models must have some
awareness of each other.
[2] Parent, C. and Spaccapietra, S. (1998). Issues and
approaches of database integration. Communications of the
ACM 41(5): 166-178
[3] Gorman M.M. (2006) Data Interoperability Community
of Interest Handbook. Whitemarsh Information Systems
Corporation
When is Too Much, Too Much?
[4] Reynolds, P.F., Natrajan A. and Srinivasan, S. (1997).
Consistency Maintenance in Multiresolution Simulations.
ACM Transactions on Modeling and Computer Simulation,
Vol. 7, No. 3, 368–392
The effort to either design for reuse, or to
accommodate reuse after the fact with developed
simulation packages is an effort that can bring great
rewards (savings in time and development cost of
course, but also the introduction of additional
perspectives into a multi-model solution). However,
no matter what the benefits are, it is possible that the
requirements to reap those benefits may prove too
costly. Here are some points to consider when
attempting to evaluate the relationship between cost
and reward in an M&S reuse effort.
11S-SIW-042
Works Cited
[5] Davis, P.K. and Bigelow, J. H. (1998). Experiments in
Multiresolution Modeling (MRM). RAND Corporation
[6] C4ISR Interoperability Working Group (1998). Levels of
Information Systems Interoperability (LISI). Report for the
US Department of Defense. Washington, DC
[7] Winters L.S., Gorman M.M., and Tolk A. (2006). Next
Generation Data Interoperability: It’s all about Metadata.
-8-
[Type text]
IEEE Fall Simulation Interoperability Workshop, IEEE CS
Press
[24] Tolk, A., Diallo, S.Y., Turnitsa, C.D. (2007) ModelBased Data Engineering: Preparing a Paradigm Shift
towards Self-Organizing Information Exchange. Summer
Simulation Conference SCSC’07, San Diego, CA, July
[8] Davis, P.K. and Anderson, R.H. (2003). Improving the
Composability of Department of Defense Models and
Simulations. RAND Corporation
[25] Tolk, A., Diallo, S.Y., King, R.D., Padilla, J.J. and
Turnitsa, C.D.. 2010. Conceptual Modeling for Composition
of Model-based Complex Systems. In Conceptual Modelling
for Discrete-Event Simulation, ed. S. Robinson, R. Brooks,
K. Kotiadis and D.-J. van der Zee, CRC Press.
[9] Petty, M.D. and Weisel, E.W. (2003). A Composability
Lexicon.
Proceedings
IEEE
Spring
Simulation
Interoperability Workshop, IEEE CS Press
[10] Harkrider, S. M. and Lunceford, W. H. (1999). Modeling
and
Simulation
Composability.
Interservice/Industry
Training, Simulation and Education Conference (I/ITSEC)
[26] Tolk, A., Turnitsa, C.D., Diallo, S.Y. (2006)
Composable M&S Web Services for Net-Centric
Applications. pp. 27-44. Journal of Defense Modeling and
Simulation, Vol. 3 No.1
[11] Tolk A. and Muguira J.A. (2003). The Levels of
Conceptual In-teroperability Model (LCIM). IEEE Fall
Simulation Interop-erability Workshop, IEEE CS Press
[27] Tolk, A., Turnitsa, C.D., Diallo, S.Y., King, R. (2009)
Engineering Management for Complex Systems. Proceedings
of the 2009 Industrial Engineering Research Conference.
[12] Page, E.H., Briggs, R. and Tufarolo, J.A. (2004).
Toward a Fam-ily of Maturity Models for the Simulation
Interconnection Problem. IEEE Spring Simulation
Interoperability Work-shop, IEEE CS Press
[28] Tolk, A. and Boulet, J. (2007). Lessons Learned on
NATO Experiments on C2/M&S Interoperability. IEEE
Spring Simulation Interoperability Workshop, IEEE CS Press
[13] Hofmann, M. (2004). Challenges of Model
Interoperation in Military Simulations. SIMULATION 80:
659-667
[29] Turnitsa, C.D., Tolk, A., Kewley, R. (2009) Exploring
Primitives of Meaning in Support of Interoperability. IEEE
Fall Simulation Interoperability Workshop, IEEE CS Press
[14] Turnitsa, C.D. (2005). Extending the Levels of
Conceptual Interoperability Model. Proceedings IEEE
Summer Computer Simulation Conference, IEEE CS Press
[30] Turnitsa, C.D., Tolk, A. Kewley, R. (2010) Further
Exploration in Primitives of Meaning. In Proceedings, 2009
Spring Simulation Multi-Conference.
[15] Welty, C. and Smith, B. (2001). Formal Ontology in
Information Systems: Collected Papers from the Second
International Conference October 17th-19th, 2001. Assn for
Computing Machinery
[16] Agarwal, S., Handschuh, S. and Staab, S. (2005).
Annotation, Composition and Invocation of Semantic Web
Services. Journal on Web Semantics 2 (1): 1-24
[17] Alesso, H.P. and Smith, C.F. (2005). Developing
Semantic Web Services. A.K. Peters, Ltd.
[18] Chen, Y., Zhou, L. and Zhang, D. (2006). OntologySupported Web Service Composition: An Approach to
Service-Oriented Knowledge Management in Corporate
Services. Journal of Database Management 17 (1): 67-84
[19] Pillay A. (2000). Model Theory. Notices of AMS 47
(11): 1373-1381
[20] Sowa, J.F. (2000). Knowledge Representation: Logical,
Philoso-phical, and Computational Foundations. Brooks
Cole Pub-lishing Co.
[21] Yilmaz, L. (2004). On the Need for Contextualized
Introspective Simulation Models to Improve Reuse and
Composability of Defense Simulations. Journal of Defense
Modeling and Simulation 1 (3): 135-145
[22] Yilmaz L. and Paspuletti, S. (2005). Toward a Metalevel Framework for Agent-supported Interoperation of
Defense Simulations. Journal of Defense Modeling and
Simulation 2 (3):161-175
[23] Tolk, A. and Diallo, S.Y. (2005). Model Based Data
Engineering for Web Services. IEEE Internet Computing 9
(4): 65-70
11S-SIW-042
-9-
[Type text]
Authors' Biographies
EMILY ANDREW is currently the Director of Modeling &
Simulation for the Raytheon Company’s Network Centric
Systems. Formerly, she served 29 years on active duty in the
United States Air Force where she worked a number of major
modeling & simulation programs until retiring in July 2007.
She has an M.S. in Electrical Engineering from the
University of Colorado in Denver and has completed most of
the course work at ODU for a Ph.D. in engineering with a
concentration in Modeling & Simulation.
CHARLES TURNITSA is a Senior Project Scientist at the
Virginia Modeling Analysis and Simulation Center at Old
Dominion University (ODU). In addition he is also a Ph.D.
Candidate, studying under Dr. Andreas Tolk at ODU. He has
an M.S. in Electrical and Computer Engineering from that
institution. His Ph.D. topic deals with the specific definition
of modeled process.
ANDREAS TOLK is an Associate Professor in the faculty
for Modeling, Simulation, and Visualization at the
Engineering Management Department of the College of
Engineering and Technology at Old Dominion University
(ODU) in Norfolk, Virginia. He is affiliated with the Virginia
Modeling Analysis and Simulation Center (VMASC). His
domain of expertise is the integration of Modelng &
Simulation functionality into real world applications based on
open standards. He received a Ph.D. and an M.S in Computer
Science from the University of the Federal Armed Forces in
Munich, Germany.
11S-SIW-042
- 10 -