Information Technology Reference
In-Depth Information
/
/
%%!3+,'-*
0#!$%
!"#!$%&'
41556627
%!*%081%329
:
;%#<9
0#!$% =
!"#!$%&'12
+
.
.
Fig. 4. Communicating Components
Figure 4 shows a typical interoperability scenario where two NSs are actual
implementations of their specified interfaces. The NS on the right implements
a weather service that provides weather forecasts for regions identified by ZIP
codes. The NS on the left is a matching client. The two NSs communicate via
SOAP protocol messages (1), (5), and together realise some protocol, which
comprises a control part (2), and a data part (3) at both NSes. The data parts
may be best described as a set of local variables or registers. The control part can
be modelled as a labeled transition system with actual blocks of code labelling
the transitions (4). Each code block of Fig. 4 would consist of an entry point for
one interface method (e.g., GetWeatherByZipCode ), conditions over parameters
and local variables (e.g., comparing ZIP codes), assignments and operations on
local variables (e.g., storing returned weather data), and a return statement.
To infer the behaviour of one NS (say, the right one from Fig. 4), the role of
the other NS has to be undertaken by a learning algorithm, which is aware of the
interface alphabet of the NS whose affordance's behaviour is to be learned. This
interface alphabet is derived automatically from the interface description of the
NS under scrutiny. A test-driver is then instantiated by the Learning Enabler,
translating the alphabet symbols to remote invocations of the NS to be learned.
Now, to capture the interaction of the two NSs faithfully, two phenomena
have to be made explicit in the inferred models:
- Preconditions of Primitives: Usually real systems operate on communication
primitives that contain data values relevant to the communication context
and have a direct impact on the exposed behaviour. Consider as an exam-
ple session identifiers or sequence numbers that are negotiated between the
communication participants and included in every message. The models have
to make explicit causal relations between data parameters that are used in
the communication (e.g, the exact session identifier that is returned when
opening a new session has to be used in subsequent calls).
- Effects of Primitives: The learned models will only be useful for Emer-
gent Middleware (mediator) synthesis within a given semantic context. Most
NSs have well-defined purposes as characterised by affordances (e.g., getting
Search WWH ::




Custom Search