Documente Academic
Documente Profesional
Documente Cultură
© IJCSI PUBLICATION
www.IJCSI.org
© IJCSI PUBLICATION 2009
www.IJCSI.org
EDITORIAL
IJCSI Editorial Board is pleased to present IJCSI Volume One (IJCSI Vol.
1, 2009). This edition is a result of a special call for papers on Pervasive
Computing Systems and Technologies. The paper acceptance rate for this
issue is 31.6%; set after all submitted papers have been received with
important comments and recommendations from our reviewers.
Dr Tristan Vanrullen
Chief Editor
LPL, Laboratoire Parole et Langage - CNRS - Aix en Provence, France
LABRI, Laboratoire Bordelais de Recherche en Informatique - INRIA - Bordeaux,
France
LEEE, Laboratoire d'Esthétique et Expérimentations de l'Espace - Université d'auvergne,
France
Dr Mokhtar Beldjehem
Professor
Sainte-Anne University
Halifax, NS, Canada
Dr Pascal Chatonnay
Assistant Professor
Maître de Conférences
Université de Franche-Comté (University of French-County)
Laboratoire d'informatique de l'université de Franche-Comté (Computer Sience
Laboratory of University of French-County)
Prof N. Jaisankar
School of Computing Sciences, VIT University
Vellore, Tamilnadu, India
IJCSI REVIEWERS COMMITTEE
Pervasive Environments
Noha Ibrahim1, Frédéric Le Mouël2
1
Grenoble Informatics Laboratory
Grenoble, France
noha.ibrahim@imag.fr
2
Université de Lyon, INRIA, INSA-Lyon, CITI
Lyon, France
frederic.le-mouel@insa-lyon.fr
IJCSI
2 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
requirements[19][33][34] in order to resolve the to give the basis to discuss similarities and differences,
challenges brought by pervasivity. advantages and disadvantages of all available service
composition middleware and to highlight the nowadays
Several surveys[5][7][22][31][33] dealt with service existing lacks concerning the service composition
composition. Many of them[7][31] classified the problem in pervasive environments.
middleware under exclusive criteria such as manual As depicted Figure 1, the SCM interacts with the
versus automated, static versus dynamic, and so on. application layer by receiving functionality requests from
Others[5][22][33] classified the service composition users or applications[5][7]. SCM needs to respond to the
middleware under different domains such as artificial functionality requests by providing services that fulfill
intelligence, formal methods, and so on. But none of the demand. These services can be atomic or composite.
these surveys proposed a generic reference model to The Service Repository represents all the distributed
describe the service composition middleware in service repository where services are registered. The
pervasive environments. SCM interacts with the Service Repository to choose
services to compose.
In this article, we propose:
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 3
uses specific languages, models, and logics, composition plan for a given context. This
usually for SOA a generic service model. Some selection is done from all the plans provided by
research[30] provide a translation mechanism of the Generator. In pervasive environments, this
the available service technologies and service evaluation depends strongly on many criteria
descriptions into one model. Others, such as like the application context, the service
SELF-SERV[25], propose a wrapper to provide technology model, the quality of the network,
a uniform access interface to services[8]. These the non functional service QoS properties, and
middleware usually realize transformation from so on. The evaluation needs to be dynamic and
one model to another or from one technology to adaptable as changes may occur unpredictably
another. The technologies are predefined in and at any time. Two main approaches are
advance and usually consist of the legacy ones. commonly used: the rule-based
If new technology models appear in the planning[27][28][29] and the formal methods
environment, the Translator will need to be approach[6][10][12][30]. The rules evaluate
expanded to take these technologies into whether a given composition plan is appropriate
consideration. Another family of or not in the actual context. If rules were
research[6][26] do not provide the Translator commonly used as an evaluation approach, their
module as they use common model to describe use lacks of dynamism proper to pervasive
all the services of the environment. They use environments. A major problem of the
common description languages such as DAML- evaluation approach is namely the lack of
S - recently called OWL-S[36], - for describing dynamic tools to verify the correctness -
atomic services, composed services and user functional and non functional aspects - of the
queries. service composition plan. This aspect is at the
2. Once translated, the request specification is sent main advantage of what most formal methods
to the Generator. The Generator will try to offer. The nowadays most popular and
provide the needed functionalities by advanced technique to evaluate a given
composing the available service technologies, composition plan is the evaluation by formal
and hence composing their functionalities. It methods (like Petri nets and process algebras
tries to generate one or several composition like the Pi-calculus). Petri nets are a framework
plans with the same or different technology to model concurrent systems. Their main
services available in the environment. It is quite attraction is the natural way of identifying basic
common to have several ways to do a same aspects of concurrent systems, both
requirement, as the number of available mathematically and conceptually. Petri nets are
functionalities in pervasive environments is in very commonly merged with composition
expansion. Composing service is technically languages such as BPEL[4] and OWL-S[36].
performed by chaining interfaces using a On the other hand, Automata or labeled
syntactically or semantically method matching. transition systems are a well-known model
The interface chaining is usually represented as underlying formal system specifications and are
a graph or described with a specific language. more and more used in the service composition
Graph based approaches[8][10], represent the process[30].
semantic matching between the inputs and 4. The Builder executes the selected composition
outputs of service operations. It is a powerful plan and produces an implementation
technique as many algorithms can be applied corresponding to the required composite
upon graphs and hence optimize the service service. It can apply a range of techniques to
composition. Number of languages have been realize the effective service composition. These
proposed in the literature to describe data techniques depend strongly on the service
structure in general and functionalities offered technology model we are composing and on the
by devices in particular. If some languages are context we are evolving in. Once the composite
widely used, such as XML, and generic for service available, it can be executed by the
multiple uses others are more specific to certain application that required its functionality. In the
tasks as service composition, orchestration or literature, we distinguish different kinds of
choreography such as Business Process builders provided by the service composition
Execution Language (BPEL4WS or BPEL[4]) middleware. Some builders are very basic and
and OWL-S[36]. use only simple invocation in sequence to a list
3. The Evaluator chooses the most suitable of services[17]. These services need to be
IJCSI
4 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
3.1 MySIM: Spontaneous Service Integration for PERSE[30] proposes a semantic middleware, that deals
Pervasive Environment with well known functionalities such as service
discovery, registration and composition. This
MySIM[17] is a spontaneous middleware that integrate middleware provides a service model to support
services in a transparent way without disturbing users interoperability between heterogeneous both semantic
and applications of the environment. Service integration and syntactic service description languages (Translator).
is defined as being a service transformation from one The model further supports the formal specification of
service technology to another (Translator), a service service conversations as finite state automata, which
composition and a service adaptation. MySIM selects enables the automated reasoning about service behavior
services that are composable, generates composition independently from the underlying conversation
plans (Generator), evaluate their QoS degrees specification language. Hence, pervasive service
(Evaluator) and implements new composite services in conversations described with different service
the environment (Builder). These new services publish conversation languages (Generator) can be integrated
well known interfaces but new implementations and (Builder) toward the realization of a user task. The
better QoS. MySIM also proposes to adapt the model also supports the specification of service non-
application execution to the services available by functional properties based on existing QoS models to
redirecting the application call to services with better meet the specific requirements of each pervasive
QoS. application through the QoS aware Composition service
(Evaluator).
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 5
SeSCo[10] presents a service composition mechanism 3.4 Broker Approach for Service Composition
for pervasive computing. It employs the service-oriented
middleware platform called Pervasive Information Broker[6] presents a distributed architecture and
Communities Organization (PICO) to model and associated protocols for service composition in mobile
represent resources as services. The proposed service environments that take into consideration mobility,
composition mechanism models services as directed dynamic changing service topology, and device
attributed graphs, maintains a repository of service resources. The composition protocols are based on
graphs, and dynamically combines multiple basic distributed brokerage mechanisms (Evaluator) and
services into complex services (Builder). The proposed utilize a distributed service discovery process over ad-
service composition mechanism constructs possible hoc network connectivity. The proposed architecture is
service compositions based on their semantic and based on a composition manager, a device that manages
syntactic descriptions (Generator). SeSCo[10] proposes the discovery, integration (Generator), and execution of
a hierarchical service overlay mechanism based on a a composite request (Builder). Two broker selection-
LATCH protocol (Evaluator). The hierarchical scheme based protocols - dynamic one and distributed one - are
of aggregation exploits the presence of heterogeneity proposed in order to distribute the composition requests
IJCSI
6 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
to the composition managers available in the component model named Component Service Model
environment. These protocols depend on device-specific with Semantics (CoSMoS) - discovers services required
potential value, taking into account services available on for composition - through a middleware named
the devices, computation and energy resources and the Component Runtime Environment (CoRE) - and
service topology of the surrounding vicinity. composes the requested service based on its semantics
and the semantics of the discovered services - through a
service composition mechanism named Semantic Graph-
Based Service Composition (SeGSeC).
Broker architecture is depicted under the SCM model in Figure 6 SeGSeC mapped to SCM
Figure 5. The Broker arbitration is the Evaluator module
as it evaluates the available devices and decides to SeGSeC architecture is depicted under SCM model in
distribute the composition request, described in a special Figure 6. The Request Analyser translates the user
language (DSF), taking into account the device context. request into an internal system language using graph-
The evaluation is done here before the composition based approach. The Semantic Analyser and Service
process. The Service Integration describes the composer produce the composition workflow ready to be
composition sequence using a specific language (ESF) executed by the Service performer. The workflow
and pass it to the Service Execution (the Builder) to respects the semantic matching composition rules and
execute it. the correctness is guaranteed via the Evaluator module.
Broker[6] implemented a protocol as part of a distributed SeGSeC[8] was evaluated according to the number of
event-based mobile network simulator, to test the two services deployed and the time needed to discover,
proposed broker arbitration protocols and the match and compose services. Another set of evaluations
composition efficiency. Simulation results show that took not only the number of deployed services but
their protocols - especially the distributed approach - especially the number of operations these services
exceed the usual centralized broker composition in terms implement. Their results show that SeGSeC performs
of composition efficiency and broker arbitration efficiently when only a small number of services are
efficiency. deployed and that it scales to the number of services
deployed if the discovery phase is done efficiently.
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 7
autonomous management.
IJCSI
8 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
general, the context information can be divided into low- traditional functions of configuration management,
and high-level context information. Low-level context performability management, and security management.
information can be collected using sensors in the system. Instead, one must resort to automate most of these
Low-level context information sources can be combined management functions, allowing humans to concentrate
or processed further to higher level context information. on the definition and supervision of high-level
management policies, while the middleware itself takes
QoS management is essential in dynamic environments, care of the translation of these high-level policies into
where connectivity is very variable. A pervasive automated control structures. The challenge is therefore
middleware for service composition need to take the non to move from classical middleware support for
functional parameters of applications and devices into configuration, performability and security management
consideration in order to provide viable and flexible to support for self-configuration, self-tuning, self-healing
composition plans and composite services. QoS and self-protecting capabilities.
parameters concern not only the services but also the
devices where the execution is taking place. The We classify the service composition middleware –
composition execution need to rely on this parameter in MySIM[17], PERSE[30], SeSCo[10], Broker[6],
order to take place in the best conditions. Not only the SeGSeC[8], and WebDG[12] - under the above
QoS of different services need to be compatible, but also requirements. For each middleware, we analyze its four
the devices performing the composition need to respect modules - Translator, Generator, Evaluator, and Builder
certain characteristics and constraints. - and detail if they respect the pervasive requirements.
The first section depicts the requirements that are
Security mechanisms, such as authentication, fulfilled, at a certain extend, by the service composition
authorization, and accounting (AAA) functions may be middleware. The second section explains the
an important part of the middleware in order to requirements that are until now left behind. Our
intelligently control access to computer and network classification is given in Figure 8.
resources, enforcing policies, auditing network/user
usage, etc. Another important aspect concerns privacy 4.2 Service Composition Middleware Meeting
and trust in pervasive environments. In presence of Pervasive Requirements
unknown devices, middleware need to respect privacy of
users, and provide trust mechanisms adapted to the ever In this section, we are interested in the pervasive
changing nature of the environment. requirements that are fulfilled by service composition
middleware: discoverability, adaptability, context
Spontaneous management concerns the ability of a awareness, and QoS management.
pervasive middleware to compose services
independently of user and application requests. The If some pervasive requirements are relatively well
middleware spontaneously composes services that are fulfilled by the current composition middleware, others
compatible together and produces a new composite are still at a preliminary stage.
service into the environment. The new service is
registered and can publish its interfaces in order to be All middleware provide the discoverability and context
discovered and executed by applications. Spontaneous awareness requirements. These requirements are intrinsic
service composition is an interesting feature in pervasive to every composition middleware wanting to evolve in
environments, as services meet when the user encounter, dynamic and ever changing environment such as the
and interesting composite service can be generated from pervasive environments. These requirements are
these meetings, even though not required at that moment essential when constructing and evaluating composition
by users. plans, but also when discovering and invoking services.
Indeed, generating and evaluating composition plans
Autonomous Management concerns the ability for a must be contextual, as services can come and go at any
pervasive middleware to control and manage its time, and a given composition plan constructed at a
resources, functions, security and performance, in face of certain time, need to be evaluated before execution, in
failures and changes, with little or no human case some changes have affected it. Hence, the context
intervention. The complexity of future ubiquitous awareness is not only provided by the Builder but also
computing environments will be such that it will be by the Generator and Evaluator modules.
impossible for human administrators to perform their
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 9
IJCSI
10 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
The middleware listed above, do not propose solutions to problems: the service translations, the composition plan
address the problem of security or trust. They rely on the generations, the plan contextual evaluations, and finally
existing mechanisms proposed by the middleware and the real composition implementation. In each of these
network layers, if any. Several other studies[14][15] domains, several trends appeared to be commonly used:
address security features for service composition using simple translation between diverse service technologies
contracts[15], verification formal methods[14], or a for the Translator, graph based approach or language
security model for enforcing access control in extensible composition one for the Generator, formal methods
component platforms[20]. approach for the Evaluator, and discovery and
invocation mechanisms for the Builder. Finally, we
No real autonomous composition management is classified these middleware under several requirements
provided. The middleware do not propose mechanism to related to the ubiquity of the environments. If some
manage their resources, functions, security, and requirements such as discoverability and context
performance, in face of failures and changes, with little awareness are well verified, others are still being
or no human intervention. Pervasive environments that explored such as interoperability, adaptability and QoS
are capable of composing functionalities autonomously management. Security, spontaneous and autonomous
are still at preliminary state of consumption. A major management open the way to many promising research
domain that dealt with autonomous management of the trends, at the intersection of several major domains such
composition is the multi-agent systems. Combining as artificial intelligence and autonomic computing, for
multi-agent systems and service-oriented architecture is a service composition middleware in pervasive
well known research field to add autonomy features to environments.
services[9][18][21][23].
References
[1] T. Bittner and M. Donnelly and S. Winter:, Ontology and
5. Conclusions semantic interoperability, CRCpress (Tailor & Francis),
D. Prosperi and S. Zlatanova (ed.): Large-scale 3D data
The development of pervasive computing has put the integration: Challenges and Opportunities, pages 139-160,
accent on a well identified problem, the service 2005.
composition problem. Composing services together on [2] T. Erl:, Service-Oriented Architecture (SOA): Concepts,
various platforms, extending environments with new Technology, and Design, Prentice Hall, 2005.
functionalities, are the new trends pervasive computing [3] B. Cole-Gomolski:, Messaging Middleware Initiative
aims to achieve. Many composition middleware have Takes a Hit, PComputerworld, 1997.
[4] Matjaz Juric and Poornachandra Sarang and Benny
reached a certain maturity, and propose complete
Mathew:, Business Process Execution Language for Web
architectures and protocols to discover and compose Services (2nd edition), PACKT Publishing, 2006.
services in pervasive environments. Many [5] A. Alamri and M. Eid and A. El Saddik "Classification of
surveys[5][7][22][31][33] list service composition the state-of-the-art dynamic web services composition
middleware according to predefined criteria or techniques", Int. J. Web and Grid Services, Vol. 2, No. 2,
properties. They very often consider middleware for the 2006, pp. 148-166.
composition of a particular technology such as Web [6] D. Chakraborty and A. Joshi and T. Finin and Y. Yesha
services composition middleware. The application of "Service Composition for Mobile Environments", Journal
service composition middleware to pervasive on Mobile Networking and Applications, Special Issue
environment is rather new, and a real lack in analyzing on Mobile Services, Vol. 10, No. 4, 2005, pp. 435-451.
[7] S. Dustdar and W. Schreiner "A survey on web services
and classifying service composition middleware under a
composition", Int. J. Web and Grid Services, Vol. 1, No.
reference model is noticed. 1, 2005, pp. 1-30.
[8] K. Fujii and T. Suda "Semantics-based dynamic service
In this article, we surveyed six complete service composition", IEEE Journal on Selected Areas in
composition architectures for pervasive environments, Communications, Vol. 23, No. 12, 2005.
located in the middleware layer, MySIM[17], [9] F. Ishikawa and N. Yoshioka and S. Honiden "Mobile agent
PERSE[30], SeSCo[10], Broker[6], SeGSeC[8] and system for Web service integration in pervasive network",
WebDG[12]. We do not claim the exhaustiveness of our Systems and Computers in Japan, Wiley-Interscience,
classification, but we think that the major middleware for Vol. 36, No. 11, 2005, pp. 34-48.
service composition in pervasive environments are [10] S. Kalasapur and M. Kumar and B. Shirazi "Dynamic
Service Composition in Pervasive Computing", IEEE
depicted. We introduced a novel approach to study the
Transactions on Parallel and Distributed Systems, Vol.
service composition problem. We studied these systems 18, No. 7, 2007, pp. 907-918.
by reducing the composition problem to four main [11] B. Medjahed and Y. Atif "Context-based matching for
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 11
IJCSI
12 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 13
ISSN (Online): 1694-0784
ISSN (Printed): 1694-0814
Predictability
B- Adaptation Platform
The second part is an overview of architectures for (decentralized supervision)
Autonomy
IJCSI
14 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
components composing the application). It allows Smartphone, Mobile Phone, PC, etc.). The third one is the
adapting the application in order to respect the required Temporal context. It preserves and manages the history
QoS. Presentation deals with HCI (not addressed in this (date, hour, synchronizations, actions performed, etc.).
paper). The last one is called Geographic and gives geographical
Here is a global schema of an adaptable application: information (GPS Data, horizontal/vertical moving, speed,
adaptations
etc.).
wish a QoS
provided QoS
Application adap
tation
s
The second layer, called « context management » [44]
Adaptation [45] is based on the previous layer representations. It
Manager
infl
push/pull
on
by
etc.). The Storage of context data in order to allow
use
ed
r re
monitor
services retrieving them, the Quality giving a measure
qui
rem
Context Information
Reflexivity allowing to represent the application itself.
The localization manages geographic information in order
to locate entities, predict their displacements.
Figure 2 : Adaptable applications The last layer proposes mechanisms to permit the
adaptation to the context. We will find several
Whereas [34] [35] do not make distinction between mechanisms in order to react to contextual events. The
context oriented and application oriented data (functional first one is the software component Composition, the
data), we think that such a distinction makes design easier second one is the Migration in order to move entities and
and offers a good separation of concerns [36] . the last one, the Adaptation to ensure the evolution of the
application. This last point is no-functional, the
2. What is context? middleware manages it, it can depend on a user profile or
on rules provided by the user. The polymorphism
2.1 Definition and model facilitates the migration of entities and their adaptation to
various hosts (with more or less constraints).
The origin of the term « context awareness » if attributed Context Management Tools
to Schilit and Theimer [42] . They explain that it is « the
Adaptation Migration Composition Polymorphisme
capacity for a mobile application and/or a user to
discover and react to situations modifications ». Many
other definitions can be found in [43] . The application
Context Management Services
context is the situation of the application so the context is
a set of external data that may influence the application Service Storage Quality Reflexivity localization
[36] .
A context management system can interpret the context
and formalize it in order to make a high level Type of the context
representation. It creates an abstraction for the entities User Hardware Environment Temporal Geographic
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 15
IJCSI
16 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
Ubiquitous Computing, Security, etc. But to be honest, the resources, etc.). The user's context is captured through the
context it not a new concept in computer science! Since interfaces and the information system (user's profile
the early 90’s, Olivetti Research Center with the description files). At last, environmental context can be
ActiveBadge [Harter, 1994] and most of all, with a lot a captured through sensors and modified by actuators.
regrets, the Xerox PARC with the PARCTab System [51] Flow
Type of context
gave the bases of modern context aware applications. Hardware User Environment
#1 System and Interfaces and Sensors
In order to be aware of the context, the following network information
architecture (see Figure 5) is “classical”. An example can primitives system
#2 Resource Interfaces Actuators
be found in [46] . It can be summarized as a superposition
allocation
of layers. Each of them matches to a contextual Table 1 : Means of interaction between application and context
information acquisition process, a contextual information
management and an adaptation of the application to the However, even if it is possible to design limited
context (as defined in Figure 3). applications according to the use of contextual
information, the main interest is to be able to adapt the
Application Adaptation behavior of the applications to the context evolutions.
Particularly, the increasing use of mobile and limited
Context Management devices implies the deployment of adaptable applications.
Such approach allows having a quality of service
Contextual Information Acquisition management (functional and non-functional services as
Figure 5 : Architectural layers of context aware applications energy saving for example).
According to Figure 5, context management do imply to 3.1 Adaptable context aware applications
have dynamic applications in order to adapt them to
variations of the context and so to provide a quality of Adding adaptation to context aware applications means
service corresponding to current capabilities of the the addition of a new interaction corresponding to the
environment (application + runtime). influence that the context has on the application. That is
the property for the application to adapt itself to the
3. Context aware applications context (Figure 7).
Context aware applications are tightly coupled to mobiles
Application
devices and ubiquitous computing in the meaning of
"machines that fit the human environment, instead of Data F low #1 = consultation
Data F low #2 = modification
forcing humans to enter theirs" [1] . These applications are
3
A pp lication
Supervision
Adaptation
D ata Fl ow #1 = co nsu lta tio n
2
1
Co ntext Context
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 17
2
and system faults. In [27] , self-adaptive applications are Da ta F low #1 = consulta tion
Da ta F low #2 = modification
described as useful for pervasive applications and sensor Da ta F low #3 = a daptation
2
Platform
systems. Self-adaptive applications mean that adaptations
are managed by the applications itself. It evaluates its
2
3
behavior, configuration, and with distributed application,
Context
its deployment. The application captures the context (flow
#1) and therefore adapts its behavior (data flow #3). The Figure 9 : Adaptable Context Aware Application with platform
activity of the application modifies the context (flux #2).
This approach, represented in Figure 7, raises the essential Recent works as Rainbow use a closed-loop control based
problem of accessing to distant context information. on external models and mechanisms to monitor and adapt
Indeed, through the interactions described in Table 1 it is system behavior at run time to achieve various goals [32] ,
only possible for the application to interact with its local such solution is closed to the use of pervasive supervision.
context. In order to get or modify distant contextual In order to implement such a solution, we need a
information, the designer of the application has to set up distributed platform on all heterogeneous hosts. Such
specific services on the different sites of its application. It architecture allows to capture local context, and to propose
becomes necessary to set up many non functional local adaptations. Additionally, communication between
mechanisms that strongly increases the complexity of the local platforms gives a global vision of the context
application and are difficult to maintain up to date. permitting to have a global measure of the context and
Moreover self-adaptive solutions imply to have a planning adapted reactions.
and an evaluation part at runtime and a control loop. In Each platform has three main tasks to accomplish:
order to make the evaluation, such application needs − Capture of the context: This task is important and
components description, as well as software description, implements tools to capture information of layer
structure and various alternatives, i.e. various assembling 1 (see Figure 3).
configurations. − Context Management Service. Its role is to
Such solutions do not simplify the separations of concern, manage and evaluate information from layer 1 in
and so increase the practical viability of the application order to evaluate if adaptation is required.
and its maintainability and possible evolutions. Moreover, − Context Management Tools. It proposes a set of
with ubiquitous and heterogeneous environments, such mechanisms to adapt the application because of
generic solutions are not suitable to exploit the potential of variations of the context.
hosts [28] . That is the reasons why most systems tend to
solve these problems using platforms. The means operated to realize data flows #1 and #2 of
Figure 9 depends on the types of context (Table 2).
3.1.2 Supervised adaptation Interactions with local context use the mechanisms
described in (Table 1) whereas those with distant context
In these approaches a runtime platform interfaces the use services of the platform. The middleware of the
application and the context. It allows then access to platform offers services for context capture providing
distant context. The application only senses the context contextual information completed by time and localisation
(flow #1) by means of the middleware of the platform. parameters as described in Figure 4.
The application can modify the context and the platform
itself (flow #2). Both the application and the platform Flo Type of context
Context
adapt themselves to the context (flow #3). This kind of w Hardware User Environment
organization is shown in Figure 9. System and Interfaces Sensors Local
network
#1 primitives
Services of the Services of the Services of Distant
platform platform the platform
Resource Interfaces Actuators Local
allocation
#2
Services of the Services of the Services of Distant
platform platform the platform
Table 2 : Interactions between Application and Context with a Platform
IJCSI
18 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
imply causes
Generally, we consider a platform as a set of elements of
platform platform
virtualization (Figure 10) allowing application designers to state change state change
have a runtime environment independent of the hardware
and network infrastructures, supporting distribution and
offering non functional general services (persistence,
imply imply
security, transactions …) or services specific to a domain
Context Context
(business, medical …).
Interaction platform/Application by services Interaction platform/Application by container
Application
The interaction mode between platform and application
allows distinguishing two families (Figure 12):
conta iner
middleware - Non intrusive platforms;
he terogeneity servic es distribution - Intrusive platforms.
- service
event cause
- container
platform platform
In the first case, the changes of the state of the application change of change of
that the platform knows are those inserted into the state state
Figure 11 right). These containers can themselves offer Non intrusive platform Intrusive platform
some services to the business components or capture Figure 12 : Modes of interaction between platform and application
information about their changes of state by observing their
behavior.
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 19
3.3 Architecture of context aware adaptable Now, let’s have a look on different context aware
applications applications types that can be build according to data
flows really used. Firstly it is important to notice that for
An overall schema of the architecture of an adaptable context aware applications, data flow A is essential. In
context aware application is presented in Figure 13. order to be adaptable, at least flow C or flow D need to be
Relationship between platform and application are provided. If not, the platform is the only one able to be
materialized by four flows: adaptable. The optional data flow B represents the
possibility that the application has to configure the
A ppl icati on interaction modes corresponding to the flows A, C and D.
D ata Fl ow A = Requirements for reso urces
D ata Fl ow B = Control of th e p latform The Table 3 presents the four models of adaptation that it
A
B
C
D
and D
3
IJCSI
20 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
B B
Adaptation Application Adaptation Application
D D
A
Services
Services Platform
2
Platform
2
2
2
1
Context capture
1
Capture of context
Context
Context
Platform
Services For the adaptation it means:
2
2
Context capture
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 21
Plan changes
components uses the generic framework called Korrontea.
This framework is a first class component connector able
to implement various communications policies.
New
Adaptation Evaluate and
deployment management monitor
observations 4.1 Kalimucho architecture
A C D
A
A C D A C D
D
D
architecture of the Kalimucho platform is the following: Communication
between platforms
Osag ai a Components Platform Platform
site #1 site #2
Host 1 Host 3
(Osagaia) and flow containers (Korrontea). Depending on
the host running the component, it will capture users,
Data Fl ows between Components (Korrontea connectors)
Intra-platform communicatio ns Kalimucho platform environment, hardware, temporal or geographic
Osagaia Components information (see layer 1 - Figure 3). The second layer
Figure 19: Kalimucho’s General Architecture (context management services) is done by implementing
an heuristic in order to evaluate the current Quality of
It is based on a distributed service based platform
Service (QoS) and to propose adaptations if needed and if
implementing non-functional services for adaptations
possible. The last layer (context management tools) gives
(layer 2 – Figure 3). The functional part is implemented
solutions to provide adaptations
with software and hardware components running into the
(add/remove/move/connect/disconnect components).
generic Osagaia container. Communication between
IJCSI
22 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
The platform is distributed on every machine on which connections. The control unit manages the life cycle of the
components of the application are deployed (desktops, business component and the interactions with the runtime
mobile devices and sensors). The different parts of the platform. Thus, the platform supervises the containers and,
platform communicate through the network. indirectly, the business components (a full description of
Communications between BCs (local or distant) are the Osagaia software component model is available in [31]
achieved by data flows encapsulated into Korrontea ). Thanks to this container, business components read and
containers. write data flows managed by Connectors called Korrontea
Various versions of the platform are implemented on the (see Figure 22). Its main role is to connect software
different hosts according to their physical capacities. On a components of the applications. The Korrontea container
desktop all the parts of the platform are implemented receives data flows produced by components and
whereas, on a mobile device, and particularly on a transports them. It is made up of two parts. The control
wireless sensor, light versions are proposed (one for CDC unit implements interactions between the Korrontea
and one for CLDC compliant hosts). Consequently, only container and the platform while an exchange unit
non avoidable services for the host are deployed (for manages the input/output connections with components.
example a service for persistence is useless on a sensor). The container is the distributed entity of our model, i.e. it
In the same way, the adaptation manager implemented on can transfer data flows between different sites of
a mobile device can be lightened using internal services of distributed applications. The flow management is done
one of the neighbouring platform (for example, only local according to the business part of the connector
routing information is available on a limited device). If the implementing both the communication mode (client/server
platform of this device needs to find others routes in order for example) and the communication politic (with or
to set up a new connection, it has to use services of the without synchronization, loss of data, etc.). A full
platforms implemented on neighbouring desktops. description of the Korrontea component model is available
in [28] ).
4.2 Osagaia Software Component Model Korrontea
GetSlice ProvideSlice
Input Output
Unit Unit
Osagaia Acces sPort Client/Serv er Acces sPort
Pro cess
Access Port R eadF low WriteF low
Input Business Output
Component D
Unit Unit
Acces sPort Acc essPort Control
...
Unit
C, D
Acc essPort W riteFlow
A A
Control A D
Interactions with the Platform
A
A
Unit
C D
{
{
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 23
The system composed of the platform and the application [9] J. P. Sousa and D. Garlan. Aura: An architectural
make up a reflexive context aware system. framework for user mobility in ubiquitous computing
The problem of such an approach is its inherent environments. In WICSA 3: Proceedings of the IFIP 17th
complexity. Context aware platforms become more and World Computer Congress - TC2 Stream / 3rd IEEE/IFIP
Conference on Software Architecture, pages 29–43,
more complex in order to manage a context more and Deventer, The Netherlands, The Netherlands, 2002.
more variable and evanescent. So, depending on the Kluwer, B.V.
targeted application, it could be much more interesting to [10] P. Bellavista, A. Corradi, R. Montanari, and C. Stefanelli.
provide various lighter, specialized and reflexive Context-aware middleware for resource management in the
platforms providing a view of their state. Moreover, such wireless internet. IEEE Transactions on Software
platforms are able to be heaped with other light, Engineering, 29(12):1086–1099, 2003.
specialized and reflexive ones. [11] H. A. Duran-Limon, G. S. Blair, A. Friday, P. Grace, G.
The influence of the environment on the system behavior Samartzisdis, T. Sivahraran, and M. WU. Contextaware
leads to strongly couple the execution platform and the middleware for pervasive and ad hoc environments, 2000.
[12] C.-F. Sørensen, M. Wu, T. Sivaharan, G. S. Blair, P.
application[38] . So design methods for applications and
Okanda, A. Friday, and H. Duran-Limon. A context-aware
platforms must also be coupled to constitute a sole design middleware for applications in mobile ad hoc
method. environments. In MPAC ’04: Proc. of the 2nd workshop on
Instead of making a whole design step, we propose a life- Middleware for pervasive and ad-hoc computing, pages
cycle including both application and platform (which is 107–110, New York, NY, USA, 2004. ACM Press.
also an application – this is recursive) to finish with [13] L. Capra. Mobile computing middleware for context aware
implementation tools (platform specific, component and applications. In ICSE ’02: Proceedings of the 24th
connector models and specific implementations). Such International Conference on Software Engineering, pages
approach let us imagine wide development with automatic 723–724, New York, NY, USA, 2002. ACM Press.
[14] L. Capra, W. Emmerich, and C. Mascolo. Reflective
code generation.
middleware solutions for context-aware applications.
Lecture Notes in Computer Science, 2192:126–133, 2001.
6. Bibliography [15] L. Capra, W. Emmerich, and C. Mascolo. Carisma:
[1] Weiser, M. (1991) ‘The computer for the 21st century’, context-aware reflective middleware system for mobile
Scientific American, pp.94–104. applications. IEEE Transactions on Software Engineering,
[2] C. Efstratiou, K. Cheverst, N. Davies, A. Friday : "An 29(10):929 – 45, 2003/10/.
Architecture for the Effective Support of Adaptive [16] J. Barton and T. Kindberg. The Cooltown user experience.
Context-Aware Applications". In Proc. of the Second Int’l Technical report, Hewlett Packard, February 2001.
Conference on Mobile Data Management (MDM 2001). [17] P. Debaty, P. Goddi, and A. Vorbau. Integrating the
[3] P. Oreizy, M. M. Gorlick, R. N. Taylor, D. Heimbigner, G. physical world with the web to enable context-enhanced
Johnson, N. Medvidivic, A. Quilici, D. S. Rosenblum, A. services. Technical report, Hewlett-Packard, Sept. 2003.
L. Wolf : "An architecture-based approach to self- [18] M. Roman, C. Hess, R. Cerqueira, A. Ranganathan, R.
adaptative software". IEEE Intelligent Systems, vol 14 n°3, Campbell, and K. Nahrstedt. A middleware infrastructure
pp : 54-62. Mai/Juin 1999. for active spaces. IEEE Pervasive Computing, 1(4):74 –
[4] P. Maes : "Concepts and experiments in computational 83, 2002/10/.
reflection". In proceedings of the conference on object- [19] M. Román, C. K. Hess, R. Cerqueira, A. Ranganathan, R.
oriented systems, languages and applications H. Campbell, and K. Nahrstedt. Gaia: A Middleware
(OOPSLA'87), pp : 147-155. Orlando, Florida 1987. Infrastructure to Enable Active Spaces. IEEE Pervasive
[5] S. Krakowiak : "Introduction à l'intergiciel", Intergiciel et Computing, pages 74–83, Oct–Dec 2002.
construction d'application réparties (ICAR), pp : 1-21, 19 [20] A. Ranganathan, J. Al-Muhtadi, S. Chetan, R. H.
Janv 2007, Licence Creative Commons Campbell, and M. D. Mickunas. Middlewhere: A
[6] D. Garlan, D. Siewiorek, A. Smailagic, and P. Steenkiste. middleware for location awareness in ubiquitous
Project Aura: Toward Distraction-Free Pervasive computing applications. In H.-A. Jacobsen, editor,
Computing. IEEE Pervasive computing, 1(2):22–31, April– Middleware, volume 3231 of Lecture Notes in Computer
June 2002. Science, pages 397–416. Springer, 2004.
[7] U. Hengartner and P. Steenkiste. Protecting access to [21] T. Gu, H. K. Pung, and D. Q. Zhang. A middleware for
people location information. In D. Hutter, G. Müller, W. building context-aware mobile services. In Proceedings of
Stephan, and M. Ullmann, editors, SPC, volume 2802 of IEEE Vehicular Technology Conference, May 2004.
LNCS, pages 25–38. Springer, 2003. [22] A. Chan and S.-N. Chuang. Mobipads: a reflective
[8] G. Judd and P. Steenkiste. Providing contextual middleware for context-aware mobile computing. IEEE
information to pervasive computing applications. In Transactions on Software Engineering, 29(12):1072 – 85,
PERCOM ’03: Proceedings of the First IEEE International 2003/12.
Conference on Pervasive Computing and Communications, [23] Kristian Ellebæk Kjær. A survey of context-aware
page 133,Washington, DC, USA, 2003. IEEE Computer middleware. In Proceedings of the 25th conference on
Society.
IJCSI
24 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
IASTED International Multi-Conference: Software [38] T.A. Henzinger and J. Sifakis. The Embedded Systems
Engineering Innsbruck, Austria ,Pages 148-155, 2007 Design Challenge Invited Paper, FM 2006, pp. 1-15.
[24] Dhouha Ayed, Nabiha Belhanafi, Chantal Taconet, Guy [39] Indulska, J. and Sutton, P. (2003) ‘Location management in
Bernard. Deployment of Component-based Applications on pervasive systems’, CRPITS’03: Proceedings of the
Top of a Context-aware Middleware. - The IASTED Australasian Information Security Workshop, pp.143–151.
International Conference on Software Engineering (SE [40] A. Ranganathan, J. Al-Muhtadi, S. Chetan, R. H.
2005) - Innsbruck, Austria - February 15-17, 2005. Campbell, and M. D. Mickunas. Middlewhere: A
http://picolibre.int-evry.fr/projects/cadecomp middleware for location awareness in ubiquitous
[25] MADAM Consortium. MADAM middleware platform computing applications. Vol. 3231 of LNCS, pages 397–
core and middleware services. Editor Alessandro Mamelli 416. Springer, 2004.
(Hewlett-Packard), deliverable D4.2, 30 March 2007. [41] Sophie Laplace, Marc Dalmau, Philippe Roose - Kalinahia:
hppt://www.intermedia.uio.no/confluence/madam/Home Considering quality of service to design and execute
[26] C. Louberry, M. Dalmau, P. Roose – Architectures distributed multimedia applications - NOMS 2008 -
Logicielles pour des Applications Hétérogènes Distribuées IEEE/IFIP Int'l Conference on Network Management and
et Reconfigurables – NOTERE’08 - 23-27/06/2008, Lyon. Management Symposium - 7-11/04/2008 Salvador de
[27] Robert Laddaga, Paul Robertson, Self Adaptive Software: Bahia, Brazil, 2008.
A Position Paper, SELF-STAR: International Workshop on [42] Bill Schilit, Marvin Theimer - Disseminating Active Map
Self-* Properties in Complex Information Systems, 31 May Information to Mobile Hosts - IEEE Network, September,
- 2 June 2004 1994
[28] Holger Schmidt, Franz J. Hauck: SAMProc: Middleware [43] Jason Pascoe , Nick Ryan, David - Using while
for Self-adaptive Mobile Processes in Heterogeneous moving: HCI issues in fieldwork environments –ACM
Ubiquitous Environments. 4th Middleware Doctoral Transactions on Computer-Human Interaction (TOCHI)
Symposium - MDS, co-located at the ACM/IFIP/USENIX Vol. 7 , Issue 3 (09/2000) - Special issue on human-
8th International Middleware Conference (Newport Beach, computer interaction with mobile systems - 2000
CA, USA, November 26, 2007). [44] K.E. Kjær - A Survey of Context-Aware Middleware -
[29] Baresi, L.; Baumgarten, M.; Mulvenna, M.; Nugent, C.; Software Engineering - SE 2007 - Innsbruck, Austria,
Curran, K.; Deussen, P.H. 2007.
- Towards Pervasive Supervision for Autonomic Systems - [45] Frédérique Laforest - De l’adaptation à la prise en compte
Distributed Intelligent Systems: Collective Intelligence and du contexte – Une contribution aux systèmes d’information
Its Applications, 2006. DIS 2006. IEEE Workshop on pervasifs – Habilitation à Diriger les Recherches,
Volume, Issue, 15-16 June 2006 Page(s):365 – 370. Université Claude Barnard, Lyon I, 2008.
[30] Emmanuel bouix, Philippe Roose, Marc Dalmau - The [46] Daniel Cheung-Foo-Wo, Jean-Yves Tigli, Stéphane
Korrontea Data Modeling - Ambi Sys 2008 - International Lavirotte, Michel Riveill. “Contextual Adaptation for
Conference on Ambient Media and Systems - 11/14 Ubiquitous Computing Systems using Components and
february, Quebec City, Canada, 2008. Aspect of Assembly” in Proc. of the Applied Computing
[31] E. Bouix, M. Dalmau, P. Roose, F. Luthon. A Component - (IADIS), IADIS, Salamanca, Spain, 18-20 feb 2007
Model for transmission and processing of Synchronized [47] Guanling Chen, David Kotz - A Survey of Context-Aware
Multimedia Data Flows. In Proceedings of the 1st IEEE Mobile Computing Research - Dartmouth College
International Conference on Distributed Frameworks for Technical Report TR2000-381, November 2000.
Multimedia Applications (France, February 6-9 2005). [48] H. Lieberman and T. Selker - Out of context: Computer
[32] D. Garlan, J. Kramer, and A. Wolf, editors. Proceedings of systems that adapt to, and learn from, context – IBM
the First ACM SIGSOFT Workshop on Self-Healing System Journal - Volume 39, Numbers 3 & 4, MIT Media
Systems (WOSS ’02). ACM Press, 2002. Laboratory 2000.
[33] [Roman, 2000] Roman G.C., Picco, G.P. Murphy A.L. – [49] Pierre-Charles David, Thomas Ledoux - WildCAT: a
Software Engineering for mobility : a roadmap – ICSE generic framework for context-aware applications,
2000 – ACM Press, New York, USA, p. 241-258 – 2000. Proceedings of the 3rd international workshop on
[34] A.K. Dey G.D. Abowd – Towards a better understanding Middleware for pervasive and ad-hoc computing, ACM
of context and context-awareness – CHI 2000 - Workshop International Conference Proceeding Series; Vol. 115
on the What, Who, Where, When and How of Context- [50] A. Harter, A. Hopper – A distributed location system for
Awareness, The Hague, Netherlands, April 2000. the active office. IEEE Networks, 8(1):6270, 1994.
[35] Dey, A.K. and Abowd, G.D. ‘A conceptual framework and [51] Want, R. Schilit, B.N. Adams, N.I. Gold, R. Petersen,
a toolkit for supporting rapid prototyping of context-aware K. Goldberg, D. Ellis, J.R. Weiser, M. - An overview
applications’, HCI Journal, Vol. 16, Nos. 2–4, pp.7–166. of the PARCTab ubiquitous computing environment. IEEE
[36] T. Chaari, F. Laforest - L’adaptation dans les systèmes Personal Communications, 2(6): 2833, 1995.
d’information sensibles au contexte d’utilisation: approche
et modèles. Conférence Génie Electrique et Informatique Marc Dalmau is an IEEE member and Assistant Professor in the
(GEI), Sousse, Tunisie, mars 2005. pp. 56-61. department of Computer Science at the University of Pau, France.
[37] Matthias Baldauf, Schahram Dustdar, Florian Rosemberg - He is a member of the TCAP project. His research interests
A survey on context-aware systems – Int’l journal on Ad include wireless sensors, software architectures for distributed
multimedia applications, software components, quality of service,
Hoc and Ubiquitous Computing, Vol.2, N°4, 2007.
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 25
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 26
ISSN (Online): 1694-0784
ISSN (Printed): 1694-0814
The techniques traditionally used in the inspection of - Ease of Use. The network must be able to configure
structures are very basic, mostly centered on having an itself, without human intervention, reducing
operator watching out for damages present in the materials maintenance costs.
(fissures in the concrete, metal corrosion...). Sometimes, - Fault tolerance. In case one of the intermediate nodes
the structure is hidden or is difficult to reach. Additionally, fail, the network would look for alternative roots, so
access to the structure can be dangerous, as is the case as not to leave any node isolated.
with bridges. All these problems complicate the - Scalability. The network should be as extensible as
examination process. Therefore, it is necessary to have possible, to place the sensor nodes located in areas
alternative means of detecting pathologies [1, 2, 3]. potentially far away from the building.
- Low consumption. Sometimes it will be difficult or
impossible to feed the nodes directly from the electric
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 27
network, so it is necessary to equip them with a sensors are, because gauges are attached or embedded
battery they will have to take full advantage of. within the structure. Another kind of sensor to take into
- Flexibility. The frequency with which samples are account is temperature catheters, which allows concrete
taken will change with time, which means that monitoring in its first stages after the building
periodicity must be an independently configurable construction has been completed.
parameter in every single node. In addition,
modification of the periodicity must be possible at any ZigBee is a specification for a suite of high level
moment, even when the node is sleeping. communication protocols using small, low-power digital
radios based on the IEEE 802.15.4 standard for wireless
The system presented in this article is made of a series of personal area networks (WPANs). In turn, IEEE 802.15.4
sensor nodes specialized in the detection of pathologies, specifies the physical layer and media access control for
distributed along the structure of a building. These nodes low-rate wireless personal area networks (LR-WPANs)
communicate wirelessly through a ZigBee mesh network, [12].
which makes expanding the network easier, as there is no
default structure. Moreover, management becomes easier, The purpose of ZigBee is to provide advanced mesh
too. One of these nodes, formally called coordinator, is in networking functions not covered by IEEE 802.15.4.
charge of gathering and storing the samples sent by sensor ZigBee operates in the industrial, scientific and medical
nodes at a configurable periodicity, for their use in (ISM) radio bands; 868 MHz in Europe, 915 MHz in the
subsequent studies. Sensor nodes, in turn, are fed by a USA and Australia, and 2.4 GHz in most jurisdictions
battery, and can thus operate autonomously, but at the cost worldwide [4]. This technology is intended to be simpler,
of using a power saving design. cheaper and to have lower power consumption than other
WPANs such as Bluetooth.
The article structure is as follows: The second section
describes the problem and the technical solution adopted. In a ZigBee network there are three different types of
The third section presents the logical design of the system, nodes:
showing its different parts and explaining how they
operate. The fourth section deals with implementation, - ZigBee Coordinator: The coordinator forms the
including commented photos of the prototype built. The root of the network tree and might bridge to other
fifth section shows the test results performed. Finally, the networks.
sixth section is dedicated to the conclusions. - ZigBee End Device: Contains just enough
functionality to talk to the parent node (either the
coordinator or a router), and it cannot relay data
2. Problem Statement and Technology from other devices. This relationship allows the
node to be asleep a significant amount of the time
thereby giving long battery life.
The choice of sensors depends on the physical - ZigBee Router: Acts as an intermediate router,
phenomenon to be measured. In this case, the most passing on data from other devices. Moreover, it
suitable sensors to perform pathology detection are strain might support the same functions as a ZigBee End
gauges [8], potentiometric displacement sensors and Device.
temperature catheters [9, 10].
Nowadays, ZigBee-based devices are easy to find, as
Strain gauges are used to measure the deformation level of many semiconductor and integrated circuit manufacturers
materials such as concrete and steel. Its operation is based have opted for this new technology:
on the piezoresistive effect, which means that its internal
resistance changes when is deformed by an external force. - Digi International, leader in Connectware
As the voltage variations obtained are very small (less solutions, offers development kits for its module
than 1 mV), it is necessary to add extra circuitry to XBee® & XBee-PRO® ZB RF [13].
condition the signal prior to reading its value: - Rabbit, an 8-bit microcontroller specialized
Amplification, noise filtering, etc. [11] Heating the gauge company, has developed the arquitecture iDigi™
several minutes before sampling is another important BL4S100, which consists of a XBee-PRO® ZB
restriction. On the other hand, potentiometric module with a Rabbit® 4000 microcontroller,
displacement sensors are used to measure the movement capable of acting as an intelligent controller or
suffered by the structure with respect to its anchors. An ZigBee-Ethernet gateway [14].
important difference between the two sensors mentioned - Ember, a monitoring and wireless sensor network
is that whilst strain gauges are not reusable, displacement provider offers the InSight Development Kit [15],
IJCSI
28 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
which includes everything needed to create protocol is important to ensure that samples are collected
embedded applications in their radios properly.
EM250/EM260.
- Crossbow, one of the leading wireless sensor 3.2 Communications Model
manufacturers, features several development kits
that provide complete solutions in the
development of such networks, including the
Professional Kit [16].
- Sun Microsystems offers their Java-based Sun
SPOT [17], formed by a processor, battery and a
set of sensors.
3. Design
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 29
The protocol requires processing capacity both in the Sleep. Whenever a remote command is received, the
Coordinator and the End Device, as illustrated in the next message type is checked and the appropriate action is
subsection. executed. The protocol ends when the Coordinator sends a
Coordinator Flow Chart (Figure 3): The Coordinator Sleep End Device Request.
waits for the message “I am awake”, which is sent by one
of the End Devices who owns the periodicity control.
When this message arrives, the Coordinator asks the End
Device to heat its strain gauge. After a while, the
Coordinator asks the End Device to send one sample,
which is stored in the Coordinator’s database whenever it
is received. Finally, the Coordinator puts the End Device
to sleep.
- Coordinator Model
- Router Model
- End Device Model
Fig. 3 Coordinator Flow Chart - User Interface. Some of the operations performed on
the system require user interaction, hence the need for
End Device Flow Chart (Figure 4): The End Device has an entry data interface.
its own internal timer to know when to wake up, according - XBee-API Communications Library. It is an object
to the sampling frequency settings. When it is time to model library specially designed to talk to XBee ZB
wake up, the End Device notifies the Coordinator with the modules in API mode.
message “I am awake”, and enters an idle state, waiting for - Database. It is used to store samples persistently, so
remote request commands coming from the Coordinator. that they can be analyzed or queried later.
According to the example being shown, there are three - Coordinator Controller. Here lies the Coordinator
possible commands: Heat Gauge, Sample Gauge and core, where the protocol operations are performed.
IJCSI
30 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 31
memory.
- XBee Shield configuration is slightly different
from the others. First, an extra connection is
needed to awake the microcontroller from XBee
[29]. Second, the XBee connection must be
selected (mind the USB connection was the one
selected previously) [28].
- XBee® ZB RF Module. End Device firmware must
be set up [24].
- Data Acquisition Board. It is the special circuitry
shown in Figure 9, which is equipped with several
signal conditioning components (Analog to Digital
Converters or ADCs, among others) used to
Fig. 6 Coordinator components connect strain gauges, potentiometric displacement
sensors, temperature catheters and so on.
Communication between the End Device and the
4.3 Router Hardware Implementation Data Acquisition Board is performed through a
Serial Port Connection, using a specific set of
In this case, the component list remains almost the same. commands.
Therefore, only different and new components are
highlighted:
IJCSI
32 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
there are no more Serial Connectors available in the XBee End Devices support cyclic sleep, allowing the
Arduino Board (apart from the one establishing the module to wake periodically to check for RF data and
communication with the ZigBee Network), two virtual sleep when idle. Since the changes in the sampling
Serial Port Connectors were created, using a special frequency must be immediate (or almost immediate),
circuitry (shown in Figure 10) and an Arduino Library checking incoming messages is performed every 28
called SoftwareSerial [30]. One of those ports establishes seconds. However, XBee does not impose any restriction
the communication, and the other one enables the log about this [20].
output, which is helpful when performing debugging tasks.
As the sample frequency rarely changes, XBee will not
receive any data most of the times. In consequence, there
is no need to wake the external circuitry whenever XBee
awakes, so it makes sense to difference between XBee and
external circuitry frequencies, and ,
respectively. Equation 1 shows the relation between both
variables:
(1)
5. Testing
4.5 End Device Cyclic Sleep This test has consisted in detecting the mean RSSI
(Received Signal Strength Indication) value, obtained
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 33
from the reception of 100 messages. Each measure is regardless of whether the microcontroller and XBee are
averaged from 5 repetitions of the same experiment, to sleeping or not [34]. As a result, the authors are
counteract the signal fluctuations caused by indoor fading developing their own customized Arduino board where
[32]. Both modules have transmitted with a power of 3 this problem is solved. On the other hand, it is important
dBm and boost mode enabled [20]. Also, the ZigBee to highlight the fact that data sending causes a
nodes have been configured to automatically select the consumption peak, which, however high, lasts a very
channel having the least interference with other nearby short time. The last measure, that corresponding to
networks [33]. The obtained results are shown in Tables 1 consumption when the node is awake and active, has been
and 2. estimated considering transmit and every circuit
component consumption.
IJCSI
34 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
a USB port, as shown in Figure 15. The Coordinator and installation flexibility. Its functional parts were fully
Software is running on this computer, allowing the user to discussed with diagrams, including the protocol
set the sample collecting frequency, or even store the specifically designed to collect samples from sensor nodes
samples in a file. and several photos of the prototype built.
Acknowledgments
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 35
[15]Ember Insight Development Kit: 1998. He obtained two grants to stay at Ohio State University as a
http://www.ember.com/products_zigbee_development_tools_ research visitor, in 1996 and 1998. In 2000 he was appointed
kits.html Associate Professor, and more recently, in 2009, Government
Vice-Dean in the Computer Engineering Faculty at Coruña
[16]Crossbow WSN Professional Kit:
University. His research interests are Signal Processing, Digital
http://www.xbow.com/Products/productdetails.aspx?sid=231 Communications, Wireless Sensor Networks and Location
[17]Sun Spot Development Kit: http://www.sunspotworld.com/ Systems. He has published several technical papers in journals
[18]Libelium SquidBee. Open Mote for Wireless Sensor and congresses, and supervised one PhD Thesis.
Networks: http://ww.squidbee.org/
[19]Arduino Duemilanove Board, Open-Source Electronics
Prototyping Platform:
http://www.arduino.cc/en/Main/ArduinoBoardDuemilanove
[20]Xbee®/XBee-Pro® ZB OEM RF Modules Manual, ver.
4/14/2008:
http://ftp1.digi.com/support/documentation/90000976_a.pdf
[21]National Semiconductor LM35 (Precision Centigrade
Temperature Sensor):
http://www.national.com/mpf/LM/LM35.html
[22]808H5V5 Humidity Transmitter:
http://www.sensorelement.com/humidity/808H5V5.pdf
[23]Libelium: http://www.libelium.com/
[24]Digi International, “Upgrading RF Modem modules to the
latest firmware using X-CTU”:
http://www.digi.com/support/kbase/kbaseresultdetl.jsp?id=21
03
[25]Atmel ATmega168 Manual Datasheet:
http://www.atmel.com/dyn/resources/prod_documents/doc25
45.pdf
[26]Java API for Communicating with XBee® & XBee-Pro® RF
Modules: http://code.google.com/p/xbee-api/
[27]Hirose Electronic Group, “Ultra Small Surface Mount
Coaxial Connectors”:
http://www.hirose.co.jp/cataloge_hp/e32119372.pdf
[28]Libelium, “How to Create a Gateway Node”:
http://www.libelium.com/squidbee/index.php?title=How_to_
create_a_gateway_node
[29]Wireless Sensor Network Research Group, “How to Save
Energy in the WSN: Sleeping the motes”: http://www.sensor-
networks.org/index.php?page=0820520514
[30]Arduino – SoftwareSerial Library:
http://arduino.cc/en/Reference/SoftwareSerial
[31]Analog Devices, 5V Powered CMOS RS-232
Drivers/Receivers: http://www.analog.com/static/imported-
files/data_sheets/ADM231L_232L_233L_234L_236L_237L
_238L_239L_241L.pdf
[32]A. Goldsmith, Wireless Communications, Cambridge
University Press, 2005.
[33]K. Shuaib et al., “Co-Existence of ZigBee and WLAN. A
Performance Study”. Wireless and Optical
Communications Conference, 2007.
[34]Arduino Community Page. “Arduino Sleep Code”:
http://www.arduino.cc/playground/Learning/ArduinoSleepCo
de
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 36
ISSN (Online): 1694-0784
ISSN (Printed): 1694-0814
Abstract
Reading documents on mobile devices is challenging. Not only
are screens small and difficult to read, but also navigating an
environment using limited visual attention can be difficult and
potentially dangerous. Reading content aloud using text-to-
speech (TTS) processing can mitigate these problems, but only
for content that does not include rich visual information. In this
paper, we introduce a new technique, SeeReader, that combines
TTS with automatic content recognition and document
presentation control that allows users to listen to documents
while also being notified of important visual content. Together,
these services allow users to read rich documents on mobile
devices while maintaining awareness of their visual environment.
Key words: Document reading, mobile, audio.
1. Introduction
Reading documents on-the-go can be difficult. As
previous studies have shown, mobile users have limited
stretches of attention during which they can devote their
full attention to their device [8]. Furthermore, studies have
shown that listening to documents can improve users'
ability to navigate real world obstacles [11]. However,
while solutions exist for unstructured text, these
approaches do not support the figures, pictures, tables,
callouts, footnotes, etc., that might appear in rich
documents.
Figure 1: SeeReader automatically indicates areas of visual interest
SeeReader is the first mobile document reader to support while reading document text aloud. The visual display shows the
rich documents by combining the affordances of visual current reading position (left) before it encounters a link (right).
document reading with auditory speech playback and When viewing the whole page, SeeReader indicates the link (top).
When viewing the text, SeeReader automatically pans to the linked
eyes-free navigation. Traditional eReaders have been region (bottom). In both views, as the link is encountered, the
either purely visual or purely auditory, with the auditory application signals the user by vibrating the device.
readers reading back unstructured text. SeeReader
supports eyes-free structured document browsing and
reading as well as automatic panning to and notification of Furthermore, SeeReader can be applied to an array of
crucial visual components. For example, while reading the document types, including digital documents, scanned
text “as shown in Figure 2” aloud to the user the visual documents, and web pages. In addition to using references
display automatically frames Figure 2 in the document. in the text to automatically pan and zoom to areas of a
While this is most useful for document figures, any textual page, SeeReader can provide other services automatically,
reference can be used to change the visual display, such as following links in web pages or initiating
including footnotes, references to other sections, etc. embedded macros. The technology can also interleave
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 37
useful information into the audio stream. For example, for channel to free visual attention to the primary task. Along
Figure 2: Data flow for digital documents (left) and scanned documents (right).
scanned documents the technology can indicate in the these lines, the Amazon KindleTM includes a TTS feature.
audio stream (with a short blip or explanation) when However, the Kindle's provides no visual feedback while
recognition errors would likely make text-to-speech (TTS) reading a document aloud. Similarly, the knfbReaderTM
translation unusable. These indications can be presented in converts words in a printed document to speech
advance to allow users to avoid listening to garbled speech. (http://www.knfbreader.com/). However, as this application was
designed primarily for blind users, its use of the mobile
In the remainder of this paper, we briefly review other device's visual display is limited to an indication only of
mobile document reading technologies, describe the text currently being read. Other mobile screen readers,
SeeReader including server processes and the mobile such as Mobile Speak (http://www.codefactory.es/), can be
interface, and describe a study we ran to verify the configured to announce when they have reached a figure,
usefulness of our approach. however as they do not link to textual references they are
therefore likely to interrupt the reading flow of text.
Similarly, with Click-Through Navigation [3] users can
2. Mobile Document Reading click on figure references in body text to open a window
displaying the figure.
The linear, continuous reading of single documents
by people on their own is an unrealistic SeeReader improves on these techniques by making
characterization of how people read in the course figures (and other document elements) visible on the
of their daily work. [1] screen automatically when references to them are read.
Our goal, on the other hand, is to support casual reading In the next step the body text is digitized. This is
tasks for users who are engaged in another activity. A obviously automatic for electronic documents, while for
straightforward approach for this case is to use the audio scanned documents we use Microsoft OfficeTM OCR. Next,
IJCSI
38 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 39
5. Evaluation
We ran a within subjects, dual-task study as a preliminary
evaluation of the core features of the SeeReader interface.
Participants completed two reading tasks while also doing
a physical navigation task. Common dual-task approaches
Figure 4: Study participants read documents while peripherally
to evaluating mobile applications involve participants monitoring an interface, moving their body either to avoid barriers
walking on treadmills or along taped paths while TM
(red) or to acquire targets (green). A Wiimote tracked an IR
completing a task on the mobile device. These approaches LED attached to a hat to determine their location.
are designed to simulate the bodily motion of walking [2].
However, they do not simulate the dynamism of a real-
world environment. We developed a different approach Finally, at the end of the study we asked participants the
for this study that focuses on collision avoidance rather following questions (with responses recorded on a 7-point
than walking per se. scale, where 1 mapped to agreement and 7 mapped to
disagreement): “I found it easier to use the audio version
In this configuration, participants move laterally either to than the non-audio version”; “I was comfortable using the
hit targets (such as doorways or stairs) or avoid obstacles touchwheel”; “It felt natural to listen to this document”;
(such as telephone poles or crowds). We simulated the “The vibration notifications were a sufficient indication of
targets and obstacles on a large display visible in the links in the document”. We ran a total of 8 participants (6
participant's periphery as they used the mobile device (see male and 2 female) with an average age of 38 (SD 6.02).
Figure 4). To sense lateral motion, a WiimoteTM mounted Furthermore, only 2 of the 8 participants reported having
on the top of the display tracked an IR LED attached to a extensive experience with gaming and mobile interfaces.
hat worn by each participant. We also included an
override feature to allow a researcher to manually set the 6. Results
participant's location with a mouse in the event that the
sensor failed. In addition to simulating a more dynamic Overall, we found that participants using SeeReader were
situation, this approach has the advantage of being easily able to avoid more barriers and hit more targets while
repeatable and producing straightforward measures of sacrificing neither completion time nor comprehension of
success for the peripheral task (task completion time and the reading material. Using SeeReader participants hit
the number of barriers and targets hit). 76% (12% RSD) of the targets and avoided all but 10%
(5% RSD) of the barriers, while using the non-audio
In order to understand the benefits of eyes-free document reader participants hit 63% (11% RSD) of the targets and
reading, we compared the touchscreen SeeReader 17% (5% RSD) of the barriers. Meanwhile, average
interface against a modified version of the touchscreen completion time across all tasks was virtually identical —
SeeReader interface with audio and vibration notifications 261 seconds (70 SD) for SeeReader and 260 seconds (70
removed (similar to a standard document reader). At the SD) for the non-audio version. Also, comprehension
beginning of the experiment, we asked participants to scores were similar. Using SeeReader, participants
open and freely navigate a test document using both answered on average 1.13 (.64 SD) questions correctly,
interfaces. After 10 minutes of use, we then had versus 1 (.87 SD) using the non-audio version.
participants begin the main tasks on a different document.
We used a 2x2 design, having the participants complete In the post-study questionnaire, participants reported that
two reading tasks, one on each interface, in randomized they found SeeReader easier to use (avg. 2.75, 1.58 SD),
order. At the end of each task we asked participants two and felt it was natural to listen to the document (avg. 3.00,
simple, multiple-choice comprehension and recall 1.31 SD). However, participants were mixed on the use of
questions. the touchwheel (avg. 4.38, 1.85 SD) and the vibration
notifications (avg. 4.13, 1.89 SD).
IJCSI
40 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 41
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 42
ISSN (Online): 1694-0784
ISSN (Printed): 1694-0814
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 43
extracted features were then fed to the Neuro-Genetic artifacts that results from the framing process [30, 31, 32].
hybrid techniques for learning and classification. The hamming window can be defined as follows [33]:
⎧⎪ 2Πn N −1 N −1
0.54 − 0.46 cos , −( )≤n≤( ) (3)
w(n) = ⎨ N 2 2
⎪⎩ 0, Otherwise
H ( Z ) = 1 − α .z −1
, 0 ≤ α ≤ 1 (2)
IJCSI
44 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
Generate fitness values F i j for each C i j € Pi using the There are some critical parameters in Neuro-Genetic
algorithm FITGEN(); hybrid system (such as in BPN, gain term, speed factor,
While the current population Pi has not converged number of hidden layer nodes and in GA, crossover rate
{ and the number of generation) that affect the performance
of the proposed system. A trade off is made to explore the
Using the cross over mechanism reproduced offspring optimal values of the above parameters and experiments
from the parent chromosome and performs mutation on are performed using those parameters. The optimal values
offspring; of the above parameters are chosen carefully and finally
find out the identification rate.
iÅ i+1;
6.1.1 Experiment on the Gain Term, η
Call the current population Pi ;
In BPN, during the training session when the gain term
was set as: η 1 = η 2 = 0.4, spread factor was set as k1 = k2
Calculate fitness values F j for each C j € P using the
i i i
algorithm FITGEN(); = 0.20 and tolerable error rate was fixed to 0.001[%] then
} the highest identification rate of 91[%] has been achieved
Extract weight from Pi to be used by the BPN; which is shown in Fig.3.
}
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 45
In the learning phase of BPN, We have chosen the hidden Different values of the number of generations have been
layer nodes in the range from 5 to 40. We set η 1 = η 2 = tested for achieving the optimum number of generations.
0.4, k1 = k2 = 0.15 and tolerable error rate was fixed to The test results are shown in the Fig.7. The maximum
0.001[%]. The highest recognition rate of 94[%] has been identification rate of 95[%] has been found at the number
achieved at NH = 30 which is shown in Fig.5. of generations 15.
IJCSI
46 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
speech [7] Lockwood, P., Boudy, J., and Blanchet, M., “Non-linear
utterances spectral subtraction (NSS) and hidden Markov models for
robust speech recognition in car noise environments”, IEEE
Table 1 shows the overall average speaker identification International Conference on Acoustics, Speech, and
rate for VALID speech corpus. From the table it is easy to Signal Processing (ICASSP), 1992, Vol. 1, pp. 265-268.
[8] Matsui, T., and Furui, S., “Comparison of text-independent
compare the performance among MFCC, ∆MFCC, speaker recognition methods using VQ-distortion and
∆∆MFCC, RCC and LPCC methods for Neuro-Genetic discrete/ continuous HMMs”, IEEE Transactions on
hybrid algorithm based text-dependent speaker Speech Audio Process, No. 2, 1994, pp. 456-459.
identification system. It has been shown that in clean [9] Reynolds, D.A., “Experimental evaluation of features for
speech environment the performance is 100.00 [%] for robust speaker identification”, IEEE Transactions on SAP,
MFCC, ∆MFCC and LPCC and the highest identification Vol. 2, 1994, pp. 639-643.
rate (i.e. 82.33 [%]) has been achieved at ∆MFCC for [10] Sharma, S., Ellis, D., Kajarekar, S., Jain, P. & Hermansky,
H., “Feature extraction using non-linear transformation for
four different office environments.
robust speech recognition on the Aurora database.”, in
Proc. ICASSP2000, 2000.
[11] Wu, D., Morris, A.C. & Koreman, J., “MLP Internal
8. Conclusion and Observations Representation as Disciminant Features for Improved
Speaker Recognition”, in Proc. NOLISP2005, Barcelona,
The experimental results show the versatility of the Neuro- Spain, 2005, pp. 25-33.
Genetic hybrid algorithm based text-dependent speaker [12] Konig, Y., Heck, L., Weintraub, M. & Sonmez, K.,
identification system. The critical parameters such as gain “Nonlinear discriminant feature extraction for robust text-
term, speed factor, number of hidden layer nodes, independent speaker recognition”, in Proc. RLA2C, ESCA
crossover rate and the number of generations have a great workshop on Speaker Recognition and its Commercial
impact on the recognition performance of the proposed and Forensic Applications, 1998, pp. 72-75.
system. The optimum values of the above parameters have [13] Ismail Shahin, “Improving Speaker Identification
been selected effectively to find out the best performance. Performance Under the Shouted Talking Condition Using
the Second-Order Hidden Markov Models”, EURASIP
The highest recognition rate of BPN and GA have been
Journal on Applied Signal Processing 2005:4, pp. 482–
achieved to be 94[%] and 95[%] respectively. According 486.
to VALID speech database, 100[%] identification rate in [14] S. E. Bou-Ghazale and J. H. L. Hansen, “A comparative
clean environment and 82.33 [%] in office environment study of traditional and newly proposed features for
conditions have been achieved in Neuro-Genetic hybrid recognition of speech under stress”, IEEE Trans. Speech,
system. Therefore, this proposed system can be used in and Audio Processing, Vol. 8, No. 4, 2000, pp. 429–442.
various security and access control purposes. Finally the [15] G. Zhou, J. H. L. Hansen, and J. F. Kaiser, “Nonlinear
performance of this proposed system can be populated feature based classification of speech under stress”, IEEE
according to the largest speech recognition database. Trans. Speech, and Audio Processing, Vol. 9, No. 3,
2001, pp. 201–216.
[16] Simon Doclo and Marc Moonen, “On the Output SNR of
References the Speech-Distortion Weighted Multichannel Wiener
[1] A. Jain, R. Bole, S. Pankanti, BIOMETRICS Personal Filter”, IEEE SIGNAL PROCESSING LETTERS, Vol.
Identification in Networked Society, Kluwer Academic 12, No. 12, 2005.
Press, Boston, 1999. [17] Wiener, N., Extrapolation, Interpolation and Smoothing
[2] Rabiner, L., and Juang, B.-H., Fundamentals of Speech of Stationary Time Series with Engineering
Recognition, Prentice Hall, Englewood Cliffs, New Jersey, Applications, Wiely, Newyork, 1949.
1993. [18] Wiener, N., Paley, R. E. A. C., “Fourier Transforms in the
[3] Jacobsen, J. D., “Probabilistic Speech Detection”, Complex Domains”, American Mathematical Society,
Informatics and Mathematical Modeling, DTU, 2003. Providence, RI, 1934.
[4] Jain, A., R.P.W.Duin, and J.Mao., “Statistical pattern [19] Koji Kitayama, Masataka Goto, Katunobu Itou and
recognition: a review”, IEEE Trans. on Pattern Analysis Tetsunori Kobayashi, “Speech Starter: Noise-Robust
and Machine Intelligence 22 (2000), pp. 4–37. Endpoint Detection by Using Filled Pauses”, Eurospeech
[5] Davis, S., and Mermelstein, P., “Comparison of parametric 2003, Geneva, pp. 1237-1240.
representations for monosyllabic word recognition in [20] S. E. Bou-Ghazale and K. Assaleh, “A robust endpoint
continuously spoken sentences”, IEEE 74 Transactions on detection of speech for noisy environments with application
Acoustics, Speech, and Signal Processing (ICASSP), Vol. to automatic speech recognition”, in Proc. ICASSP2002,
28, No. 4, 1980, pp. 357-366. 2002, Vol. 4, pp. 3808–3811.
[6] Sadaoki Furui, “50 Years of Progress in Speech and Speaker [21] A. Martin, D. Charlet, and L. Mauuary, “Robust speech /
Recognition Research”, ECTI TRANSACTIONS ON non-speech detection using LDA applied to MFCC”, in
COMPUTER AND INFORMATION TECHNOLOGY, Proc. ICASSP2001, 2001, Vol. 1, pp. 237–240.
Vol.1, No.2, 2005.
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 47
[22] Richard. O. Duda, Peter E. Hart, David G. Strok, Pattern [40] Siddique and M. & Tokhi, M., “Training Neural Networks:
Classification, A Wiley-interscience publication, John Back Propagation vs. Genetic Algorithms”, in Proceedings
Wiley & Sons, Inc, Second Edition, 2001. of International Joint Conference on Neural Networks,
[23] Sarma, V., Venugopal, D., “Studies on pattern recognition Washington D.C.USA, 2001, pp. 2673- 2678.
approach to voiced-unvoiced-silence classification”, [41] Whiteley, D., “Applying Genetic Algorithms to Neural
Acoustics, Speech, and Signal Processing, IEEE Networks Learning”, in Proceedings of Conference of the
International Conference on ICASSP'78, 1978, Vol. 3, Society of Artificial Intelligence and Simulation of
pp. 1-4. Behavior, England, Pitman Publishing, Sussex, 1989, pp.
[24] Qi Li. Jinsong Zheng, Augustine Tsai, Qiru Zhou, “Robust 137- 144.
Endpoint Detection and Energy Normalization for Real- [42] Whiteley, D., Starkweather and T. & Bogart, C., “Genetic
Time Speech and Speaker Recognition”, IEEE Algorithms and Neural Networks: Optimizing Connection
Transaction on speech and Audion Processing, Vol. 10, and Connectivity”, Parallel Computing, Vol. 14, 1990, pp.
No. 3, 2002. 347-361.
[25] Harrington, J., and Cassidy, S., Techniques in Speech [43] Kresimir Delac, Mislav Grgic and Marian Stewart Bartlett,
Acoustics, Kluwer Academic Publishers, Dordrecht, 1999. Recent Advances in Face Recognition, I-Tech Education
[26] Makhoul, J., “Linear prediction: a tutorial review”, in and Publishing KG, Vienna, Austria, 2008, pp. 223-246.
Proceedings of the IEEE 64, 4 (1975), pp. 561–580. [44] Rajesskaran S. and Vijayalakshmi Pai, G.A., Neural
[27] Picone, J., “Signal modeling techniques in speech Networks, Fuzzy Logic, and Genetic Algorithms-
recognition”, in Proceedings of the IEEE 81, 9 (1993), pp. Synthesis and Applications, Prentice-Hall of India Private
1215–1247. Limited, New Delhi, India, 2003.
[28] Clsudio Beccchetti and Lucio Prina Ricotti, Speech [45] N. A. Fox, B. A. O'Mullane and R. B. Reilly, “The Realistic
Recognition Theory and C++ Implementation, John Multi-modal VALID database and Visual Speaker
Wiley & Sons. Ltd., 1999, pp.124-136. Identification Comparison Experiments”, in Proc. of the
[29] L.P. Cordella, P. Foggia, C. Sansone, M. Vento., "A Real- 5th International Conference on Audio- and Video-
Time Text-Independent Speaker Identification System", in Based Biometric Person Authentication (AVBPA-2005),
Proceedings of 12th International Conference on Image New York, 2005.
Analysis and Processing, 2003, IEEE Computer Society
Press, Mantova, Italy, pp. 632 - 637.
[30] J. R. Deller, J. G. Proakis, and J. H. L. Hansen, Discrete- Md. Rabiul Islam was born in Rajshahi,
Time Processing of Speech Signals, Macmillan, 1993. Bangladesh, on December 26, 1981. He
received his B.Sc. degree in Computer
[31] F. Owens., Signal Processing Of Speech, Macmillan New
Science & Engineering and M.Sc. degrees
electronics. Macmillan, 1993. in Electrical & Electronic Engineering in
[32] F. Harris, “On the use of windows for harmonic analysis 2004, 2008, respectively from the Rajshahi
with the discrete fourier transform”, in Proceedings of the University of Engineering & Technology,
IEEE 66, 1978, Vol.1, pp. 51-84. Bangladesh. From 2005 to 2008, he was a
[33] J. Proakis and D. Manolakis, Digital Signal Processing, Lecturer in the Department of Computer
Science & Engineering at Rajshahi University of Engineering &
Principles, Algorithms and Aplications, Second edition,
Technology. Since 2008, he has been an Assistant Professor in
Macmillan Publishing Company, New York, 1992. the Computer Science & Engineering Department, University of
[34] D. Kewley-Port and Y. Zheng, “Auditory models of formant Rajshahi University of Engineering & Technology, Bangladesh. His
frequency discrimination for isolated vowels”, Journal of research interests include bio-informatics, human-computer
the Acostical Society of America, 103(3), 1998, pp. 1654– interaction, speaker identification and authentication under the
1666. neutral and noisy environments.
[35] D. O’Shaughnessy, Speech Communication - Human and
Md. Fayzur Rahman was born in 1960 in
Machine, Addison Wesley, 1987. Thakurgaon, Bangladesh. He received the
[36] E. Zwicker., “Subdivision of the audible frequency band B. Sc. Engineering degree in Electrical &
into critical bands (frequenzgruppen)”, Journal of the Electronic Engineering from Rajshahi
Acoustical Society of America, 33, 1961, pp. 248–260. Engineering College, Bangladesh in 1984
[37] S. Davis and P. Mermelstein, “Comparison of parametric and M. Tech degree in Industrial
representations for monosyllabic word recognition in Electronics from S. J. College of
Engineering, Mysore, India in 1992. He
continuously spoken sentences”, IEEE Transactions on received the Ph. D. degree in energy and environment
Acoustics Speech and Signal Processing, 28, 1980, pp. electromagnetic from Yeungnam University, South Korea, in 2000.
357–366. Following his graduation he joined again in his previous job in BIT
[38] S. Furui., “Speaker independent isolated word recognition Rajshahi. He is a Professor in Electrical & Electronic Engineering
using dynamic features of the speech spectrum”, IEEE in Rajshahi University of Engineering & Technology (RUET). He is
Transactions on Acoustics, Speech and Signal currently engaged in education in the area of Electronics &
Machine Control and Digital signal processing. He is a member of
Processing, 34, 1986, pp. 52–59. the Institution of Engineer’s (IEB), Bangladesh, Korean Institute of
[39] S. Furui, “Speaker-Dependent-Feature Extraction, Illuminating and Installation Engineers (KIIEE), and Korean
Recognition and Processing Techniques”, Speech Institute of Electrical Engineers (KIEE), Korea.
Communication, Vol. 10, 1991, pp. 505-520.
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 49
ISSN (Online): 1694-0784
ISSN (Printed): 1694-0814
IJCSI
50 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
native application. Another interesting work has been transaction management, the method invocation in the
carried out by the IBM BlueZ secure systems group and it applets, etc.
was detailed in a Master thesis [12]. JCOP framework has We will not take care of features like the I/Os or the
been used to perform a series of tests to cover the power consumption because their measurability raises
communication overhead, DES performance and reading some problems such as:
and writing operations into the card memory (RAM and – For a given smart card, distinct card readers may
EEPROM). Markantonakis in [9] presents some provide different I/Os measurements.
performance comparisons between the two most widely – Each part of an APDU is managed differently on a
used terminal APIs, namely PC/SC and OCF. smart card reader. The 5 bytes header is read first, and the
Comparatively to these works, our benchmarking following data can be transmitted in several way: 1
framework not only covers the different functionalities of acknowledge for each byte or not, delay or not before
a Java Card platform but it also provided as a set of open noticing the status word, etc.
source code freely accessible on-line. – The smart card driver used by the workstation
generally induces more delay on the measurement than the
smart card reader itself.
3. General benchmarking framework
3.3 The benchmarking overview
3.1 Introduction
The set of tests are supplied to benchmark Java Card
Our research work falls under the MESURE project platforms available for anybody and supported by any card
[10], a project funded by the French administration reader. The various tests thus have to return accurate
(Agence Nationale de Recherche), which aims at results, even if they are not executed on precision readers.
developing a set of open source tools to measure the We reach this goal by removing the potential card reader
performance of Java Card platforms. These benchmarking weakness (in terms of delay, variance and predictability)
tools focus on Java Card 2.2 functionalities even if Java and by controlling the noise generated by measurement
Card 3.0 specifications have been published since March equipment (the card reader and the workstation).
2008 [1], principally because until now there is no Java Removing the noise added to a specific measurement can
Card 3.0 platform in the market except for some be done with the computation of an average value
prototypes such as the one demonstrated by Gemalto extracted from multiple samples. As a consequence, it is
during the Java One Conference in June 2008. Since Java important on the one hand to perform each test several
Card 3.0 proposes two editions: connected (web oriented) times and to use basic statistical calculations to filter the
edition and classic edition, our measuring tools can be trustworthy results. On the other hand, it is necessary to
reused to benchmark Java Card 3.0 classic edition execute several times in each test the operation to be
platforms. measured in order to fix a minimal duration for the tests (>
1 second) and to expect getting precise results. We defined
3.2 Addressed issues a set of modules as part of the benchmarking framework.
The benchmarks have been developed under the Eclipse
Only features related to the normal use phase of Java
environment based on JDK 1.6, with JSR268 [13] that
Card applications will be considered here. Excluded
extends Java Standard Edition with a package that defines
features include installing, personalizing or deleting an
methods within Java classes to interact with a smart card.
application since they are of lesser importance from user’s
According to the ISO 7816 standard, since a smart card
point of view and performed once.
has no internal clock, we are obliged to measure the time a
Hence, the benchmark framework enables
Java Card platform takes to answer to an APDU command,
performance evaluation at three levels:
and to use that measure to deduce the execution time of
– The VM level: to measure the execution time of the
some operations.
various instructions of the virtual machine (basic
instructions), as well as subjacent mechanisms of the
The benchmarking development tool covers two parts as
virtual machine (e.g., reading and writing the memory).
described in Figure 1: the script part and the applet part.
– The API level: to evaluate the functioning of the
The script part, entirely written in Java, defines an abstract
services proposed by the libraries available in the
class that is used as a template to derive test cases
embedded system (various methods of the API, namely
characterized by relevant measuring parameters such as,
those of Java Card and GlobalPlatform).
the operation type to measure, the number of loops, etc. A
– The JCRE (Java Card Runtime Execution) level: to
method run() is executed in each script to interact with the
evaluate the non-functional services, such as the
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 51
IJCSI
52 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
user, we can test and try different values for the loop size due to crossing the platform, the CAD and the terminal
to binary search and approach the ideal value. (measurement tools, Operating System, hardware).
The issues become: how to interpret the varying values
and how to compare platforms when there is some noise in
the results. The filter module uses a statistical design to
extract meaningful information from noisy data. From
multiple measurements for a given operation, the filter
module uses the mean value µ of the set of measurements
to guess the actual value, and the standard deviation σ of
the measurements to quantify the spread of the
measurements around the mean. Moreover, since the
measurements respect the normal Gaussian distribution, a
confidence interval [µ − (n × σ), µ + (n × σ)], within
which the confidence level is of 1−a, is used to help
eliminate the measurements outside the confidence
interval, where n and a are respectively the number of
measurements and the temporal precision, and they are
related by traditional statistical laws.
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 53
IJCSI
54 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
where :
– βf,d is the total number of occurrence of the feature f in
typical applications of the domain d.
– nF is the total number of features involved in the test.
Therefore, the coefficient αf,d represents the occurrence
proportion of the feature of interest f among all the
features.
Hence, given a feature f, a card c and a domain d, the
“weighted mark” Wc,f,d is computed as follows :
Wc,f,d = Nc,f × αf,d (4)
Fig. 5 Computing a global performance mark
The “global mark” Pc,d for a card c and for a domain d is
then the sum of all weighted marks for the card. A general
domain independent note for a card is computed as the 4. Validation of the tests
mean of all the domain dependant marks.
4.1 Statistical correctness of the measurements
Figure 4 shows some significant byte-codes computed for
a card and compared to the reference tests regarding the The expected distribution of any measurement is a normal
financial domain. Whereas, Figure 5 shows the global distribution. The results being time values, if the
results obtained for a tested card. Based on the results of distribution is normal, then, according to Lilja [8], the
Figure 5, our tested card seems to be dedicated for arithmetic mean is an acceptable representative time value
financial use. for a certain number of measurements (Lilja recommends
at least 30 measurements). Nevertheless, Rehioui [12]
pointed out that the results obtained via methods similar to
ours were not normally distributed on IBM JCOP41 cards.
Erdmann [6] cited similar problems with Infineon smart
cards. When we measure both the reference test and the
operation test on several smart cards by different providers
using different CADs on different OSs, none of the time
performances had a normal distribution (see Figure 6 for a
sample reference test performed on a card). The results
were similar from one card to another in terms of
distribution, even for different time values, and for
different loop sizes. Changes in CAD, in host-side JVM,
in task priority made no difference on the experimental
distribution curve. Testing the cards on Linux and on
Windows XP or Windows Vista, on the other side,
showed differences. Indeed, the recurring factor when
measuring the performances with a terminal running
Linux with PC/SC Lite and a CCID driver is the gap
between peaks of distribution. The peaks are often
separated by 400ms and 100 ms steps which match some
parts of the public code of PC/SC Lite and the CCID
Fig. 4 An example of a financial-dependent mark driver. With other CADs, the distribution shows similar
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 55
steps with respect to the CAD driver source code. The Cardmann 4040, but we tried five different CADs) we
peaks in the distribution from the measurements obtained performed 1000 measurements of the sadd operation test
on Windows are separated by 0.2 ms steps (see Figure 7). and 1000 measurements of the corresponding reference
Without having access to neither the source code of the test. By subtracting each value obtained with the reference
PC/SC implementation on Windows nor the driver source test from each of the values of the sadd operation test, and
codes, we can deduce that there must be some similarities dividing by the loop size, we produced a new set of
in the source codes between the proprietary versions and 1000000 time values. The new set of time values has an
the open source versions. arithmetic mean of 10260.65 ns and a standard deviation
In order to check the normality of the results, we isolated of 52.46025.
some of the peaks of some distribution obtained on our
measurements and we used the resulting data set. The The value we found with a regular CAD under Linux and
Shapiro-Wilk test is a well established statistical test used without priority modification is just 3.42% away from the
to verify the null hypothesis that a sample of data comes more accurate value found with the precision reader.
from a normally distributed population. The result of such Although this is a set of measurements that are not
a test is a number W ∈ [0, 1], with W close to 1 when the normally distributed (W = 0.2432), the arithmetic mean of
data is normally distributed. No set of value obtained by our experimental noisy measurements seems to be a good
isolating a peak within a distribution gave us a satisfying approximation of the actual time it takes for this smart
W close to 1. For instance, considering the peak in Figure card to perform a sadd. The same test under Windows
8, W = 0.8442, which is the highest value for W that we Vista gave us a mean time of 11380.83 ns with a standard
observed, with other values ranging as low as W = 0.1384. deviation of 100.7473, that is 7,24% away from the
We conclude that the measurements we obtain, even if we accurate value.
consider a peak of distribution, are not normally We deduce that our data are noisy and faulty but despite a
distributed. potentially very noisy test environment, our time
measurements always provide a certain accuracy and a
4.2 Validation through a precision CAD certain precision.
IJCSI
56 IJCSI International Journal of Computer Science Issues, Vol. 1, 2009
IJCSI
IJCSI International Journal of Computer Science Issues, Vol. 1, 2009 57
IJCSI
IJCSI CALL FOR PAPERS JANUARY 2010 ISSUE
The topics suggested by this issue can be discussed in term of concepts, surveys, state of the
art, research, standards, implementations, running experiments, applications, and industrial
case studies. Authors are invited to submit complete unpublished papers, which are not under
review in any other conference or journal in the following, but not limited to, topic areas.
See authors guide for manuscript preparation and submission guidelines.
Accepted papers will be published online and authors will be provided with printed
copies and indexed by Google Scholar, CiteSeerX, Directory for Open Access Journal
(DOAJ), Bielefeld Academic Search Engine (BASE), SCIRUS and more.
All submitted papers will be judged based on their quality by the technical committee and
reviewers. Papers that describe research and experimentation are encouraged.
All paper submissions will be handled electronically and detailed instructions on submission
procedure are available on IJCSI website (http://www.ijcsi.org).
It also provides a venue for researchers, students and professionals to submit on-
going research and developments in these areas. Authors are encouraged to
contribute to the journal by submitting articles that illustrate new research results,
projects, surveying works and industrial experiences that describe significant advances
in field of computer science.
Indexing of IJCSI:
1. Google Scholar
2. Directory for Open Access Journals (DOAJ)
3. Bielefeld Academic Search Engine (BASE)
4. CiteSeerX
5. SCIRUS
© IJCSI PUBLICATION
www.IJCSI.org