TOWARDS VERIFYING SERVICE INTEROPERABILITY
REQUIREMENTS FOR PERVASIVE COMPUTING
ENVIRONMENTS
Yasir Malik and Bessam Abdulrazak
DOMUS Laboratory, University of Sherbrooke, Sherbrooke, Canada
Keywords:
Verification, Interoperability, Design by Contract, Service Modeling, Smart Environment.
Abstract:
Service interoperability verification is key to enable service continuity among pervasive computing environ-
ments. Pervasive computing is shifting the computing paradigm toward everywhere computing where number
of heterogeneous and autonomous systems offer rich sets of services to assist inhabitants in their daily living.
To support continuity of services these systems must provide seamless and awless interoperability among
devices and services. In this paper, We present our ongoing project on verifying the service interoperability
in pervasive computing environments. We highlight the potential use of formal methods to verify the interop-
erability requirements and propose using design by contract technique to model and verify the semantic and
pragmatic service interoperability requirements. We also present our verification requirement analysis and the
benefits of using this technique with rich support from languages for implementation.
1 INTRODUCTION
Service interoperability verification is key to enable
service continuity among pervasive computing en-
vironments. Pervasive computing is shifting the
computing paradigm toward everywhere computing,
where number of heterogeneous and autonomous sys-
tems offer rich set of services to assist its habitants
in their daily living. Mark Weiser envisioned perva-
sive computing where computing devices will be in-
tegrated smartly in their environments to help users
with their everyday living (Weiser, 1999). We foresee
a future, where humans will be directly or indirectly
interacting with number of smart devices and ser-
vices embedded in their physical environments with-
out knowing about them. To support continuity of
such services these systems must provide seamless
interoperability among devices and services. Inter-
operability is the capability of heterogeneous and au-
tonomous systems to interact with each other for effi-
cient service execution (Pokraev et al., 2006b), it can
also defined as transparent & compatible execution
between equipment from different vendors. The for-
mal definition of interoperability given in IEEE glos-
saries is the ability of two or more networks, systems,
devices, applications or components to exchange in-
formation between them and use the exchanged infor-
mation. Pervasive computing environments are het-
erogeneous with many autonomous systems running
in it. To successfully deploy pervasive computing en-
vironments, it is very important that these environ-
ments support interoperability of services and compo-
nents deployed in the environments to achieve com-
mon goal(Perumal et al., 2008a). There are three
types of interoperability problems that can occur in
pervasive computing environments:
Syntactic Interoperability: Syntactic interoper-
ability involves a common data format and com-
mon protocol to structure any data so that the
manner of processing the information will be in-
terpretable from the structure
1
.
Semantic Interoperability: Semantic interoper-
ability requires that any two systems will derive
the same inferences from the same information
1
.
Pragmatic Interoperability: Pragmatic interop-
erability is reached when the interoperating sys-
tems are aware of the methods and procedures
that each system is employing. In other words,
the use of the data or the context of its application
is understood by the participating systems
1
.
Researchers have presented many approaches to sup-
port interoperability in pervasive computing environ-
1
http://en.wikipedia.org/wiki/Semantic interoperability
220
Malik Y. and Abdulrazak B..
TOWARDS VERIFYING SERVICE INTEROPERABILITY REQUIREMENTS FOR PERVASIVE COMPUTING ENVIRONMENTS.
DOI: 10.5220/0003907202200223
In Proceedings of the 2nd International Conference on Pervasive Embedded Computing and Communication Systems (PECCS-2012), pages 220-223
ISBN: 978-989-8565-00-6
Copyright
c
2012 SCITEPRESS (Science and Technology Publications, Lda.)
ments (Perumal et al., 2008b; Maestre and Camacho,
2009), however there are very few works done on ver-
ifying service interoperability requirements for these
environments. We address in this paper the problem
of verifying the interoperability requirements of ser-
vices in pervasive environments. We highlighted and
analyzed potential use of formal methods for specify-
ing and verifying services at run-time. We propose to
use Design by Contact technique to model and verify
the semantic and pragmatic service interoperability
requirements at runtime. Our analysis shows promis-
ing benefits of using this technique, also there is rich
support from languages for implementing this tech-
nique.
The rest of article is organized as follows. In the
next section we present state of the art addressing
interoperability and its verification process. In sec-
tion 3 we present the potential benefits of using for-
mal method and analysis of design by contract for se-
mantic and pragmatic interoperabilityverification. Fi-
nally, in section 4, we conclude the paper and discuss
future work.
2 RELATED WORK
This section presents some presentative work related
to interoperability requirements and solutions in per-
vasive computing environments. Sullivan and col-
leagues highlighted the interoperability requirements
and suggested the potential use of semantic tech-
niques like ontologies in solving the key challenges of
service interoperability(O’Sullivan and Lewis, 2003).
Roussaki and colleagues in (Roussaki et al., 2008)
suggested the use of ontologies and presented an on-
tology based service model for composability of var-
ious available services in pervasive computing en-
vironments. Bromberg and colleagues presented an
event-based parsing technique to provide full service
discovery interoperability to any existing middleware,
their system act as bridge between topological net-
works and discovery technologies to adapt itself to
the environment and its host to offer interoperabil-
ity anytime anywhere (Bromberg and Issarny, 2005).
Later this approach was extended by Bottaro and col-
leagues (Bottaro et al., 2007), they proposed a soft-
ware architecture based on OSGi framework to ad-
dress protocol heterogeneity, interface fragmentation
and device composition among other challenges in
smart home environment. All the aforementioned
approaches have presented solutions for supporting
interoperability requirements in pervasive computing
environments; however they have not provided any
mechanism or approach for its verification. Pokraev
and colleagues (Pokraev et al., 2006a; Pokraev et al.,
2006b) addressed the issue of interoperability verifi-
cation and identified assessment requirements for se-
mantic and pragmatic interoperability. These require-
ments are as summarized below:
R1: A necessary condition for the semantic interoper-
ability of two systems is the existence of a trans-
lation function that maps the entity types, proper-
ties and values of the subject domain model of the
first system to the respective entity types, proper-
ties and values of the subject domain model of the
second system.
R2: A necessary condition for pragmatic interoper-
ability of a single interaction is that at least one
result that satisfies the constraint of all contribut-
ing systems can be established.
R3: A necessary conditions for pragmatic interoper-
ability of a service is that R2 is met for all of its
interactions and they can occur in a causal order,
allowed by all participating systems.
Based on the above requirements, they proposed a
method to verify composite systems. The limitation
of their approach is the lack of mapping mechanism
for their service model. Baldoni and colleagues in
(Baldoni et al., 2006) suggested formalizing the inter-
action protocols using finite state automata to define
and verify properties of a service for the given pro-
tocol. There approach is a static analysis of the sys-
tem which can improve the confidence in the system,
however it require prior knowledge of protocols de-
scription under test. A similar approach is presented
by Wan and colleagues, authors presented a verifica-
tion algorithm and propose to formalize the properties
of service adapted to Pantagruel i.e.(language that de-
scribes and manages services), which will allow pro-
grams to be verified prior to their execution, however
this approach is limited when used to verify compos-
ite systems on the fly (Wan et al., 2010).
3 VERIFICATION METHOD
Formal methods have been use to specify system and
provide methods such as model checking, theorem
proving for verifying and validating the functional
and behavioral correctness of the systems at early de-
sign stage. Recently the research in formal methods
is moved from off-line verification to on demand veri-
fication (runtime verification) which combines formal
specification with programming languages to support
the runtime verification of software systems. We ana-
lyzed the potential benefits of using formal methods
TOWARDS VERIFYING SERVICE INTEROPERABILITY REQUIREMENTS FOR PERVASIVE COMPUTING
ENVIRONMENTS
221
to verify the interoperability requirements in perva-
sive computing environment. In particular, we studied
and identified the potential use of Design by Contract
(DbC) technique in systems based on service oriented
architectures.
Design by Contract is the object oriented design
techniques introduces by Meyer (Meyer, 1992), based
on the Hoares Correctness Triplets of {P} A {Q}.
This expression can be interpreted as an execution of
process A is a state where P holds and termination of
process A is a state where Q holds. Here P and Q
are the logical pre and post condition assertions for
the process A respectively. These pre and post con-
ditions are formally known as contracts that software
designers can use to formally define precise and ver-
ifiable specification for software components. These
contacts can be viewed as rights and obligations of the
class and its client. DbC can be used to support the se-
mantic interoperability. The fundamental idea of DbC
is to attach assertions or ”contracts” with each compo-
nent of the application, which allow the runtime ver-
ification of the properties that hold. There are three
different kinds of assertions that could be defined for
any service, routine or application component:
1. Pre-condition: As the term is self expressive,
preconditionsare used to specify the assertion that
must hold before the execution of the program, or
component. In this way the programs/services can
be verified before their executions. For instance it
is possible to verify the arguments or inputs re-
quired for the service.
2. Post-condition: Post-conditions are assertions
that must hold after the execution of the program.
In this way services are verified after their execu-
tions against respective contracts.
3. Invariants: Invariants are the assertions in the
contract that must hold anytime during the exe-
cution of a program.
3.1 Requirements Analysis
In this section we analyze Design by Contract tech-
nique to verify the semantic and pragmatic interoper-
ability requirements. Contracts can be used to specify
the application requirement that must hold to interop-
erate with other systems. A service contract can spec-
ify semantics, behavioral, functional and non func-
tional requirements associated with the respective ser-
vice. In this way, a service provider makes no as-
sumptions about a service consumer, other than those
specified in the service contract. Service contract can
act as an interface through which service consumers
communicate with the other services for service com-
position. These service contracts can be specified in-
dependently of underline technologies to support in-
teroperability. The service model for such implemen-
tation is shown in Figure 1. The use of DbC tech-
nique will help to support and verify semantic inter-
operability requirements in pervasive computing en-
vironments. In the next section we present the anal-
ysis of DbC technique in satisfying the semantic and
pragmatic interoperability requirements identified in
(Pokraev et al., 2006b). The first requirement R1
Figure 1: Service contract model.
for the semantic interoperability is that the system
must have a translation function that maps the en-
tity types, properties and subject domain model of
the systems being integrated. This requires the com-
plete knowledge of the system/service and its rela-
tionships with other components in the environment.
This requirement can be satisfied by associating a
contract with each component of the system. Thus
when systems are interacting, they can be verified
w.r.t to their contracts. This could be the pre or
post-condition that must hold for any communica-
tion. To enrich the contract with the domain knowl-
edge and relations with other components, ontologies
can be used. Ontologies are the description of some
shared concepts and their relationships for the given
domain and they support semantics interoperability
based on the domain knowledge. Requirement R2
and R3 address the problem of pragmatic interoper-
ability. As discussed above, pragmatic interoperabil-
ity can be reached when the inter-operating systems
are aware of each other methods and procedures also
that necessary conditions are met for at least one re-
sult that can satisfy constraint. As a result the context
of its application is understood by the participating
systems. This requirement can be satisfied by defin-
ing the invariants of the contract and can be verified
any anytime during the execution to know the cur-
rent state of the system. DbC can also be applied
to address the service composition and verification in
pervasive computing environment. Authors in (Chen
and Huang, 2009) has presented an approach to model
a service behavior represented by concurrent regular
expression and then translate it to labeled transition
system to form a finite state process notation trace
PECCS 2012 - International Conference on Pervasive and Embedded Computing and Communication Systems
222
to verify the service composition. This approach is
not automatic and does not support service interop-
erability if the composition is between two different
systems. DbC approach can be applied to support
such interoperability and verification of service com-
position. The idea is similar as stated above, every
service has its contract which specifics its behavior,
functional and semantics requirements.
4 CONCLUSIONS
In this paper, we presented the potential benefits of
using formal method for verifying the interoperability
requirements in pervasive computing environments.
In particular, we highlighted the potential benefits of
Design by Contact technique to verify the service in-
teroperability. We analyzed the DbC to satisfy the re-
quirements of semantic and pragmatic interoperabil-
ity. We have also presented a service contract model
that can be used to specify the contracts of the ser-
vice in OSGI framework. The model include behav-
ioral, semantical, functional and non functional con-
tracts associated with respective service. The poten-
tial benefit of DbC can be applied at runtime for ser-
vice verification and supporting interoperability at the
same time. In upcoming publications, we will present
the implementation of service contacts developed in
OSGi framework to show the results of our proposed
method.
REFERENCES
Baldoni, M., Baroglio, C., Martelli, A., and Patti, V. (2006).
A priori conformance verification for guaranteeing in-
teroperability in open environments. In In Proc. of
ICSOC 2006, volume 4294 of LNCS, pages 339–351.
Springer.
Bottaro, A., Gerodolle, A., and Lalanda, P. (2007). Per-
vasive service composition in the home network. In
Proceedings of the 21st International Conference on
Advanced Networking and Applications, AINA ’07,
pages 596–603, Washington, DC, USA. IEEE Com-
puter Society.
Bromberg, Y.-D. and Issarny, V. (2005). Indiss: interop-
erable discovery system for networked services. In
Proceedings of the ACM/IFIP/USENIX 2005 Interna-
tional Conference on Middleware, Middleware ’05,
pages 164–183, New York, NY, USA. Springer-Verlag
New York, Inc.
Chen, J. and Huang, L. (2009). Formal verification of
service composition in pervasive computing envi-
ronments. In Proceedings of the First Asia-Pacific
Symposium on Internetware, Internetware ’09, pages
19:1–19:5, New York, NY, USA. ACM.
Maestre, J. M. and Camacho, E. F. (2009). Smart home
interoperability: the domoesi project approach. Inter-
national Journal of Smart Home, 3:31–44.
Meyer, B. (1992). Applying ”design by contract”. Com-
puter, 25:40–51.
O’Sullivan, D. and Lewis, D. (2003). Semantically driven
service interoperability for pervasive computing. In
Proceedings of the 3rd ACM international workshop
on Data engineering for wireless and mobile access,
MobiDe ’03, pages 17–24, New York, NY, USA.
ACM.
Perumal, T., Ramli, A. R., Leong, C. Y., Mansor, S., and
Samsudin, K. (2008a). Interoperability among het-
erogeneous systems in smart home environment. In
Proceedings of the 2008 IEEE International Confer-
ence on Signal Image Technology and Internet Based
Systems, SITIS ’08, pages 177–186, Washington, DC,
USA. IEEE Computer Society.
Perumal, T., Ramli, A. R., Leong, C. Y., Mansor, S., and
Samsudin, K. (2008b). Interoperability for smart
home environment using web services. International
Journal of Smart Home, 2:1–16.
Pokraev, S., Quartel, D. A. C., Steen, M. W. A., and Re-
ichert, M. (2006a). A method for formal verification
of service interoperability. In Proceedings of 2006
IEEE International Conference on Web Services 18-
22 September 2006, Chicago, Illinois, USA, pages
895–900. IEEE Computer Society.
Pokraev, S., Quartel, D. A. C., Steen, M. W. A., and Re-
ichert, M. (2006b). Requirements and method for as-
sessment of service interoperability. In Proceedings of
the 2006 4th International Conference on Service Ori-
ented Computing, ICSOC ’06, December 4-7, 2006,
Chicago, USA, volume 4294 of Lecture Notes in Com-
puter Science, pages 1–14. Springer.
Roussaki, I., Papaioannou, I., Tsesmetzis, D., Kantorovitch,
J., Kalaoja, J., and Poortinga, R. (2008). Ontol-
ogy based service modelling for composability in
smart home environments. In Mhlhuser, M., Ferscha,
A., and Aitenbichler, E., editors, Constructing Am-
bient Intelligence, volume 11 of Communications in
Computer and Information Science, pages 411–420.
Springer Berlin Heidelberg.
Wan, H., Drey, Z., You, Z., and Liu, L. (2010). Formal
Modeling and Verification of Services Managements
for Pervasive Computing Environment. In Proceed-
ings of The 7th International Conference on Service
Systems and Service Management, Tokyo Japan.
Weiser, M. (1999). The computer for the 21st century. SIG-
MOBILE Mob. Comput. Commun. Rev., 3(3):3–11.
TOWARDS VERIFYING SERVICE INTEROPERABILITY REQUIREMENTS FOR PERVASIVE COMPUTING
ENVIRONMENTS
223