A Formal Framework for Integrated Environment Modeling

International Journal of
Geo-Information
Article
A Formal Framework for Integrated Environment
Modeling Systems
Gaofeng Zhang 1,2 , Yan Li 2 , Chong Chen 2 , Rui Zhou 2 , Dan Chen 2 and Qingguo Zhou 2, *
1
2
*
School of Physical Science and Technology, Lanzhou University, Lanzhou 730000, China;
[email protected]
School of Information Science and Engineering, Lanzhou University, Lanzhou 730000, China;
[email protected] (Y.L.); [email protected] (C.C.); [email protected] (R.Z.); [email protected] (D.C.)
Correspondence: [email protected]; Tel.: +86-931-891-2025
Academic Editors: Jason C. Hung, Yu-Wei Chan, Neil Y. Yen, Qingguo Zhou and Wolfgang Kainz
Received: 30 October 2016; Accepted: 10 February 2017; Published: 17 February 2017
Abstract: Integrated Environment Modeling (IEM) has become more and more important for
environmental studies and applications. IEM systems have also been extended from scientific
studies to much wider practical application situations. The quality and improved efficiency of
IEM systems have therefore become increasingly critical. Although many advanced and creative
technologies have been adopted to improve the quality of IEM systems, there is scarcely any formal
method for evaluating and improving them. This paper is devoted to proposing a formal method to
improve the quality and the developing efficiency of IEM systems. Two primary contributions are
made. Firstly, a formal framework for IEM is proposed. The framework not only reflects the static
and dynamic features of IEM but also covers different views from variant roles throughout the IEM
lifecycle. Secondly, the formal operational semantics corresponding to the former model of the IEM is
derived in detail; it can be used as the basis for aiding automated integrated modeling and verifying
the integrated model.
Keywords: Integrated Environment Modeling (IEM); formal method; operational semantics; unified
view; Finite State Machine (FSM)
1. Introduction
Over the past 30 years, Integrated Environment Modeling (IEM) has become more and more
important for environmental studies as it provides the ability to supply holistic views and solutions for
environment science coupled with ecology, economy, and social activities [1–4]. Assisted by advanced
computer science and technologies, many IEM systems have been developed to provide technical
support for IEM.
IEM systems have undergone approximately three stages since the emergence of IEM. The earliest
IEM systems, and even many new systems, are strictly integrated following to the classification
proposed by Voinov and Shugart [5]. In such a system, the models, data, and analysis algorithms
are tightly coupled together. Although most of these systems are effective and efficient, they are too
tightly coupled to be reused for similar research, modeling, and analysis, which reduces our ability
to efficiently develop new investigative paradigms. Therefore, the second stage focused on adopting
modular technologies in system development. Modularized software models and analysis algorithms
were developed, allowing for more loosely coupled systems. When new studies or applications are
encountered, these modules can be abstracted from the original systems and integrated together into
a new system with minimal adaptation. Thus, models and algorithms are more reusable and the
development efficiency, as well as the quality, of the new system is promoted.
ISPRS Int. J. Geo-Inf. 2017, 6, 47; doi:10.3390/ijgi6020047
www.mdpi.com/journal/ijgi
ISPRS Int. J. Geo-Inf. 2017, 6, 47
2 of 22
In the last 10–15 years, with the pressing need of environmental sustainable development, the IEM
system has become the basis for applied uses as well as research [6]. This requires the IEM system
to be developed more efficiently with much better quality; hence, IEM systems evolved into the
third stage. Advanced technologies for software development have been adopted to support these
requirements during this stage. Models and algorithms are developed as independent, self-contained
software components, which are managed in a model or algorithm library. Each component offers one
or more interfaces, through which different models and algorithms are woven together to simulate
complex phenomena or processes. In this stage, the components of models and algorithms are
developed independently. Achieving high reusability, loose coupling, and expandable structure of
IEM systems is the main objective. At the same time, to make integration easier, more efficient, and
more correct, some support tools have been specially developed. These tools aid IEM by helping build
modular components and may be libraries or frameworks, such as MMS [7], OpenMI [8], OMS3 [9,10],
ESMF [11], IWRMS [12], GMS/WMS/SMS BASINS [13], CSDMS [14], and SEAMLESS [15]. These
tools try their best to relieve integrators from complicated software development techniques, allowing
them to concentrate on the model’s interaction and connection and reflecting the relationships of
corresponding physical objects in the real world.
The IEM system has continually and promptly adopted many of the latest and advanced
computing models, architectures, and techniques. Recently, Multi-Agent System (MAS) [16,17],
grid computing [18,19], Service-Oriented Architecture (SOA) [20,21], and cloud computing [10,22] have
also become involved. These new techniques make the models less dependent on each other. It has
also become possible for many models to be integrated together no matter where they are deployed.
Nevertheless, the growth of the number of models in one system also increases its complexity.
More models lead to more interaction. In addition to the dataflow, there is the control flow, which
functions to smooth the gaps across models’ semantics and implementation. Thus, the integrated
model of IEM system development has a complex and even dynamic structure, which implies that
the models and dataflow may themselves function as variables during the simulation. Consequently,
it becomes difficult to precisely describe the structure of the integrated model.
Yet it is critical to correctly describe the structure of the model in order to reduce ambiguity,
and ensure the model runs smoothly with its dynamic structure. We note that formal methods of
developing computer systems use mathematically based techniques to describe system properties and
can provide frameworks to specify, develop, and verify systems in a systematic manner [23]. Thus,
research into defining formal developmental methods may help IEM as well; we focus on using some
formal methods to enrich the IEM system in this paper.
Although there is little direct research on formal descriptions for developing IEMs, there
have been many studies that enlighten our work. Argent [24] provided an overview of
IEM that covered requirements, modeling, integration, development, frameworks, practice, and
applications. Laniak et al. [6] summarized the landscape of IEM as containing four independent
elements—applications, science, technology, and community—and proposed its roadmaps, which
corresponded to each element. In addition, Argent et al. [25] also supplied an evaluation framework
that includes conceptual ease, ease of development, support for model development, and run time
features, etc. Voinov et al. [6,26] stressed the role of data in IEM and proposed that it is the data
that link different models together and, most importantly, distinguish IEM from pure software
composition. Rizzoli [27] focused on the semantics of the model interface link models together
smoothly, while Schmitz et al. [28] focused in detail on cooperation between models with different
temporal scales. Kragt et al. [29] emphasized the role of modelers and provided a framework
through which environmental modelers can guide more successful integrative research programs.
Lloyd et al. [30] used software engineering methods to illustrate that models with lower framework
invasiveness tended to be smaller, less complex, and have less coupling. Our own practices of
integrated modeling [31,32] also suggested that there should be some technologies to describe
integration more precisely.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
3 of 22
Inspired by these significant studies, this paper aims to construct a formal framework to improve
the development efficiency of integrated model and IEM systems. Although there have been many
formal methods designed to tackle the composition of components, services, and agents [33,34], there
are few formal methods to describe the dynamics of the integrated models’ structure at the level of
application. Thus, this paper proposes actor-oriented-like semantics with which the static and dynamic
attributes of models, rather than those of the software components, services, and agents corresponding
to the model, are defined.
Two main IEM views, different but related, are proposed to satisfy different objectives.
Graph-based semantics are used to supply the visual semantics for integration, from the perspective of
the integrators, and runtime control, from the perspective of the IEM system. The interaction among
the models is represented by an intuitional multidigraph with ports, in which the dataflow itself is
represented with the edge, models with vectors, and variables with ports.
For conceptual ease of reuse, another, unified, view of the model, based on a set of integrated
algebra, is defined. Reuse is one important factor of IEMs: integrated models, as well as related
knowledge, should be easily reused as this is the goal of integration. To simplify reuse of the integrated
model, this paper proposes a hierarchical FSM (HFSM)-based integrated algebra for modeling the
control flow of IEM, such that a unified view of both the simple model and integrated model is
achieved in our semantic framework.
There have been some studies to tackle the hierarchal structure formal analysis, such as analyzing
MAS with a hierarchal Petri-net [35] and model checking of a hierarchical FSM [36]. This implies
that the complexity that arises from the unified view of the model is affordable. Some analogous
studies have been conducted for decades. In the DSP (Digital Signal Processing) area, dataflow (DF)
is combined with HFSM to improve the quality (such as static schedule) of the system [37]. In some
science workflow systems (e.g., Kepler) and simulation frameworks (e.g., Ptolemy, which is Kepler’s
kernel), models and the dataflow among the models are also delegated with composited actors [38].
Distinct from these pre-existing methods, the main contribution of this paper is to emphasize the
dynamics of the model’s structure and the reusability of the integrated model. The former leads to
more scalable model, while the latter leads to the unified representation of the model and decouples
the model from other processes (such as input and output in Ptolemy) as well.
In the following sections, a use case as an example of IEM is given to explain problems encountered
by modelers in IEM practice. The unified view of IEM is proposed and the corresponding operational
semantics of the integration are carefully constructed. The multidigraphic view is then given and its
uniformity with the unified view is also discussed. At the end of the paper, several conclusions of our
research are given.
2. A Use Case as an Example of IEM
In this section, we give a use case as an example of IEM. In the latest research, by using OMS3,
Peña-Haro et al. [31] and Zhang et al. [32] integrated WOFOST, a crop growth and production model,
with HYDRUS-1D, an unsaturated flow model, and MODFLOW, a saturated flow model, to simulate
the interaction between crop growth and unsaturated-saturated flow processes. In the integration, the
MODFLOW domain is divided into several zones according to similarities of crops, soil properties and
groundwater depth. Only one WOFOST/HYDRUS-1D profile is assigned to each one of these zones,
which is illustrated in Figure 1.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
4 of 22
ISPRS Int. J. Geo-Inf. 2017, 6, 47
4 of 24
ISPRS Int. J. Geo-Inf. 2017, 6, 47
4 of 24
Figure
Theconceptual
conceptual model
model and
and aa 2-D
scenario
withwith
two spatial
Figure
1. 1.
The
2-D hypothetical
hypotheticalsimplified
simplified
scenario
two spatial
discretizing schemas.
discretizing
schemas.
Figure 1. The conceptual model and a 2-D hypothetical simplified scenario with two spatial
discretizing
schemas.model, the WOFOST provides HYDRUS with the Leaf Area Index (LAI), root
In this integrated
In this(RD),
integrated
model,
WOFOST
provides
HYDRUS
with the
(LAI), root
depth
and crop
heightthe
(CH),
while HYDRUS
provides
WOFOST
withLeaf
the Area
water Index
stress factor
In
this
integrated
model,
the
WOFOST
provides
HYDRUS
with
the
Leaf
Area
Index
(LAI),
(the
ratio
of
actual
transpiration
(vRoot)
and
potential
transpiration
(rRoot)).
Meanwhile,
the (the
depth (RD), and crop height (CH), while HYDRUS provides WOFOST with the water stressroot
factor
depth
(RD),provides
and cropMODFLOW
height (CH),with
while
HYDRUS
provides
WOFOST
withatthe
water
stress
factor
HYDRUS
recharge
fluxes
(vBot
or
recharge)
the
water
table,
while
ratio of actual transpiration (vRoot) and potential transpiration (rRoot)). Meanwhile, the HYDRUS
(the
ratio of actual
transpiration
(vRoot)
and potential
transpiration
(rRoot)).
Meanwhile,
the
MODFLOW
provides
HYDRUS
with
the pressure
head
value
(Hb
or H)
that is
used
as the MODFLOW
bottom
provides
MODFLOW
with
recharge
fluxes
(vBot or
recharge)
at the
water
table,
while
HYDRUS
provides
MODFLOW
with
recharge
fluxes
(vBot
or
recharge)
at
the
water
table,
while
boundary condition in HYDRUS-1D. Three models’ time steps are all adopted with one day. That is
provides
HYDRUS
with the pressure
head
value
(Hbvalue
or H) that
is that
usedisas
theasbottom
boundary
MODFLOW
provides
pressure
head
H)
used
theflow,
bottom
to say, three
modelsHYDRUS
simulatewith
one the
day’s
evolution
of the (Hb
croporgrowth,
unsaturated
and
condition
in
HYDRUS-1D.
Three
models’
time
steps
are
all
adopted
with
one
day.
That
is
to
boundary
condition
HYDRUS-1D.
models’
steps are
adopted
with 2.
one day. Thatsay,
is three
groundwater
flow, in
respectively.
TheThree
relation
can betime
illustrated
as all
shown
in Figure
models
simulate
one
day’s
evolution
of
the
crop
growth,
unsaturated
flow,
and
groundwater
to say, three models simulate one day’s evolution of the crop growth, unsaturated flow, and flow,
groundwater
flow,
respectively.
relationas
can
be illustrated
as shown
in Figure 2.
respectively.
The
relation
can be The
illustrated
shown
in Figure
2.
One day’s simulation
vRoot, rRoot
One day’s simulation
WOFOST
vRoot, rRoot
WOFOST
?
LAI, RD, CH
WOFOST
?
HYDRUS
…
…
Hb
HYDRUS
Hb
MODLOW
vBot
MODLOW
LAI,
RD, CH
HYDRUS
HYDRUS
MODLOW
?HYDRUS
HYDRUS
HYDRUS
MODLOW
?
WOFOST
MODLOW
…
HYDRUS
MODLOW …
…
MODLOW
MODLOW
vBot
Before Sower
Before Sower
…
Day
After Sower
After maturation
Day
After Sower
After maturation
Figure 2. The process of the integrated model’s simulation.
Figure 2. The process of the integrated model’s simulation.
Figure 2. The process of the integrated model’s simulation.
In practice, we encountered several difficulties. The first difficulty is that WOFOST has a different
active period from HYDRUS1-D and MODFLOW. When there is no crop (Before sower and after
maturation in Figure 2), WOFOST is deactivated and the input dataflow of HYDRUS-1D disappears.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
5 of 22
Should we integrate only Hydrus-1D and MODFLOW, or WOFOST, HYDRUS-1D and MODFLOW
together? If we adopt the former, WOFOST has to be integrated in the “after sower” period, which
leads to more effort for the new integration. Moreover, the integrated model in the whole simulation is
not consistent. If we adopt the later, how deal with simulation without a crop? In our earlier study,
we had to add extra codes to exam the state of the crop’s sower and growth and decide whether
WOFOST should be triggered. At the same time, both the structure and the dataflow of the model are
variable during the simulation, which makes the integrated model difficult to reuse.
The second difficulty is that the conceptually integrated model is difficult to be reuse during the
instantiation. For different spatial discretizing schemas (such as Schema 1 with 2 zones and Schema 2
with 5 zones, shown in Figure 1), there are different model instances and different dataflow, so that
many integrating codes have to be repeated for different schemas. Other problems will be encountered
in different contexts, such as how to integrate models with different space dimensions or different
time steps.
3. Unified View of the Model
The IEM support tool and runtime environment should be adaptable to different views from
different users. The unified form of the model is provided to the end user by the platform to make the
model easier to use. Each model’s static features (parameters, input variables, and output variables
involved in whole simulation) are visible to users. However, all sub-models (i.e., the blocks used
to construct the complex model) of the integrated model are managed by the runtime environment,
including data transfer, the models’ schedules, and process control, which is transparent to the end user.
During the simulation, the integrated model’s parameters, input variables, and output variables may
vary in different time steps. For example, in the above WOFOST, HYDRUS and MODFLOW integrated
model, when the model is in the “before sowing” and “after maturation” phases, the parameters,
input variables, and output variables are not needed. Therefore, the dataflow related to the model
changes too. The variations of the model, its dynamic features, should be represented carefully such
that the runtime environment can detect and manage them. Although FSM, Petri-Nets, and other
mechanisms [35–37] can all model the dynamic features, because of the simplicity and efficiency in
dataflow management [37], we chose FSM to represent the dynamic features in our framework.
In the following section, a formal framework to support these mechanisms is discussed in detail.
3.1. Formal Definition of the Model
In our framework, a unified view represents all models, no matter whether they are basic or
integrated. Here the basic model implies that the model is not integrated from other models. The
model is formally and abstractly defined with a 5-tuple, which is based on the concept of the actor, as
M: = < P, I, O, F, A>
In this framework, P, I, and O are three tuples of the parameters, input variables, and output
variables, respectively. They are the interfaces of the model, used to interact with the external
environment. The framework defines them similarly as follows:
P = Ø or P = {p1 , p2 , . . . }
I = Ø or I = {i1 , i2 , . . . }
and
O = Ø or O = {o1 , o2 , . . . }
F is the tuples of the functions of the model, which is defined as
F = {f 1 , f 2 , . . . }.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
6 of 22
The framework defines the state of the model as
S: = < Pe , Ie , Oe , fe >
where fe ∈F, and
ISPRS Int. J. Geo-Inf. 2017, 6, 47
6 of 24
fe : Pe × Ie → Oe
or
where fe∈F, and
(oe1 , oe2 , . . . , oen ’) = fe (pfee1
. , pOele’, ie1 , ie2 , . . . , iem ’)
: P, ep×e2I, e. .→
or
where
Pe ∈P, Ie ∈I, Oe ∈O, en’, el’, em’∈N, and el’, em’ ≥ 0. Pe , Ie , Oe , and fe are the effective parameters
(oe1effective
, oe2, …, output
oen`) = fe variables
(pe1, pe2, …,
pel`and
, ie1,effective
ie2, …, iem`function
)
set, effective input variables set,
set,
under the specific
whererespectively.
Pe∈P, Ie∈I, Oe∈O, en`, el`, em`∈N, and el`, em` ≥ 0. Pe, Ie, Oe, and fe are the effective
state,
parameters
set,model
effective
inputa variables
set,(such
effective
output
variables
and effective
function
When the
is under
specific state
as before
sowing
in theset,
example),
it will have
the
under
the
specific
state,
respectively.
same effective parameters set, effective input variables set, effective output variables set, and effective
When
model
under
a specific
state and
(such
as before
sowing
in the example),
it will
have
function
set.the
When
theisnew
inputs
are coming
they
all satisfy
the constraints,
the model
will
be
the
same
effective
parameters
set,
effective
input
variables
set,
effective
output
variables
set,
and
fired. Once Pe , Ie , Oe , or fe changes (such as from before sowing to after sowing), the model will change
effective
function
set.can
When
the new inputs
coming
they (FSM).
all satisfy the constraints, the
to
a new state,
which
be represented
by theare
Finite
Statesand
Machine
model
will
be
fired.
Once
P
e, Ie, Oe, or fe changes (such as from before sowing to after sowing), the
A is a FSM of the model, which is defined as
model will change to a new state, which can be represented by the Finite States Machine (FSM).
A is a FSM of the model, which is defined
A: = as
<S, s0 , T>,
A: = <S, s0, T>,
where SSisisthe
thefinite
finitesetset
states
of the
model.
→the
S is
thetransition
state transition
function,
which
where
of of
states
of the
model.
T: S T:
→ SS is
state
function,
which means
means
that,the
while
the parameter
Pe and
input Ivariable
Ie are valuated,
model
to a
that,
while
parameter
Pe and input
variable
the modelthe
will
transitwill
to atransit
new state,
e are valuated,
new state, coinciding
Pe and
Ie, and
fe will
be fired
Oe isInobtained.
In the framework,
the
coinciding
with Pe andwith
Ie , and
f e will
be fired
while
Oe is while
obtained.
the framework,
the initial state
state
0 =f<
Ø, Ø, fthat
Ø > means
that has
the been
model
has beenwhere
activated,
∈S andthat
fØ denotes
sinitial
Ø, sØ,
> means
the model
activated,
s0 ∈Swhere
and f Øs0denotes
there is
ØØ,
0 = < Ø,
that there
do except
await new input.
nothing
toisdonothing
except to
await
new input.
In the
thedefinition,
definition,P,P,I, I,
and
F are
to represent
the static
structure
properties
of the
O,O,
and
F are
usedused
to represent
the static
structure
properties
of the model.
model.
At the
same
time,
the dynamic
characteristics
of the are
model
are described
with
theA,FSM
A,
At
the same
time,
the
dynamic
characteristics
of the model
described
with the
FSM
which
which represents
the transition
of the structure
of the We
model.
Weblock
use the
block diagram
represents
the transition
of the structure
of the model.
use the
diagram
as shownasinshown
Figurein
3
Figure
3 to represent
the In
model.
In the figure,
the model
P, I,
I ={i{i
to
represent
the model.
the figure,
the model
m = <m
P,=I,< O,
F,O,
A F,
>, A>,
P =P{p=1 ,{pp12, },p2},
I=
1 ,1,i2i2,, i33},
O == {o11,, oo22},},FF=={ {ff11, ,f2f},2 },AA= =
<S,<S,
s0,sT>,
= S{ s=0, {s1s,0s, 2s},1 ,and
= {T
(s0=, s{(s
1),0(s
s2),
O
s2 }, T
and
, s01, ),
(s0(s, 1s,2s),1),(s(s1 ,2,ss12),),((ss21, s22),),((ss21,,ss12)}.
),
0 , TS>,
In2 ,addition,
s1 = <Pe1, sI1e1,=O<P
e1, e1
f1>,
<P
e2
,
I
e2
,
O
e2
,
f
2
>,
P
e1
=
P
e2
=
{p
1
,
p
2
},
I
e1
=
{i
1
,
i
2
},
I
e2
=
{i
1
,
i
3
},
O
e1
=
{o
1
},
(s
s1 )}. In addition,
, Ise12 ,=O
,
f
>,
s
=
<P
,
I
,
O
,
f
>,
P
=
P
=
{p
,
p
},
I
=
{i
,
i
e1 1
e2 e2
e2 2
e1
e2
e1
2
1 2
1 2
}. e1
The
transition
the figure.
Iand
{ie21 , =i3{o
}, 2O
= {o
= {o2 }. Thein
transition
is illustrated in the figure.
e2 =O
e2 illustrated
1 }, and Ois
p1
m
i1
p2
P= ÈPe
o1
I=ÈIe
o2
i3
s0
Static features
O= ÈOe
F = ÈFe
i2
s1
Dynamic features
s2
Figure 3. The diagram definition of the model.
Figure 3. The diagram definition of the model.
A basic model is represented in Figure 4, where m = < P, I, O, F, A>, F = { f }, A = <S, s0, T>,
S = {s0, s1}, and T = { (s0, s1), (s1, s1)}. Additionally, s1 = <Pe, Ie, Oe, f>, Pe = P, Ie = I, and Oe = O.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
7 of 22
AISPRS
basicInt.
model
is represented
in Figure 4, where m = < P, I, O, F, A>, F = { f }, A = <S, s0 , T>, 7 of 24
J. Geo-Inf.
2017, 6, 47
S = {s0 , s1 }, and T = { (s0 , s1 ), (s1 , s1 )}. Additionally, s1 = <Pe , Ie , Oe , f >, Pe = P, Ie = I, and Oe = O.
p1
m
i1
p2
P= Pe
o1
I=ÈIe
i2
O=ÈOe
F = Fe = {f}
o2
i3
s0
s1
Figure 4. The diagram definition of the basic model.
Figure 4. The diagram definition of the basic model.
3.2. Algebra for Integrating Models
3.2. Algebra for Integrating Models
To obtain the unified view of the model in integrated modeling, we present algebra like that in
ToHamadi
obtain the
view
of to
themodel
modelthe
in control
integrated
we allows
presentthe
algebra
likeofthat in
the works of
andunified
Benatallah
[33]
flowmodeling,
of IM, which
creation
the
works
of
Hamadi
and
Benatallah
[33]
to
model
the
control
flow
of
IM,
which
allows
the
creation
new models using the existing ones as building blocks. With this algebra, the new model also satisfies
of
new
models
using
the
existing
ones
as
building
blocks.
With
this
algebra,
the
new
model
also
the unified definition of the model.
satisfies
the unified
of and
the model.
We
describe
below definition
the syntax
informal semantics of the model algebra operators.
We
describe
below
the
syntax
and
informal
semantics
the modelThe
algebra
The constructs are chosen to allow common and
advanced
model of
integration.
set ofoperators.
models The
constructs
are
chosen
to
allow
common
and
advanced
model
integration.
The
set
of
models
can be
can be defined by the following grammar in BNF-like notation:
defined by the following grammar in BNF-like notation:
M::| =Mɛ→
|M
X ||M→M
MM
◊↑M
M:: = ε | X
M←M||M←M
M ♦ M| |
M||M↑M
µM | μM
ɛ represents an empty model, i.e., a model that performs no operation.
ε represents
an empty
model,
i.e., a model
no operation.
X represents
a model
constant,
usedthat
as a performs
basic model
in this context.
X represents
model constant,
used as amodel
basic model
in this context.
M1→Ma2 represents
an integrated
that performs
the model M1 followed by the model M2,
Mi.e.,
→
M
represents
an
integrated
model
that
performs
the
model
M1 followed by the model M2 ,
→2 is an operator of sequence.
1
i.e., → is anMoperator
of sequence.
1←M2 represents
an integrated model where the next stage of model M1 must be performed
Mafter
←
M
represents
an
integrated
model
thefeedback
next stage
of model M1 must be performed
the
current
stage
of
model M
2, i.e., where
← is the
operator.
1
2
after the current
stage
of
model
M
,
i.e.,
←
is
the
feedback
operator.
M1 ◊ M2 represents an 2integrated model that behaves as either model M1 or model M2. Once
Mone
M2them
represents
an its
integrated
model that
as either
model M1 or
model
Onceoperator.
one
executes
first operation,
the behaves
second model
is discarded;
thus,
◊ is M
the
1 ♦ of
2 . select
of them executes
its
first
operation,
the
second
model
is
discarded;
thus,
♦
is
the
select
operator.
M1 ↑ M2 represents a model in which M1 and M2 can execute simultaneously. There is no
Minteraction
in2, which
execute
simultaneously. There is no
between aMmodel
1 and M
i.e., ↑ M
represents
parallel
operator.
1 ↑ M2 represents
1 and M2 acan
interaction μM
between
M1 and
M2 , i.e.,that
↑ represents
parallel
operator.
represents
a model
performs athe
model
M a certain number of times, i.e., μ represents
µM
a model that performs the model M a certain number of times, i.e., µ represents an
an represents
iterate operator.
iterate operator.
4. Formal Operational Semantics of Integrated Modeling
4. Formal Operational Semantics of Integrated Modeling
In the framework, the formal operational semantics are presented to represent and implement
Inthe
thealgebra
framework,
the formal
operational semantics are presented to represent and implement the
calculators
for integration.
algebra calculators for integration.
4.1. Connector
4.1. Connector
The models interact with each other through the dataflow among them. However, because the
The models interact with each other through the dataflow among them. However, because the
models may be developed in different scenarios for different purpose by different developers, there
models may be developed in different scenarios for different purpose by different developers, there
can be potential gaps between models that impede them from connecting smoothly. The barriers
mainly involve the different dimensions, different scales, and even different semantics between the
variables that will be connected during integration.
The framework defines the connector to ‘glue’ the models together such that it fills in the gap.
The connector is a simple and single functionality computing unit. The data from the output
ISPRS Int. J. Geo-Inf. 2017, 6, 47
8 of 22
can be potential gaps between models that impede them from connecting smoothly. The barriers
mainly involve the different dimensions, different scales, and even different semantics between the
variables that will be connected during integration.
The framework defines the connector to ‘glue’ the models together such that it ISPRS
fills in
the gap.
Int. J. Geo-Inf. 2017, 6, 47
The
connector
is
a
simple
and
single
functionality
computing
unit.
The
data
from
the
output
variable
ISPRS Int. J. Geo-Inf. 2017, 6, 47
8 of 24
of the model is collected by the connector. A new datum is computed with those input
data and
variable
of8sent
the
model is collected
ISPRS Int. J. Geo-Inf. 2017, 6, 47
of 24
to
the
input
variable
of
another
model
or
to
the
outputting
model
itself.
sent
to the input variable of
variable of the model is collected by the connector. A new datum is computed with thoseand
input
data
Each
connector
can
a or
5-tuple,
similar
to the
basic
model: with thoseEach
can be repre
and sent
to the
input
variable
ofrepresented
another
to theA
outputting
model
itself.
variable
of
the model
is be
collected
by model
theasconnector.
new datum
is computed
inputconnector
data
Eachsent
connector
can bevariable
represented
as a 5-tuple,
similar
the basic model:
and
to the input
of another
model or
to thetooutputting
model itself.
C: = <P,I,I,O,O,F,F,A>.
A>.
Compared to the basic mod
Each connector can be representedC:as= a<P,
5-tuple, similar to the basic model:
always
has only one output varia
Compared to the basic model’s definition, C:
the= only
difference
is
that
O
=
{o},
i.e.,
the
connector
<P, I, O, F, A>.
Compared to the basic model’s definition, the only difference is that O = {o}, i.e., the connector
toathe
represent
the connector in th
always has
only one to
output
variable.
To distinguish
from
thedifference
model, weisuse
triangle
Compared
the basic
model’s
definition, the
only
thatthe
O box
= {o},with
i.e.,
connector
always has only one output variable. To distinguish from the model, we use the box with a triangle to
of the first model can so
to represent
theonly
connector
in the
block To
diagram,
as seen
inthe
Figure
5. we
Theuse
value
of variable
the
output
always has
one output
variable.
distinguish
from
model,
the box
with
a triangle
represent the connector in the block diagram, as seen in Figure 5. The value of the output variable of
directly;
the
connector may then
variable
of the first
can sometimes
be transferred
to seen
the input
variable
of the
second
model
to represent
themodel
connector
in the block
diagram, as
in Figure
5. The
value
of the
output
the first model can sometimes be transferred to the input variable of the second model directly; the
directly;
the connector
thencan
be simpler,
i.e.,be
P transferred
= Ø, I = {i}, and
f isinput
o = f(i)variable
= i.
variable
of the firstmay
model
sometimes
to the
of the second model
connector may then be simpler, i.e., P = Ø, I = {i}, and f is o = f (i) = i.
directly; the connector may then be simpler, i.e., P = Ø, I = {i}, and f is o = f(i) = i.
p1
p2
p1
c
i1
I=Ie
i2
i1
i3
i2
p2
c
P= Pe
c
i1
P= Pe
I=Ie
O = Oe={o}
F = Fe = {fc}
o
O = Oe={o}
F = Fe = {fc}
I=Ie
i2
i3
o
i3
s0
s1
s0
s1
Figur
Figure 5. The diagram definition of the connector.
Figure 5. The diagram definition of the connector.
Figure 5. The diagram definition of the connector.
4.2. Semantics for the Algebraic Op
4.2. Semantics for the Algebraic Operator
4.2.
4.2.1. Empty Model
4.2.Semantics
Semanticsfor
forthe
theAlgebraic
AlgebraicOperator
Operator
4.2.1. Empty Model
For technical and theoretic
4.2.1. Empty Model
4.2.1.
Empty
Model
emptyasmodel
For technical and theoretical reasons, a model that performs no operation is defined
an ɛ.
For technical
and theoretical reasons, a model that performs no operation is defined as an empty
empty model
ɛ.
For technical
and theoretical reasons, a model that performs no operation is defined as an
model ε.
where P = Ø, I = Ø, O = Ø, F = Ø,
ɛ = < P, I, O, F, A>
empty model ɛ.
ε
=
<
P,
I,
O,
F,
A>
where P = Ø, I = Ø, O = Ø, F = Ø, A = <S, s0, T>, Sɛ=={s<0P,
}, and
= Ø.
I, O,TF,
A>
4.2.2. Parallel
where
P
=
Ø,
I
=
Ø,
O
=
Ø,
F
=
Ø,
A
=
<S,
s
0
,
T>,
S
=
{s
0
},
and
Ø.Ø.
where P = Ø, I = Ø, O =
= <S, s0 , T>, S = {s0 }, andT T= =
4.2.2. Parallel
The parallel operator indica
4.2.2.
4.2.2.Parallel
Parallel
Paralleled
The parallel operator indicates that two or more models can be parallel in the same
cycle.models do not depend
the
integrated
The
parallel
operator
indicates
that
two
or
more
models
can
be
parallel
in
the
same
cycle.
Paralleled
Paralleled
models
do
not
depend
on
each
other’s
according
to
the
dataflow.
But
if
one
model
fails,cycle.model based on
The parallel operator indicates that two or more models can be parallel in
same
HYDRUS
and HYDRUS 2 sh
the models
integrated
model
based
on
the
control
will
fail
For example,in
1if of
Figure
1,1fails,
do not
depend
other’s
to too.
the
dataflow.
if oneschema
model
the
integrated
Paralleled
models
do on
noteach
depend
on according
each
other’s
according
to But
the dataflow.
Butfails,
one
model
1, I1, O11,
, F1, A1>, m2= <P2,
HYDRUS
1 and on
HYDRUS
2 should
be
the
operator.
Given
two
model
based
the
control
willon
failthe
too.integrated
For example,
in schema
1 of
Figure
1, HYDRUS
1mand
HYDRUS
the integrated
model
based
control
willwith
fail
too.parallel
For
example,in
schema
11 =models:
of<P
Figure
and
=
<P,
I,
O,
m1 =2HYDRUS
<P
1, I1, O
Fand
1, A1>,
m
2
=
<P
2
,
I
2
,
O
2
,
F
2
,
A
2
>,
A
1
=
<S
1
,
s
10
,
T
1
>,
and
A
2
=
<S
2
,
s
20
,
T
2
>,
let
m
=
m
1
↑m
2
should
be1,1integrated
with
the
parallel
operator.
Given
two
models:
m
=
<P
,
I
,
O
,
F
,
A
>,
m
=
<P
HYDRUS 2 should be integrated with the parallel
1 operator.
1 1
1Given
1
1two models:
2
2 , F, A>.
Therefore,
andIm
F,1A
O=<P,
, F12I,,, IO,
A1,2 O
>,
s10
T1 2>,
<S
s20
, T<S
let
I, O,
A>.
,A>.
F11=
, A<S
1>,
2=, <P
, Iand
2, O2A
,F
,A
2>,
1 =
1, s
10, m
T1=
>, m
and
= <Sm2, =
s20<P,
, T2>,
let F,
m
= m1↑m2P = P1 ∪ P2, I = I
2 ,1=
2<P
1 ,m
2 2=
2, A
2 >,
1 ↑mA
2 2and
Therefore,
P
2
,
I
=
I
1
∪
2
,
and
O
=
1
∪
O
2
,
where
∪
implies
that
all
output
variables
of of
Therefore,
PP=1F,∪PA>.
∪
P
,
I
=
I
∪
I
,
and
O
=
O
∪
O
,
where
∪
implies
that
all
output
variables
the
different
models are differen
and
m = <P,PI,=O,
1
2
1
2
1
2
different
models
berepresented
represented
with
,
the the
different
models
be
with
FFvariables
== FF11☉☉ Fimplies
F = {f=( f1 ↑
F2, where
Therefore,
Pare
= are
Pdifferent.
1 ∪different.
P2, I =The
I1The
∪ integration
I2,integration
and O = of
Oof
1the
∪the
Ofunction
2,function
where can
∪can
implies
that all output
2of
where
FF == {f{f=(
=( f 11different.
↑ f 2f)|
∈
F 11,integration
F 22}} and
ff =the
↑ f 2f2implies
f fexecutes
exactly
both
f1 and
f21execute
exactly and
☉ implies
implies
↑
2)| f f11 The
∈F
, ff22∈
∈F
andof
= ff11 function
↑
implies
thatrepresented
executes
exactly
F2, where
the different
models
are
canthat
be
with
Fif=ifboth
F
☉
model
is
s
0
=
<s
10
,
s
20
>,
where s10
bothFf21, and
f
2
execute
exactly
and
simultaneously.
In
accordance
with
FSM,
the
initial
state
of
the
where ☉ implies F = {f=( f1 ↑ f2)| f1 ∈F1, f2∈F2} and f = f1 ↑ f2 implies that f executes exactly if
means
that
1 and m2 are in initi
model
is sf01 and
= <s10f2, execute
s20>, where
s10 and
refer to the initial
states of m1with
and FSM,
m2, respectively,
which
both
exactly
ands20simultaneously.
In accordance
the initial
state
ofmthe
(S − S\{s}
{s}). The
means
that is
m1sand
m102,are
initial sstates
S = {s0}states
∪ (S1\{s
S2\{sm202,}),respectively,
where
= transition T is also
model
0 = <s
s20>,inwhere
10 andsimultaneously.
s20 refer to the initial
of 10m} 1×and
which
where
1 S\{s}
× T2 =={(s1is2l, s1js2m)| (s1i,
(S − means
{s}). The
transition
the combination
of T1 and TS2.=We
2 20
−}),
s10where
•−T
s20
•,
that
m1 and mT2 is
arealso
in initial
states simultaneously.
{s0} define
∪ (S1\{sT10}=×TS12×T
\{s
0,12 l,×−m
where
× T2 The
= {(s1itransition
s2l, s1js2m)| T(s1iis, salso
1j) ∈T
(s2l, s2m)∈T2, i,ofj, T
l,1mand
≥ 0},T2s.10We
• = define
{(s10s2l, sT1js=2mT
)∈T
Ts210≥|,•0},
j−> and
(S T−1 {s}).
the1, combination
1×T
s20•,s20• = {(s1is20, s1js2
ISPRS Int. J. Geo-Inf. 2017, 6, 47
9 of 22
f 1 and f 2 execute exactly and simultaneously. In accordance with FSM, the initial state of the model is
s0 = <s10 , s20 >, where s10 and s20 refer to the initial states of m1 and m2 , respectively, which means that
m1 and m2 are in initial states simultaneously. S = {s0 } ∪ (S1 \{s10 } × S2 \{s20 }), where S\{s} = (S − {s}).
The transition T is also the combination of T1 and T2 . We define T = T1 ×T2 − s10 • − s20 •, where T1 ×
T2 = {(s1i s2l , s1j s2m )| (s1i , s1j ) ∈T1 , (s2l , s2m )∈T2 , i, j, l, m ≥ 0}, s10 • = {(s10 s2l , s1j s2m )∈T1 × T2 |, j > 0, l, m
≥ 0}, and s20 • = {(s1i s20 , s1j s2m )∈T1 × T2 |, I > 0, l, m ≥ 0}. If si = (s1j, s2k ), Pei = Pe 1j ∪ Pe 2k , Iei = Ie 1j ∪
Ie 2k ,Int.
OeiJ. Geo-Inf.
= Oe 1j 2017,
∪ Oe6,2k47
, i 6= 0, and fe = (fe1 ↑fe2 ), which means fe1 and fe2 are performed simultaneously.
ISPRS
9 of 24
The parallel operation is illustrated in Figure 6.
It It
is obvious
thatthat
we can
m = mm1↑m
2= ↑
2↑m
1 and
= m1↑m
1↑m
)↑m
3 = )m
1↑ =
is obvious
we obtain
can obtain
= m
m =2↑m
m1 ↑3=m(m
1 mm
2= m
2 ↑m1m and
2 ↑m
3 = 2(m
1 ↑m
2 ↑m
3
(mm
2↑m
3). ↑m ).
↑
(m
1
2
3
p1
m= m1↑m2
i1
p2
P= P1ÈP2
m1
I= I1ÈI2
i2
o1
O = O1ÈO2
m2
i3
o2
F = F1 ☉ F2
s0
s1
To clarify, we consider that m1
(s11, s21)
(s12, s21)
and m2 both have two states in
addition to their respective initial
(s10, s20)
states. These states are denoted
(s11, s21)
(s12, s22)
as s11, s12 of m1 and s21, s22 of m2.
Figure 6. The diagram definition of the Parallel operator.
Figure 6. The diagram definition of the Parallel operator.
4.2.3. Sequence
4.2.3. Sequence
The sequence operator is the most familiar operation during integration. It indicates that m1 must
The
sequence
is the
operation
during
integration.
It indicates
thatbymthe
1
have
finished
its operator
action before
m2 most
can befamiliar
activated
in the same
cycle,
which is generally
caused
must
have
finished
its
action
before
m
2
can
be
activated
in
the
same
cycle,
which
is
generally
caused
dataflow. If the data of one or more input variables of m2 are from the output variables of m1 , then
bythere
the dataflow.
If themdata
or more
input
variables
m2 are from
the output
variables
m1,
is a sequence
Usually,
there
is one
or moreof
connectors
between
m1 and
m2 ; weof
denote
1 →mof
2 . one
then
m
1→m
2where
.
Usually,
there
is
one
or
more
connectors
between
m
1 and m2; we
thisthere
as m1is
→a(csequence
↑
.
.
.
↑
c
)
→
m
,
c
,
.
.
.
,
and
c
are
parallel.
1
2
1
k
k
1→(care
1↑…↑c
k)→m2,m
where
and
denoteSuppose
this as mthere
two models
I1 , O
A1 >,parallel.
m2 = <P2 , I2 , O2 , F2 , A2 >, A1 = <S1 , s10 , T1 >,
1 = <Pc11,,…,
1 , Fc1k, are
two
models
m
1 =
<P
1, and
I
1, Om
1, =
F
1m
,
A
1>,mm2==m
<P
2, (c
I21, ↑O. 2.,.F↑2,ckA)2→
>,mA21, =then,
<S1, according
s10, T1>,
andSuppose
A2 = <S2there
, s20 , Tare
>.
If
m
=
<P,
I,
O,
F,
A>
→
2
1
2
1→
and
A
2
=
<S
2
,
s
20
,
T
2
>.
If
m
=
<P,
I,
O,
F,
A>
and
m
=
m
1
→m
2
=
m
1
→(c
1
↑…↑c
k
)→m
2
,
then,
according
toc >,
to parallel operation, we can define cm = c1 ↑ . . . ↑ck , and cm = <Pc , Ic , Oc , F c , Ac >, Ac = <Sc , sc0 , T
parallel
operation,
can
cm<s
= c1
c1↑…↑c
Sc = {sc0
, sc1 }, andwe
Tc =
{<sdefine
, sc1 >}. k, and cm = <Pc, Ic, Oc, Fc, Ac>, Ac = <Sc, sc0, Tc>, Sc = {sc0,
c0 , sc1 >,
sc1}, and
{<sc0, we
sc1>,can
<sc1obtain
, sc1>}.P = P1 ∪ Pc ∪ P3 , O = O1 ∪ Oc ∪ O3 , and I = I1 ∪ Ic ∪ I2 − Icˆ1 − I2ˆc , where
AsTac =result,
result,
P1 is
∪P
c ∪ set
P3, of
Om
= bO
∪ Oc ∪ that
O3, and
I1 ∪ occupied
Ic ∪ I2 − Ic^1
I2^c
, where
IaˆbAs
= {ia ∈
Ia | ∃we
o ∈ can
Ob , obtain
mb .o = P
ma=.i>}
the
’s1 inputs
haveI =been
by− m
outputs.
a ’s
Ia^b = {iThe
∈ integration
Ia| ∃o ∈ O
mb.ofunction
= ma.i>}can
is the
set of mb’s with
inputsF =
that
been
occupied
a’sf )
ofb, the
be represented
F 1 have
× Fc ×
F 2 , and
f = (f 1by
→fm
c→
2
outputs.
∈ F, which means that f 1 ∈F 1 , fc ∈F c , and f 2 ∈F 2 are performed in sequence. According to FSM, A =
The
integration
the function
be represented
with
1 ×
Fc × Fmeans
2, and fthat
= (f1m
→f
2) ∈
A1 ×
Ac ×
A2 , and theofinitial
state of can
the model
is s0 = <s10
, sc0F, s=20F>,
which
c and
m2F,
are
1 ,c→f
which means that f1∈F1, fc∈Fc, and f2∈F2 are performed in sequence. According to FSM, A =
A1×Ac×A2, and the initial state of the model is s0 = <s10, sc0, s20>, which means that m1, c and m2 are in
initial states simultaneously. In addition, S = {s0} ∪ (S1\{s10} × Sc\{sc0} × S2\{s20}). The transition T is
also the combination of T1, Tc and T2. We define T = T1 × Tc × T2 – s10•- sc0•- s20•. If si = (s1j, scl, s2k),
then Pei = Pe1j ∪ Pecl ∪ Pe2k, Iei = Iej1 ∪ Iecl ∪ Ie2k − Iecl^e1j − Ie2kl^ecl, Oei = Oe1j ∪ Oecl ∪ Oe2k, i ≠ 0, fe = (fe1→fec→fe2).
The sequence operation is illustrated in Figure 7.
ISPRS Int. J. Geo-Inf. 2017, 6, x FOR PEER REVIEW
10 of 24
represented as WOFOST → HYDRUS-1D and HYDRUS-1D → MODFLOW, respectively.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
of 22
Together
these are equal to WOFOST → HYDRUS-1D → MODFLOW. The parameters of10the
integrated model are the union of three sub-models’ parameters. The input variables should be the
union
of three
variables
except LAI,
CH (three HYDRUS-1D’s input variables) and
in initial
statessub-models’
simultaneously.
In addition,
S = {sRD,
0 } ∪ (S1 \{s10 } × Sc \{sc0 } × S2 \{s20 }). The transition T
Hb
(a WOFOST’s
input of
variable).
The
variables
union of three models’ output
× Tthe
is also
the combination
T1 , Tc and
T2 output
. We define
T = T1are
c × T 2 – s10 •− sc0 •− s20 •. If si = (s1j ,
variables.
The
function
of
the
integrated
model
is
the
combination
three sub-models. In the
sc l , s2k ), then Pei = Pe 1j ∪ Pec l ∪ Pe 2k , Iei = Iej1 ∪ Iecl ∪ Ie 2k − Ieclˆe1j − Ieof
2klˆecl , Oei = Oe 1j ∪ Oec l ∪ Oe 2k ,
model,
there
are
only
two
states:
s
0 = (s10, s20, s30) (initial states) and s1 = (s11, s21, s31).
i 6= 0, fe = (fe1 →fec →fe2 ). The sequence operation is illustrated in Figure 7.
p1
m= m1→m2
i1 I= I1IcI2
i2
p2
P= P1PcP2
O=
m1
cm
m2
o1
O1OcO2
i3
o2
F = F1×Fc×F2
For simplicity, m1 and m2 both
have one state besides their
s0
s1
initial respective states. These
states are denoted as s11 of m1
and s21 of m2. Connector cm
(s10, sc0, s20)
(s11, sc1, s21)
always has two states: sc0 and
sc1.
Figure 7. The diagram definition of the Sequence operator.
Figure 7. The diagram definition of the Sequence operator.
We can also obtain m = m1 →m2 →m3 = (m1 →m2 )→m3 = m1 →(m2 →m3 ). In our example model,
Sometimes,
there may be
noHYDRUS-1D
explicit dataflow
between two
In relations,
a cycle, the
successor
WOFOST to HYDRUS-1D
and
to MODFLOW
aremodels.
sequence
which
can be
models
can
begin
to
run
if
and
only
if
the
predecessor
models
have
finished.
The
empty
connector
represented as WOFOST → HYDRUS-1D and HYDRUS-1D → MODFLOW, respectively. Together
cɛthese
, which
similar
the empty
model, can be→
used
to imply these
sequences. of the integrated model
areisequal
to to
WOFOST
→ HYDRUS-1D
MODFLOW.
The parameters
are the union of three sub-models’ parameters. The input variables should be the union of three
4.2.4. Feedback
sub-models’ variables except LAI, RD, CH (three HYDRUS-1D’s input variables) and Hb (a WOFOST’s
input
variable).operation
The output
variables
aretwo
thecycles
unionof
of the
three
models’
output
variables.
The or
function
A feedback
occurs
across
model.
It may
act on
one model
on twoof
the integrated
model
is the
combination
thethe
model,
there
are only two
states:
different
models,
denoted
with
m1←m1 or of
m1three
←m2. sub-models.
This implies In
that
data are
transferred
from
an
s0 = (s10
, s20 , s30of
) (initial
states)
andins1 the
= (sprevious
,
s
,
s
)
output
variable
the later
model
cycle
to
the
input
variable
of
the
former
at
the
11 21 31 .
Sometimes,
may be no
explicit
dataflow
two
models.cannot
In a cycle,
successor
next cycle
throughthere
a connector,
c. The
second
type ofbetween
feedback
operation
exist the
on its
own.
models can
run if on
anda only
if the or
predecessor
models have
The Additionally,
empty connector
Generally,
it begin
will betobased
sequence
parallel operation
in a finished.
single cycle.
it iscε ,
which
is
similar
to
the
empty
model,
can
be
used
to
imply
these
sequences.
obvious that m1 and m2 can be understood as a model m’s different components, such that m1←m2 is
equivalent to m←m. Thus, we need only to discuss the semantics of m1←m1 or (c→m1)←m1.
4.2.4.
Feedback
Suppose
m1 = <P1, I1, O1, F1, A1>, A1 = <S1, s10, T1>, c = <Pc, Ic, O1, Fc, Ac>, Ac = <Sc, sc0, Tc>.
Let m =A(c→m
1)←m
1 and m = occurs
<P, I, O,
F, A>,two
A =cycles
<S, s0,of
T>.
feedback
operation
across
the model. It may act on one model or on two
We can
thus obtain
thewith
following
P
=
P
1implies
∪ Pc, I =that
I1 ∪ Ithe
c, Odata
= O1are
∪ Otransferred
c, F = Fc × F1from
= {fc} ×an
different
models,
denoted
m1 ←mconclusions.
or
m
m
.
This
←
1
1
2
F1output
, and Avariable
= Ac × Aof
1. the
Further,
s
0
=
(s
c0
,
s
10
),
S
=
{s
0
}
∪
S
c
\{s
c0
}×
S
1
\{s
10
}
and
T=
{(s
c0
,
s
10
),
(s
c0
,
s
11
)}
∪
s
c1•.
If
later model in the previous cycle to the input variable of the former at the
next
t∈{(s
s10), (sc0,as11
)}, then the
corresponding
state stoperation
= <Pe, Ie, O
e, fe>, P
est = P
ec ∪
e1, Iest =
Iec ∪ Ie1,
cyclec0,through
connector,
c. The
second typetarget
of feedback
cannot
exist
on
itsPown.
Generally,
Oitestwill
= Oecbe∪ based
Oe1, fe on
= fc→f
1
.
Otherwise,
the
formulae
are
the
same
as
before,
except
that
I
est
=
I
ec
∪
I
- {i'},
a sequence or parallel operation in a single cycle. Additionally, it is obvious e1that
m1
where
transferred
from the
cycle’s
The
feedback operation
is m
illustrated
in Figure 8.to
and mi'2iscan
be understood
as alast
model
m’soutput.
different
components,
such that
1 ←m2 is equivalent
For
example
model,
and
HYDRUS-1D
←m1MODFLOW
are the
m←our
m. Thus,
we need
onlyWOFOST
to discuss←
theHYDRUS-1D
semantics of m
.
1 ←m
1 or (c→m1 )←
feedback
relation.
They
also
can
be
represented
as
cascade
formation
WOFOST
←
HYDRUS-1D
Suppose m1 = <P1 , I1 , O1 , F 1 , A1 >, A1 = <S1 , s10 , T1 >, c = <Pc , Ic , O1 , F c , Ac >, Ac = <Sc , sc0 , Tc >.
←Let
MODFLOW.
of=this
is omitted.
m = (c→m1 )The
←m1detail
and m
<P,feedback
I, O, F, A>,
A = <S, s0 , T>.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
11 of 22
We can thus obtain the following conclusions. P = P1 ∪ Pc , I = I1 ∪ Ic , O = O1 ∪ Oc , F = F c × F 1
= {fc } × F 1 , and A = Ac × A1 . Further, s0 = (sc0 , s10 ), S = {s0 } ∪ Sc \{sc0 }× S1 \{s10 } and T= {(sc0 , s10 ), (sc0 ,
s11 )} ∪ sc1 •. If t∈{(sc0 , s10 ), (sc0 , s11 )}, then the corresponding target state st = <Pe , Ie , Oe , fe >, Pest = Pec ∪
Pe1 , Iest = Iec ∪ Ie1 , Oest = Oec ∪ Oe1 , fe = fc →f 1 . Otherwise, the formulae are the same as before, except
that Iest = Iec ∪ Ie1 - {i'}, where i' is transferred from the last cycle’s output. The feedback operation
is illustrated in Figure 8. For our example model, WOFOST ← HYDRUS-1D and HYDRUS-1D ←
ISPRS
Int. J. Geo-Inf.
47
11 of 24←
MODFLOW
are2017,
the6,feedback
relation. They also can be represented as cascade formation WOFOST
HYDRUS-1D ← MODFLOW. The detail of this feedback is omitted.
p2
p1
m= m1←m1
i1
P= P1ÈPc
m1
I= I1ÈIc
i2
c
o1
mb
O=O1ÈOc
ma
i3
o2
F = F1 È Fc×F1
s0
s1
Model m1 has the states s10, s11,
and s12. Connector c has two
(sc0, s11)
states: sc0, and sc1.
(sc0, s20)
(sc1, s21)
Figure
The
diagram
definition
Feedback
operator.
Figure
8. 8.
The
diagram
definition
of of
thethe
Feedback
operator.
4.2.5.
Select
4.2.5.
Select
TheSelect
Select operation
operation makes
different
sub-models
or sub-model
groupsgroups
possible.
The
makeschoosing
choosingbetween
between
different
sub-models
or sub-model
These sub-models
or sub-model
groups may
have similar
functions
andfunctions
different implementation
possible.
These sub-models
or sub-model
groups
may have
similar
and different
methods, or facemethods,
different or
initial
boundaryinitial
conditions.
For example,
in the integration
of HYDRUS
implementation
faceordifferent
or boundary
conditions.
For example,
in the
and WOFOST,
before the and
crop sprouts
and before
after thethe
crop
harvests,
WOFOST
needthe
not work
the time.
integration
of HYDRUS
WOFOST,
crop
sprouts
and after
crop all
harvests,
Suppose
=
<P
,
I
,
O
,
F
,
A
>,
m
=
<P
,
I
,
O
,
F
,
A
>,
A
=
<S
,
s
,
T
>,
and
A
=
<S2 , s20 ,
WOFOST
need m
not
work
all
the
time.
1
1 1
1 1
1
2
2 2
2 2
2
1
1 10
1
2
T2 >.
If m = <P,
O,1,F,I1A>
m<P
that
guard
Suppose
m1 =I, <P
, O1and
, F1, m
A1=>,mm1 ♦
2=
2, I2,implies
O2, F2, A
2>, if
A1the
= <S
1, s10, expression
T1>, and A2g1= is
<Ssatisfied,
2, s20, T2>.then
If
2 , this
is performed,
if gm2 =ism
satisfied,
then
m2 isthat
performed.
In Select
operation,
guardthen
expression
mm
= 1<P,
I, O, F, A> or
and
1◊m2, this
implies
if the guard
expression
g1 iseach
satisfied,
m1 is
has a parameter
Pg , inputthen
variable
Ig , and output
variable
set O
can define
P = Phas
performed,
or if g2 set
is satisfied,
m2 is set
performed.
In Select
operation,
each
guard
expression
g . We
1 ∪aP2
∪ Pg1 ∪ Pset
I1 ∪ Ivariable
=O
∪ Og1 ∪set
Og2
= {g
×=FP1 1∪∪ {g
setIg2Ig,, O
and
output
O,g.and
We Fcan
define
P21∪, gP2g1} ∪×PF 2 .
parameter
g2 ,PIg,=input
2 ∪ I g1 ∪
1 ∪ O2variable
1 , g2 } P
k
k
S21 ∪∪ O
S12 ∪× O
{sg120∪}, O
s0g2=, {s
,
s
},
and
T
=
∪
(T
×
T
)
∪
(
∪
g2,For
I = the
I1 ∪FSM
I2 ∪ A,
Ig1 S
∪ =Ig2{s, 10
O} ×
=O
and
F
=
{g
1
,
g
2
}
×
F
1
∪
{g
1
,
g
2
}
×
F
2
.
For
the
A,2 )),
10 20
i=0 1
2i0
i=0 (TFSM
1i0 × T
k
k
are
existing
transitions
that
, s(T
m1 and
) for
S where
= {s10} ×T1i0
S2 ∪and
S1 ×T{s
20},
s0 not
= {s10
, s20}, and
T = ∪ i=0(T
1 × imply
T2i0) ∪ (s
(∪1ii=0
× Tmodel
2)), where
T1i0(sand
T2i0
aremodel
not
10 )1i0for
2i0
2i , s20
m2 , andtransitions
where s1i and
stand
for
arbitrary
states
of
m
and
m
,
respectively.
Suppose
s
=
<P
,
I
Oe ,
existing
that simply
(s
1i
,
s
10
)
for
model
m
1
and
(s
2i
,
s
20
)
for
model
m
2
,
and
where
s
1i
and
e
e ,s2i
1
2
2i
i
fe >. If
= (s1j , s20states
), thenofPm
=
P
∪
P
∪
P
,
I
=
I
∪
I
∪
I
,
O
=
O
∪
O
∪
O
,
f
=
(f
stand
forsiarbitrary
1
and
m
2
,
respectively.
Suppose
s
i
=
<P
e
,
I
e
,
O
e
,
f
e
>.
If
s
i
=
(s
1j
,
s
20
),
then
P
eg1 ,
e
e 1j
g1
e 1j
g1
e
e 1j
g1
g2 e
g2 e
g2
f g2
Pee == O
Pee1j2j∪∪OPg1g1∪ ∪
∪ OP
∪POe2jg2
=P
e1j )∪ &
Pg1fe ∪1j .PIfg2s, iI=
e =(sI10
e1j,∪s2j
Ig1),∪then
I g2, O
Og2P,g2fe,=Ie(f=g1,Ife 2j
g2)∪
&Ig1
fe1j∪
. IfI sg2i =, O
(se10=, sO
2j),
∪ ,Pfg1e =
e 2jthen
g1e =
,
g
)
&
f
.
The
select
operation
is
illustrated
in
Figure
9.
∪ (g
Pg2
I
e
=
I
e2j
∪
I
g1
∪
I
g2
,
O
e
=
O
e2j
∪
O
g1
∪
O
g2
,
f
e
=
(g
1
,
g
2
)
&
f
e2j
.
The
select
operation
is
illustrated
in
e 2j
1 2
Figure 9.
Similarly, we can obtain m = m1 ◊ m2 = m2 ◊ m1 and m = m1 ◊ m2 ◊ m3 = (m1 ◊ m2) ◊ m3 = m1 ◊ (m2 ◊ m3).
In the example, WOFOST is integrated with select operation WOFOST ◊ ɛ.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
12 of 22
Similarly, we can obtain m = m1 ♦ m2 = m2 ♦ m1 and m = m1 ♦ m2 ♦ m3 = (m1 ♦ m212
)♦
m = m1 ♦
ISPRS Int. J. Geo-Inf. 2017, 6, 47
of 24 3
(m2 ♦ m3 ). In the example, WOFOST is integrated with select operation WOFOST ♦ ε.
p1
m= m1◊m2
p2
p1
m= m1◊m2
P= P1ÈP2ÈPg1ÈPg2
I= I1ÈI2
i2
ÈIg1ÈIg2
m1
m2
g2
i3
O = O1ÈO2 o1
ÈOg1ÈOg2
i1
I= I1ÈI2
i2
ÈIg1ÈIg2
o2
i3
F = {g1, g2}×F1∪{g1, g2}× F2
s0
g2∧g1
¬ g1∧g2
g2
O = O1ÈO2 o1
ÈOg1ÈOg2
m2
o2
s0
¬
g2∧g1
m1
F = {g1, g2}×F1∪{g1, g2}× F2
s1
¬
(s10, s20)
P= P1ÈP2ÈPg1ÈPg2
g1
g1
i1
p2
g2∧g1
(s11, s20)
¬
¬ g1∧g2
¬
g2∧g1
a. S1 = {s10, s11}, S2 = {s20, s21}
g1∧g2
(s11, s20)
¬
g1∧g2
(s12, s20)
¬
¬
(s10, s20)
(s10, s21)
¬
s1
(s10, s21)
g2∧g1
g1∧g2
(s10, s22)
b. S1 = {s10, s11, s12}, S2 = {s20, s21, s22}
Figure 9. The diagram definition of the Select operator. (a) S1 = {s10 , s11 }, S2 = {s20 , s21 };
Figure 9. The diagram definition of the Select operator. (a) S1 = {s10, s11}, S2 = {s20, s21}; (b) S1 = {s10, s11,
(b) S1 = {s10 , s11 , s12 }, S2 = {s20 , s21 , s22 }.
s12}, S2 = {s20, s21, s22}.
4.2.6.
4.2.6.Iterate
Iterate
environmental simulations,
simulations, different
such
as,as,
forfor
example,
InInenvironmental
differenttime
timesteps
stepsmust
mustbebepermitted,
permitted,
such
example, from
from simulation
hourly simulation
(e.g., to asimulate
a fungal infestation)
updecades
to several
decades for studies.
hourly
(e.g., to simulate
fungal infestation)
up to several
for sustainability
sustainability studies.
Although most models work iteratively, the framework only defines the iterate operation that is
Although most models work iteratively, the framework only defines the iterate operation that
used when the model needs to perform many cycles while other models that will be integrated only
is used when the model needs to perform many cycles while other models that will be integrated
perform
one cycle. The typical scenario is when models with different time steps are to be integrated:
only perform one cycle. The typical scenario is when models with different time steps are to be
the
model with
the shorter
time
step should
iterate
many
times
while
other
only executes
integrated:
the model
with the
shorter
time step
should
iterate
many
timesthe
while
themodel
other model
once.
In
integrated
algebra,
we
use
µm
to
denote
a
model’s
iteration.
only executes once. In integrated algebra, we use μm to denote a model’s iteration.
Consider
modelmm1 =1 <P
= <P
I11, FO1,1 A
, F1>1 ,and
A1 >Aand
=, <S
s10m, =T1<P,
>. I,
If O,
m=
I, O,mF,
Consider the
the model
1, I11,, O
1 = <SA
1,1s10
T1>.
F, <P,
A> and
= A> and
1 , If
1, which
imply
m1 is m
performed
until the
guard
g is not satisfied
has parameter
mμm
= µm
imply
until
theexpression
guard expression
g is not(gsatisfied
(g hasset
parameter
1 , which
1 is performed
PgP
, input
variable
set Igset
, and
variable
set Og), set
thenOwe
obtain
P = obtain
Pg ∪ P1, P
I ==IgP∪gI1∪
,O
set
variable
Ig ,output
and output
variable
then
we can
P1=, O
I g= Ig ∪ I1 ,
g , input
g ), can
∪
O
1, and F = {g} × F1 ∪ {g} × {fɛ}.
O = Og ∪ O1 , and F = {g} × F 1 ∪ {g} × {f ε }.
For the FSM A = <S, s0, T>, we define s0 = s10. For convenience when integrating with other
For
the FSM A = <S, s0 , T>, we define s0 = s10 . For convenience when integrating with other
operations, the running state of the model is extended to comprise three types of states: the first
operations, the running state of the model is extended to comprise three types of states: the first
running state sf∈Sf, where sf = {Pef, Ief, Oef, fef}; the iterative running state Sit; and the state of end
Sf , where
running
state sf ∈that
s = {P , Ief ,the
Oeftransitions
, f ef }; the iterative
running state Sit ; Tand
the state of end
iteration se, such
S = {s0, sfe}∪Sf∪Sefit and
according to these states are
f, Tit, and Te,
iteration
s
,
such
that
S
=
{s
,
s
}
∪
S
∪
S
and
the
transitions
according
to
these
states
are
Tf∪, T
e
0 e (s10, fs1i)∈T
it 1. Let s1i = <Pe1i, Ie1i, Oe1i, fe1i >; then Pef = Pe1i ∪ Pg, Ief = Ie1i
respectively.
If (s10, s1i)∈Tf, then
Igit, , and Te ,
respectively.
(s10 ,fefs=1i g)∈×Tffe1i, .then
(s10 , (s
s1i1i,)∈
Oe 1i
e 1i ∪ Pg , I ef =
1 . 1Let
Oef = Oe1i ∪ OgIf
, and
For each
s1jT
)∈T
, I ≠s0,
(s1i<P
, s1je)1i∈, ITeit1i. ,Let
sit, =fe<P
eit, then
Ieit, OeitP,effeit=>;Pthen,
1i =
1i >;
=
O
∪
O
,
and
f
=
g
×
f
.
For
each
(s
,
s
)
∈
T
,
I
6
=
0,
(s
,
s
)
∈
T
.
Let
s
=ee<P
Ie1i
Peit∪= IPge1j, O
∪P
g
,
I
eit
=
I
e1j
∪
I
g
,
O
eit
=
O
e1j
∪
O
g
,
and
f
eit
=
g
×
f
e1j
.
For
the
end
iteration
state,
let
s
e
=
<
P
ee
,
I
ee
, eit , Ieit ,
e
g
e
1
ef
1i
ef
1i
1i 1j
1i 1j
it
it, O
ee ,>,f Pee>;
=
P
g, Iee =PIg, O
eeP
=
O
g
,
and
f
ee
=
g.
Then,
Te
=
{(s
i
,
s
e
)|
s
i
∈S
f
∪
S
it
}.
Figure
10
illustrates
the
iterate
Ofeit
then,
=
∪
P
,
I
=
I
∪
I
,
O
=
O
∪
O
,
and
f
=
g
×
f
.
For
the
end
iteration
e 1j
g eit
e 1j
g
e 1j
g
e 1j
eit
eit
eit
eit
operation
of
the
model.
state, let se = < Pee , Iee , Oee , fee >, Pee = Pg , Iee = Ig , Oee = Og , and fee = g. Then, Te = {(si , se )| si ∈Sf ∪ Sit }.
Figure 10 illustrates the iterate operation of the model.
ISPRS Int.
Int. J.
J. Geo-Inf.
Geo-Inf. 2017,
2017, 6,
6, 47
47
ISPRS
13 of
of 22
24
13
p1
m= μm1
p2
P= PgÈP1
g=False
i1
g
I= IgÈI1
i2
o1
g= True
m1
O = OgÈO1
i3
o2
F = {g} × F1∪{g}×{fɛ}
s0
s1
g
¬g
g
sf
sit
se
¬g
Figure
Figure 10.
10. The
The diagram
diagram definition
definition of
of the
the Iterate
Iterate operator.
operator.
4.2.7.
4.2.7. Combine Iterate with Other Operators
Operators
Because
operation
should
not be
alone,alone,
it is combined
with the with
parallel,
Because the
theiterate
iterate
operation
should
notused
be used
it is combined
thesequence,
parallel,
feedback,
select operations.
framework
M↑µM, M
→µM,
µM→
M, µM←
M, M←µM,
and
sequence,and
feedback,
and select The
operations.
Theuses
framework
uses
M↑μM,
M→μM,
μM→M,
μM←M,
M
♦µM toand
denote
these
M←μM,
M◊μM
to combinations.
denote these combinations.
M
↑µM represents
µm22, i.e.,
M↑μM
represents aa model
model that
that parallels
parallels an
an iteration
iteration of
of another
another model.
model. Let
Let m
m == m
m11↑↑μm
model
parallels an
an iteration
iteration of model m22.. Obviously,
Obviously, if the iteration is performed n times,
model m
m11 parallels
times, then
then it
it
can
be
extended
to
n
cycles
in
which
m
m
is
only
performed
in
one
cycle,
while
in
any
other
cycles,
↑
can be extended to n cycles in which m11↑m22 is only performed
εɛ↑↑m
m22 is performed,
and F == FF11 ∪∪ FFm2
For FSM
FSM A,
performed, such
suchthat
thatPP= =P1P∪
1 ∪PP
m2, ,I I==I 1I1∪
∪ IIm2
m2, O
O == O
O11 ∪ Om2
m2,, and
. .For
m2
m2
SS == {s
s’itit, ,ssee},},ss00==(s(s1010
=10(s, 10
’ =11,(ss11
, ss2fit =), (s
sit10=
, s2it
snf
{s00, sff, sff’, sitit,, s’
, s, 20s20
), ),sf =sf (s
s2f,),s2fsf),
’ =sf(s
2f),
, s(s
2it10
), ,s’sit2it=),(ss’11it, s=2it(s
), 11
snf
se ),
= (s
11, sse2e=
).
(s
T1 10×, sT2f2),−
{((s
, s2f
s2f10)),
s2it ),(s10 , s2e ))}.from
Additionally,
to1
T11=,Ts12e×).TT2 −= {((s
(s11
, s10
2f)),
((s),10(s
, s112it,),(s
, s((s
2e))}.
state (s10, sfrom
20) to state
state (s
(s10
11, s2e
10 , Additionally,
20),) m
state
(s11execute
, s2e ), m1only
should
execute
once execute
and m2 should
onceintegration
at least. The
is
should
once
and monly
2 should
once atexecute
least. The
is integration
illustrated in
illustrated
Figure 11. in Figure 11.
M
→µM and µM
→M imply that a model’s iteration performs with another model in sequence.
M→μM
μM→M
They
extended
as as
what
is defined
in the
of parallel
and iteration.
The former
They can
canalso
alsobebe
extended
what
is defined
incombination
the combination
of parallel
and iteration.
The
is
extended
to
a
sequence
M
→
M
in
the
first
cycle
and
a
series
of
cycles
involving
ε
→
M.
Similarly,
the
former is extended to a sequence M→M in the first cycle and a series of cycles involving ɛ→M.
latter
is extended
to aisseries
of cycles
involving
ε→Minvolving
first and then
M→M
in the lastM→M
cycle.
Similarly,
the latter
extended
to a series
of cycles
ɛ→Ma sequence
first and then
a sequence
The
integration
illustrated
in Figure
12.
in the
last cycle.isThe
integration
is illustrated
in Figure 12.
The
with
iteration
is similar
to the
The combination
of select
The combination
combinationofoffeedback
feedback
with
iteration
is similar
to sequence.
the sequence.
The combination
of
with
is simple
as well.asThus,
are omitted
in this in
paper.
selectiteration
with iteration
is simple
well. these
Thus,combinations
these combinations
are omitted
this paper.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
ISPRS Int. J. Geo-Inf. 2017, 6, 47
14 of 22
14 of 24
p1
m= m1↑μm2
i1
I= I1È
i2
IgÈI2
p2
P= P1ÈPgÈP2
g=False
i3
o1
O = O1
ÈOgÈO2
m1
g
o2
m2
g= True
F = F1 ×{g} × F2∪F1 ×{g}×{fɛ}
s0
s1
¬g
g∧m2
g∧m2
(s11, s2f)
(s11, s2it)
m1˅g∧m1m2
(s10, s20)
(s11, s2e)
m1˅g∧m1m2
(s10, s2 it))
g∧m2
g∧m2
(s10, s2f)
g∧m2
¬g
From state (s10, s20) to state
(s11, s2e), m1 should execute
only once and m2 should
execute at least once.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
15 of 24
Figure 11. The diagram definition of M↑µM.
Figure 11. The diagram definition of M↑μM.
p2
p1
P= P1ÈPgÈP2
m= m1→μm2
μm2
i1
I= I1È
i2
IgÈI2
g=False
g
m1
i3
O = O1
ÈOgÈO2
m2
c
o1
o2
g= True
F = F1 ×Fc × F2∪F1 ×Fc×{fɛ}
s0
s1
g∧m1c m2
g∧m2
g∧m2
(s11, sc1, s2f)
(s10, sc0, s20)
¬g
(s11, sc1, s2e)
(s11, sc1, s2it)
¬g
(a)
Figure 12. Cont.
I= I1È
i2
IgÈI2
μm1
g
p1
P= P1ÈPgÈP2
m= μm1→m2
i1
p2
g=False
m2
c
m2
O = O1
ÈOgÈO2
o1
g∧m1c m2
g∧m2
g∧m2
(s11, sc1, s2f)
(s10, sc0, s20)
¬g
(s11, sc1, s2e)
(s11, sc1, s2it)
¬g
ISPRS Int. J. Geo-Inf. 2017, 6, 47
15 of 22
(a)
p2
P= P1ÈPgÈP2
m= μm1→m2
i1
I= I1È
i2
IgÈI2
p1
μm1
g
g=False
m2
i3
m2
c
O = O1
ÈOgÈO2
o1
o2
g= True
F = F1×Fc×F2∪{fɛ}×Fc×F2
s0
s1
g∧m1
g∧m1
g∧m1
(s10, sc0, s20)
(s1it, sc0, s20)
(s1f, sc0, s20)
¬g∧m2
(s11, sc1, s2e)
¬g∧m2
(b)
Figure
The diagram
definition
M→Μm;
(b)µM
μM→M.
Figure 12.
The12.
diagram
definition
of Mof→M→μM.
µM. (a) (a)
M→
Mm; (b)
→M.
5. Complex Integrated Model
5.1. Model Graph
With these basic operators, a complex model can be integrated from simpler models, even basic
models. A result of an Iterate operation or Select operation is taken as a sub-model in the frame. From
the perspective of the integrator, many sub-models can be synthetized together with connectors and
corresponding message transferring channels. These sub-models may involve both basic models and
integrated models, such that the sub-models and channels compose a graph called a model graph. The
model graph can be illustrated as in Figure 13, which is a simple example.
5.2. Formal Semantics of Model Graph
Given three finite alphabets ΣM, ΣC, and ΣVar as the available labels for the models, connectors
and variables, respectively, the integration of the models is defined with a labeled multidigraph with
ports, as follows:
GM : = <M, C, L, PVa, IVar, OVar, s, t, ι, lM, lC, lVar>.
M and C are two finite sets of vertices that denote models and connectors, respectively. M includes
basic models and pre-existing integrated models.
L ⊆ (M × OVar) × (C × IVar) ∪ (C × OVar) × (M × IVar) is a set of direct edges, which indicates
the dataflow among the sub-models and connectors. The edge set includes both sequence and feedback
related dataflow. To distinguish them, we use the label ls for sequence edge and lb for feedback edge,
and L = Ls ∪ Lb .
P, I, and O are the set of parameters, input variables, and output variables, respectively, and Var
= P ∪ I ∪ O.
ι = ιM ∪ ιC . ιM = (ιp, ιi, ιo): M →PVar × IVar × OVar assigns a parameter variable (port) set,
an input variable (port) set and an output variable (port) set to each model, with ιp(M) = PM, ιi(M) = IM,
ιo(M) = OM, and ι(M) = (PM, IM, OM).
ISPRS Int. J. Geo-Inf. 2017, 6, 47
17 of 24
ISPRS Int. J. Geo-Inf. 2017, 6, 47
m1.o1 c1.i1
m1.i1
m1
m1.i2
m1.o2
m1.o3
c2.i2
m2.i1
m2.i2
m2
m3
c2
c2.o
c3
c3.o
m4.i2
m4.o1
m4
m4.i3
m2.o2
c3.i1
c3.i2
c3.i3
m2.i3
m3.i1
c1.o
c1
m4.i1
c2.i1
16 of 22
m5.o1
m5
m5.i1
m5.o2
m3.o1
m3.o2
(a)
p1
i1 o1
o2
m1
i3 o3
i1
i1
o
c1
c2 o
i2
i1
i1
i2 o1
m4
i3
o1
o2
i1
i2 o2
m2
i3
…
…
il
I= ÈM,CI
pl
P= ÈM,CPl
m
i2
p2
i1
i2 c 3 o
i3
i1m5
o1
o2
ok
O= ÈM,CO
o1
i1 m3
o2
F
A
(b)
Figure
The example
a model
graph.(a)
(a)The
The example
of of
a model
graph;
(b) The
unified
view of view of
Figure 13.
The13.
example
of a of
model
graph.
example
a model
graph;
(b)
The unified
an integrated model based on a.
an integrated
model based on a.
In the graph model, there are two types of relations between any two sub-models. The first is
the partial
which
based
sequence
operator.
If there is variable
a path between
Similarly,
ιC ordering
= (ιp, ιi,relation,
ιo): C →
PVaris ×
IVaron×theOVar
assigns
a parameter
(port) set, an
two
sub-models
m
h and mt such that mh→m1, m1→m2, …, mi→mt, we can say that mh →→ mt and call
input variable (port) set and an output variable (port) set to each connector, with ιp(C) = PC, ιi(C) = IC,
it order. It is obvious that mt begins to perform after mh has finished in one cycle. Another type is
ιo(C) = OC, and ι(C) = (PC, IC, OC).
called noninterference, i.e., two sub-models perform in parallel without mutual interference.
s: L → M
OVar ∪
C can
× OVar
t: L first
→ Msearch
× IVar
∪ C ×toIVar
are two
mapsfrom
indicating
As×
a result,
we
obtainand
a width
algorithm
construct
a model
a modelthe source
and target
model/connector
of be
anseen
edge.
A map
n: Mgraph
× OVar
∪C14).
× OVar ∪M × OVar ∪C × OVar→{0}
graph.
The algorithm can
in the
following
(Figure
∪ N is defined for the source and target of the edge to indicate the produce rate and consumption
rate, respectively.
lM: M → ΣM, lC: C → ΣC and lVar: L → ΣVar are three maps describing the labeling of the
models, connectors and variables.
5.3. Construct Complex Integrated Model
The model graph is intuitive, such that the integrator can use it easily to represent the interaction
of integrated models. At the same time, the IEM tools can use the properties of the graph to check the
ISPRS Int. J. Geo-Inf. 2017, 6, 47
17 of 22
integrated schema. In running time, the structure of the graph can be used to monitor the procedure of
the simulation. Once errors occur, the IEM tool can locate them with the graph as well.
In the graph model, there are two types of relations between any two sub-models. The first is
the partial ordering relation, which is based on the sequence operator. If there is a path between two
sub-models mh and mt such that mh →m1 , m1 →m2 , . . . , mi →mt , we can say that mh →→ mt and call it
order. It is obvious that mt begins to perform after mh has finished in one cycle. Another type is called
noninterference, i.e., two sub-models perform in parallel without mutual interference.
As a result, we can obtain a width first search algorithm to construct a model from a model graph.
The algorithm can be seen in the following graph (Figure 14).
ISPRS Int. J. Geo-Inf. 2017, 6, 47
18 of 24
//Algorithm for constructing a unified view of the integrated model from a model graph.
Input:
C = {c1, c2, …};
//The set of connectors
SM = {sm1, sm2,…};
//The set of sub-models
//The set of edges
L = {l1, l2, …};
Output:
M = ε;
//Integrated model
Variable:
TM = Ø;
//The set of temporal models
TSM = Ø;
//The set of temporal sub-models
tm, tm`;
//TM’s element
tsm;
// TSM’s element
thm;
//Temporary head model
Begin Integration
foreach sm∈SM
if ∄ c ∈ C s.t. (c, sm) ∈L
or (∃c ∈ C s.t. (c, sm) ∈L and ∄sm’ ∈SM s.t. (sm’, c) ∈L ){
TM = TM È {sm };
//Find out all the first group of sm
SM = SM - {sm };
} //End of if
while TM ≠Ø {
foreach tm∈TM
//Integrating each first Parallel models group
foreach c∈C and (tm, c) ∈L
foreach tm`∈TM - {tm }
if((tm`, c) ∈L){
tm = tm ↑ tm`;
TM = TM - {tm’ };
}
foreach tm∈TM{
// TM has been updated.
TSM = Ø;
thm = ε;
foreach c∈C and (tm, c) ∈L
foreach sm∈SM and (c, sm) ∈L{
TSM = TSM È {sm};
SM = SM - {sm};
}
foreach tsm∈TSM
//Find out Parallel models
if ∃tsm’ ∈TSM and tsm’≠tsm
s.t. tsm’→tsm or tsm’ →→tsm{
TSM = TSM - {sm};
SM = SM È {sm};
}
foreach tsm∈TSM
//Integrating a group of Parallel models
thm = thm↑tsm;
tm = tm→thm;
}//End of foreach tm∈TM
}//End of while TM ≠Ø
foreach tm∈TM
m = m↑tm;
End Integration
//Integrating Sequence models
//Integrating all Parallel models at last
Figure 14. The algorithm for constructing a unified view of the integrated model from a model graph.
Figure 14. The algorithm for constructing a unified view of the integrated model from a model graph.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
18 of 22
From the algorithm, we know that the integration of many sub-models can also be taken as
a model.
6. Results
Although there are few formal frameworks for IEM being studied specially, each IEM platform
has its own potential formalist basis. We compare our formal framework with several platforms
or standards to illustrate our framework’s characteristics (in Table 1). The selected platforms are
OMS3 [39], OpenMI [8] and ESMF [40].
Table 1. The comparison with other platforms.
Our
Framework
Technological Basis
Formalism
Dataflow
sequence
feedback
select
iterate
Integration reusable
OMS3
OpenMI
ESMF
/
Object-Oriented
/
DSL + POJO + Annotation
Interface-Based
Component-Based
Mediator Pattern
yes
yes
yes
yes
yes
yes
yes
yes
no
no
yes
yes
yes
extra codes
extra codes
yes
yes
yes
extra codes
extra codes
easy
difficult
difficult
difficult
From the comparison, we can see that there are some advantages embedded in our framework.
The formal framework can be used as the semantic basis of an IEM Domain Specific Language
(DSL) with which the complicated model can be integrated from pre-existing models. Based on the
framework, a light weighted IEM DSL named irDSL (integration-reusable Domain Specific Language)
has been developed in our recent work. In Appendix A, some code snippet with irDSL for the
integrated model in Figure 1 is listed. The additional details of irDSL will be discussed in another paper.
7. Conclusions and Future Work
In this paper, a formal framework for the IEM system is proposed. In the framework, the features
of the model are divided into two parts, i.e., the static and dynamic features. The static features include
the traditional parameters, input variables, output variables, and functions of the model. The dynamic
feature is the transformation of the static features during the simulation and is represented as an
FSM, which adapts the integrated model to dynamic application scenarios. Based on the framework,
a unified definition of the model is proposed that makes the integrated model more manageable
and reusable, as are the simple models. The integration is also represented as a multidigraph with
port. An algorithm is used to explore its sufficiency such that there is a unified representation for
a multidigraph.
Our proposed definition can also be used as the interface between specification and formal
verification. Based on the framework, it supports integration verification at a specified time (similar
to [34,41]) such that the integration specification can be proven to be correct before its implementation;
thus, an iterative cycle between the implementation and the specification can be avoided. At the
same time, global understanding of the integration is increased, which makes the application easy to
understand and, therefore, easy to maintain. Future work should address the enhancement of this tool
by supporting the proposed methodology with additional automation features.
Acknowledgments: The authors are grateful to Professor Honggang Luo for his suggestion. We also thank J.
Zhou and Peña-Haro for helpful discusses and suggestions. This work was supported by National Natural Science
Foundation of China under Grant No. 61402210 and 60973137, Program for New Century Excellent Talents in
University under Grant No. NCET-12-0250, Major Project of High Resolution Earth Observation System with
Grant No. 30-Y20A34-9010-15/17, “Strategic Priority Research Program” of the Chinese Academy of Sciences
with Grant No. XDA03030100, Gansu Sci.&Tech. Program under Grant No. 1104GKCA049, 1204GKCA061 and
1304GKCA018, The Fundamental Research Funds for the Central Universities under Grant No. lzujbky-2016-140,
ISPRS Int. J. Geo-Inf. 2017, 6, 47
19 of 22
Gansu Telecom Cuiying Research Fund under Grant No. lzudxcy-2013-4, Google Research Awards and Google
Faculty Award, China.
Author Contributions: Gaofeng Zhang and Qingguo Zhou designed the framework. Yan Li, Chong Chen,
Rui Zhou and Dan Chen tested the design.
Conflicts of Interest: The authors declare no conflict of interest.
Appendix A. Some Code Snippet with irDSL for the Integrated Model in Figure 1.
The following is a code snippet with irDSL for the integrated model in Figure 1. The conceptual
integrated model is not bound to any concrete application and can be reused easily.
In a concrete simulation, just as in Peña-Haro’s example [31], a hypothetical simplified
two-dimensional-vertical flow system with a height of 20 m and a length of 200 m is used. Two
different spatial discretizing schemas (such as Schema 1 with 2 zones and Schema 2 with 5 zones) are
intended to be adopted, for comparison with traditional integration. Qualitatively, it can be seen that
instantiation of the model needs relative few codes based on the conceptual integrated model.
//Conceptual integrated model named WOHYMO;
model WOHYMO{
model WOFOST(“path_WO”);
//import basic WOFOST model;
// path_WO: the path of jar file including the POJO of WOFOST;
model HYDRUS_1D(“path_HY”); //Ditto;
model MODFLOW(“path_MO”);
//Ditto;
//A select control for WOFOST used to specify that the WOFOST
// begins to run after the crop germinates.
select is_WOFOST_RUN {
//Control flow
if (!before_Emergence)
WOFOST;
// WOFOST doesn’t run until a crop emergency
}
//A connector for LAI (Leaf Area Index) which is produced by WOFOST
// and consumed by HYDRUS as its one boundary condition.
connector LAI_WO_HY{
// the ordinary connector;
in lai1; out lai2;
//input and output;
expr expr(lai2=lai1);
//indicates ordinary connector;
}
//simplified link for ordinary connector, implying a sequence operator;
forward link_LAI_WO_HY{
source WOFOST.lai;
target HYDRUS_1Dconn1.lai;
}
//A connector for vBot in HYDRUS (or recharge in MODFLOW) which represents
// the water flows from unsaturated zone to saturated zone, which is produced by
// HYDRUS and consumed by MODFLOW as its boundary condition.
connector vBot_HY_MO{
// the recharge from HYDRUS to MODFLOW;
in vBot;
//input, weak typing, will be taken as an array;
out recharge;
//output;
expr expr(recharge = vBot));
// has same recharge in a zone;
}
forward link_ vBot_HY_conn {
source HYDRUS_1D.vBot;
target vBot_HY_MO.vBot;
}
ISPRS Int. J. Geo-Inf. 2017, 6, 47
20 of 22
forward link_ recharge_conn_HY {
source vBot_HY_MO.recharge;
target MODFLOW.recharge;
}
//A connector for Hb (pressure head) from MODFLOW to HYDRUS H or Hb is
// produced by MODFLOW and transferred to HYDRUS-1D as its boundary
// condition.
connector Hb_MO_HY {
// the H or Hb from MODFLOW to HYDRUS;
in H;
//input, weak typing, ;
out Hb;
//output, weak typing, will be taken as an array;
expr expr(Hb = H);
}
backward link_Hb_MO_conn {
source MODFLOW.H;
target Hb_MO_HY.H;
}
//implying a feedback operator;
forward link_ Hb_conn_HY {
source Hb_MO_HY.Hb;
target HYDRUS_1D.Hb;
}
relation m2o <HYDRUS_1D,MODFLOW>; //m2o relation, for extendability;
relation o2m < MODFLOW, HYDRUS_1D >; //o2m relation;
//other codes are omitted due to space limitations.
}
//Instance of WOHYMO with the 5 zones
model WOHYMO WOHOMO_5 {
//instance definition;
model WOFOST inst_WOFOST [5];
//5 instances of WOFOST;
model HYDRUS inst_HYDRUS [5];
//5 instances of HYDRUS;
model MODFLOW inst_MODFLOW;
//1 instances of MODFLOW;
for i in [1..5]
//o2o relation;
inst_WOFOST [i] ->inst_ HYDRUS [i];
inst_HYDRUS [1..5] ->inst_ MODFLOW;
//5 inst_HYDRUSes relates to 1 inst_MODFLOW;
inst_MODFLOW ->inst_HYDRUS [1..5];
//1 inst_MODFLOW relates to 5 inst_HYDRUSes;
}
//instance of ex16_WOHYMO with the 2 zones
model WOHYMO WOHOMO_2 {
//instance definition;
model WOFOST inst_WOFOST [2];
//2 instances of WOFOST;
model HYDRUS inst_HYDRUS [2];
//2 instances of HYDRUS;
model MODFLOW inst_MODFLOW;
//1 instances of MODFLOW;
for i in [1..2]
//o2o relation;
inst_WOFOST [i] ->inst_ HYDRUS [i];
inst_HYDRUS [1..2] ->inst_ MODFLOW;
//2 inst_ HYDRUSes relates to 1 inst_ MODFLOW;
inst_MODFLOW ->inst_HYDRUS [1..2];
//1 inst_MODFLOW relates to 2 inst_HYDRUSes;
}
References
1.
Bailey, G.W.; Mulkey, L.A.; Swank, R.R. Environmental implications of conservation tillage: A system
approach. In A System Approach to Conservation Tillage; D’Itri, F.M., Ed.; Lewis Publishers Inc.: Chelsea, MI,
USA, 1985; pp. 239–265.
ISPRS Int. J. Geo-Inf. 2017, 6, 47
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
21 of 22
Cohen, Y. Pollutants in a Multimedia Environmental; Plenum Press: New York, NY, USA, 1986.
Mackay, D. Multimedia Environmental Models: The Fugacity Approach; Lewis Publishers: Michigan, MI,
USA, 1991.
Walters, C.J. Adaptive Management of Renewable Resources; Macmillan Publishing Co.: New York, NY,
USA, 1986.
Voinov, A.; Shugart, H. ‘Integronsters’, integral and integrated modelling. Environ. Model. Softw. 2013, 39,
149–158. [CrossRef]
Laniak, G.F.; Olchin, G.; Goodall, J.; Voinov, A.; Hill, M.; Glynn, P.; Whelan, G.; Geller, G.; Quinn, N.;
Blind, M.; et al. Integrated environmental modelling: a vision and roadmap for future. Environ. Model. Softw.
2013, 39, 3–23. [CrossRef]
Leavesley, G.H.; Markstrom, S.L.; Brewer, M.S.; Viger, R.J. The Modular Modelling System (MMS)—The
physical process modelling component of a database-centered decision support system for water and power
management. Water Air Soil Pollut. 1996, 90, 303–311. [CrossRef]
OpenMI. The OpenMI Open Midel Interface Project. 2016. Available online: https://publicwiki.deltares.nl/
display/OPENMI/Version+2.0 (accessed on 24 December 2016).
David, O.; Markstrom, S.L.; Rojas, K.W.; Ahuja, L.R.; Schneider, W. The object modelling system.
In Agricultural System Models in Field Research and Technology Transfer; Ahuja, L.R., Ma, L., Howell, T.A., Eds.;
Lewis Publishers: Boca Raton, FL, USA, 2002; pp. 317–344.
David, O.; Ascough, J.C., II; Lloyd, W.; Green, T.R.; Rojas, K.W.; Leavesley, G.H.; Ahuja, L.R. A software
engineering perspective on environmental modelling framework design: The object modelling system.
Environ. Model. Softw. 2013, 39, 201–213. [CrossRef]
Hill, C.; DeLuca, C.; Balaji, V.; Suarez, M.; da Silva, A. The architecture of the earth system modelling
framework. Comput. Sci. Eng. 2004, 6, 18–28. [CrossRef]
Thurman, D.A.; Cowell, A.J.; Taira, R.Y.; Frodge, J. Designing a collaborative problem solving environment
for integrated water resource modelling. In Brownfields: Multimedia Modelling and Assessment; Whelan, G.,
Ed.; WIT Press: Southampton, UK, 2004.
Aquaveo. Water Modelling Solutions; Aquaveo: Provo, UT, USA, 2012; Available online: http://www.aquaveo.
com/ (accessed on 8 December 2013).
Peckham, S.D. Evaluation of model coupling frameworks for use by the Community Surface Dynamics
Modelling System (CSDMS). In Proceedings of the MODFLOW and MORE, Golden, CO, USA, 18 May 2008.
van Ittersum, M.K.; Ewert, F.; Heckelei, T.; Wery, J.; Olsson, J.A.; Andersen, E.; Bezlepkina, I.; Brouwer, F.;
Donatelli, M.; Flichman, G.; et al. Integrated assessment of agricultural systems e a component-based
framework for the European Union (SEAMLESS). Agric. Syst. 2008, 96, 150–165. [CrossRef]
Parker, D.; Manson, S.; Janssen, M.; Hoffmann, M.; Deadman, P. Multi-agent systems for the simulation of
land-use and land-cover change: A review. Ann. Assoc. Am. Geogr. 2003, 93, 314–337. [CrossRef]
Zhao, J.; Cai, X.; Wang, Z. Comparing administered and market-based water allocation systems through a
consistent agent-based modelling framework. J. Environ. Manag. 2013, 123, 120–130. [CrossRef] [PubMed]
Zhao, G.; Bryan, B.A.; King, D.; Luo, Z.; Wang, E.; Bende-Michlc, U.; Song, X.; Yu, Q. Largescale,
high-resolution agricultural systems modelling using a hybrid approach combining grid computing and
parallel processing. Environ. Model. Softw. 2013, 41, 231–238. [CrossRef]
Yalew, S.; van Griensven, A.; Ray, N.; Kokoszkiewicz, L.; Betrie, G.D. Distributed computation of large scale
SWAT models on the Grid. Environ. Model. Softw. 2013, 41, 223–230. [CrossRef]
Granell, C.; Díaz, L.; Gould, M. Service-oriented applications for environmental models: Reusable geospatial
services. Environ. Model. Softw. 2010, 25, 182–198. [CrossRef]
Goodall, J.L.; Robinson, B.F.; Castronova, A.M. Modelling water resource systems using a service-oriented
computing paradigm. Environ. Model. Softw. 2011, 26, 573–582. [CrossRef]
Bastin, L.; Cornford, D.; Jones, R.; Heuvelink, G.B.M.; Pebesma, E.; Stasch, C.; Nativi, S.; Mazzetti, P.;
Williams, M. Managing uncertainty in integrated environmental modelling: The UncertWeb framework.
Environ. Model. Softw. 2013, 39, 116–134. [CrossRef]
Wing, J.M. A specifier’s introduction to formal methods. Computer 1990, 23, 8–24. [CrossRef]
Argent, R.M. An overview of model integration for environmental applications-components, frameworks
and semantics. Environ. Model. Softw. 2004, 19, 219–234. [CrossRef]
ISPRS Int. J. Geo-Inf. 2017, 6, 47
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
22 of 22
Argent, R.M.; Voinov, A.; Maxwell, T.; Cuddy, S.M.; Rahman, J.M.; Seaton, S.; Vertessy, R.A.; Braddock, R.D.
Comparing modelling frameworks: A workshop approach. Environ. Model. Softw. 2006, 21, 895–910.
[CrossRef]
Voinov, A.; Cerco, C. Model integration and the role of data. Environ. Model. Softw. 2006, 25, 965–969.
[CrossRef]
Rizzoli, A.E.; Donatelli, M.; Athanasiadis, I.N.; Villa, F.; Huber, D. Semantic links in integrated modelling
frameworks. Math. Comput. Simul. 2007, 78, 412–423. [CrossRef]
Schmitz, O.; Karssebnerg, D.; de Jong, K.; de Kok, J.-L. Constructing integrated models: A scheduler to
execute coupled components. In Proceedings of the AGILE 2011, the 14th AGILE International Conference
on Geographic Information Science, Advancing Geoinformation Science for a Changing World, Utrecht,
The Netherlands, 18 April 2011.
Kragt, M.E.; Robson, B.J.; Macleod, C.J.A. Modellers roles in Structuring integrative research projects.
Environ. Model. Softw. 2013, 39, 322–330. [CrossRef]
Lloyd, W.; David, O.; Ascough, J.C., II; Rojas, K.W.; Carlson, J.R.; Leavesley, G.H.; Krause, P.;
Green, T.R.; Ahuja, L.R. Environmental modelling framework invasiveness: Analysis and implications.
Environ. Model. Softw. 2011, 26, 1240–1250. [CrossRef]
Peña-Haro, S.; Zhou, J.; Zhang, G.; Chen, C.; Stauffer, F.; Kinzelbach, W. A multi-approach framework to
couple independent models for simulating the interaction between crop growth and unsaturated-saturated
flow processes. In Proceedings of the International Environmental Modelling and Software Society (iEMSs)
2012 International Congress on Environmental Modelling and Software: Managing Resources of a Limited
Planet: Pathways and Visions under Uncertainty, Sixth Biennial Meeting (iEMSs 2012), Leipzig, Germany,
1 July 2012; pp. 1224–1231.
Zhang, G.; Zhou, J.; Zhou, Q.; Cheng, G.; Li, X. Integrated Eco-hydrological modelling by a combination of
coupled-model and algorithm using OMS3. In Proceedings of the International Environmental Modelling
and Software Society (iEMSs) 2012 International Congress on Environmental Modelling and Software:
Managing Resources of a Limited Planet: Pathways and Visions under Uncertainty, Sixth Biennial Meeting
(iEMSs 2012), Leipzig, Germany, 1 July 2012; pp. 1201–1207.
Hamadi, R.; Benatallah, B. A Petri net-based model for web service composition. In Proceedings of the ADC
'03 14th Australasian database conference of CRPIT, Adelaide, Australia, 1 February 2003; Volume 17.
Dumez, C.; Bakhouya, M.; Gaber, J.; Wack, M.; Lorenz, P. Model-driven approach supporting formal
verification for web service composition protocols. J. Netw. Comput. Appl. 2013, 36, 1102–1115. [CrossRef]
Lomazova, I. Nested Petri nets—A formalism for specification and verification of multi-agent distributed
systems. Fundam. Inf. 2000, 43, 195–214.
Alur, R.; Yannakakis, M. Model checking of hierarchical state machines. In Proceedings of the Sixth ACM
FSE, Orlando, FL, USA, 1 November 1998.
Girault, A.; Lee, B.; Lee, E.A. Hierarchical finite state machines with multiple concurrency models. IEEE Trans.
Comput.-Aided Design Integr. Circuits Syst. 1999, 18, 742–760. [CrossRef]
Lee, E.A.; Tripakis, S. Modal models in Ptolemy. In Proceedings of the 3rd International Workshop on
Equation-Based Object-Oriented Modelling Languages and Tools (EOOLT), Oslo, Norway, 3 October 2010;
Volume 47, pp. 11–21.
OMS3. The OMS3 Doc Website. 2011. Available online: http://nrrc.ars.usda.gov/ModelFrameworks/
ObjectModelingSystem/Documentation.aspx (accessed on 20 September 2016).
ESMF. The ESMF User Doc. 2014. Available online: http://www.earthsystemmodeling.org/esmf_releases/
public/last/ESMF_usrdoc/ESMF_usrdoc.html (accessed on 20 January 2017).
Dustdar, S.; Zdun, U. Model-driven and pattern-based integration of process-driven SOA Models. Int. J. Bus.
Process Integr. Manag. 2006, 2, 109–119.
© 2017 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).