100% found this document useful (8 votes)
34 views

Download Full Enabling context aware web services methods architectures and technologies 1st Edition Quan Z. Sheng PDF All Chapters

Quan

Uploaded by

eliyembadi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (8 votes)
34 views

Download Full Enabling context aware web services methods architectures and technologies 1st Edition Quan Z. Sheng PDF All Chapters

Quan

Uploaded by

eliyembadi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 85

Download the full version of the ebook at ebookfinal.

com

Enabling context aware web services methods


architectures and technologies 1st Edition Quan Z.
Sheng

https://ebookfinal.com/download/enabling-context-aware-web-
services-methods-architectures-and-technologies-1st-edition-
quan-z-sheng/

OR CLICK BUTTON

DOWNLOAD EBOOK

Download more ebook instantly today at https://ebookfinal.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Enabling Technologies for Mobile Services The MobiLife


Book 1st Edition Mika Klemettinen

https://ebookfinal.com/download/enabling-technologies-for-mobile-
services-the-mobilife-book-1st-edition-mika-klemettinen/

ebookfinal.com

Software defined radio enabling technologies 1st Edition


Tuttlebee

https://ebookfinal.com/download/software-defined-radio-enabling-
technologies-1st-edition-tuttlebee/

ebookfinal.com

Handbook of Research on Social Dimensions of Semantic


Technologies and Web Services 1st Edition M. Manuela Cunha

https://ebookfinal.com/download/handbook-of-research-on-social-
dimensions-of-semantic-technologies-and-web-services-1st-edition-m-
manuela-cunha/
ebookfinal.com

ADME Enabling Technologies in Drug Design and Development


1st Edition Donglu Zhang

https://ebookfinal.com/download/adme-enabling-technologies-in-drug-
design-and-development-1st-edition-donglu-zhang/

ebookfinal.com
Voice Enabling Web Applications VoiceXML and Beyond 1st
Edition Ken Abbott (Auth.)

https://ebookfinal.com/download/voice-enabling-web-applications-
voicexml-and-beyond-1st-edition-ken-abbott-auth/

ebookfinal.com

Web 2 0 Architectures 1st ed Edition James Governor

https://ebookfinal.com/download/web-2-0-architectures-1st-ed-edition-
james-governor/

ebookfinal.com

Agent Technologies and Web Engineering Ghazi Alkhatib

https://ebookfinal.com/download/agent-technologies-and-web-
engineering-ghazi-alkhatib/

ebookfinal.com

Java Web Services Up and Running 1st Edition Martin Kalin

https://ebookfinal.com/download/java-web-services-up-and-running-1st-
edition-martin-kalin/

ebookfinal.com

Web Services on Rails 1st Edition Kevin Marshall

https://ebookfinal.com/download/web-services-on-rails-1st-edition-
kevin-marshall/

ebookfinal.com
Enabling
Context-Aware
Web Services
Methods, Architectures, and Technologies

K10493_FM.indd 1 3/30/10 3:01:22 PM


Enabling
Context-Aware
Web Services
Methods, Architectures, and Technologies

Edited by
Quan Z. Sheng
Jian Yu
Schahram Dustdar

K10493_FM.indd 3 3/30/10 3:01:22 PM


Chapman & Hall/CRC
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742

© 2010 by Taylor and Francis Group, LLC


Chapman & Hall/CRC is an imprint of Taylor & Francis Group, an Informa business

No claim to original U.S. Government works

Printed in the United States of America on acid-free paper


10 9 8 7 6 5 4 3 2 1

International Standard Book Number: 978-1-4398-0985-3 (Hardback)

This book contains information obtained from authentic and highly regarded sources. Reasonable efforts
have been made to publish reliable data and information, but the author and publisher cannot assume
responsibility for the validity of all materials or the consequences of their use. The authors and publishers
have attempted to trace the copyright holders of all material reproduced in this publication and apologize to
copyright holders if permission to publish in this form has not been obtained. If any copyright material has
not been acknowledged please write and let us know so we may rectify in any future reprint.

Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmit-
ted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented,
including photocopying, microfilming, and recording, or in any information storage or retrieval system,
without written permission from the publishers.

For permission to photocopy or use material electronically from this work, please access www.copyright.
com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood
Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and
registration for a variety of users. For organizations that have been granted a photocopy license by the CCC,
a separate system of payment has been arranged.

Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used
only for identification and explanation without intent to infringe.

Library of Congress Cataloging‑in‑Publication Data

Enabling context-aware web services : methods, architectures, and technologies / Quan


Z. Sheng, Jian Yu, Schahram Dustdar.
p. cm.
Includes bibliographical references and index.
ISBN 978-1-4398-0985-3 (hardcover : alk. paper)
1. Context-aware computing. 2. Web services. 3. Autonomic computing. 4. Smart
materials. I. Sheng, Quan Z. II. Yu, Jian, 1974- III. Dustdar, Schahram.

QA76.5915.E53 2010
006.7’8--dc22 2009048845

Visit the Taylor & Francis Web site at


http://www.taylorandfrancis.com

and the CRC Press Web site at


http://www.crcpress.com

K10493_FM.indd 4 3/30/10 3:01:23 PM


Contents

I Methodology 1
1 Context-Aware W e b Service Development: Methodologies
and Approaches 3
Georgia M. Kapitsaki, George N. Prezerakos, and Nikolaos D. Tselikas
1.1 Introduction 3
1.2 Exploiting Programming Languages Extensions 5
1.3 Model-Driven Development 11
1.4 Approaches Based on Semantic Technologies 17
1.5 Discussion 23
1.6 Summary 24

2 M o d e l - D r i v e n D e v e l o p m e n t of C o n t e x t - A w a r e W e b S e r v i c e s 31
Jian Yu, Quan Z. Sheng, Kewen Liao, and Hoi S. Wong
2.1 Introduction 31
2.2 Background 32
2.3 ContextUML 35
2.4 ContextServ Platform 39
2.5 Applications 45
2.6 Discussion and Conclusion 46

3 D y n a m i c Software P r o d u c t L i n e s for C o n t e x t - A w a r e W e b
Services 53
Carlos Parra, Xavier Blanc, Laurence Duchien, Nicolas Pessemier, Rafael
Leaño, Chantal Taconet, and Zakia Kazi-Aoul
3.1 Introduction 54
3.2 Motivating Scenario and Challenges 56
3.3 CAPucine: Context-Aware Service-Oriented P r o d u c t Line . 60
3.4 CAPucine Validation 66
3.5 Related Work 73
3.6 Conclusion 75

4 Context Constraint Integration and Validation 81


Claus Pahl, Kosala Yapa Bandara, and MingXue Wang
4.1 Introduction 82
4.2 Dynamic Service Composition 83
4.3 Context Ontology for Service Composition 85

v
4.4 Constraint Integration 89
4.5 Fault Tolerance and Remedial Strategies 93
4.6 Architecture and Core Components 97
4.7 Instrumentation Template for Violation Handling 98
4.8 Evaluation 102
4.9 Discussion-Related Work, Trends, and Challenges 103
4.10 Conclusions 105

II Architecture 109
5 Enabling Context-Aware W e b Services: A Middleware Ap-
proach 111
Daniel Romero, Romain Rouvoy, Sophie Chabridon, Denis Conan, Nicolas
Pessemier, and Lionel Seinturier
5.1 Introduction 112
5.2 Motivating Scenario 113
5.3 Principles and Background 115
5.4 C A P P U C I N O : Enabling Context-Aware Adaptive Services . 119
5.5 Illustrating Dynamic Context-aware Web Services with a Mo­
bile Commerce Scenario 126
5.6 Related Works 130
5.7 Conclusion 132

6 Building Context-Aware Telco Operator Services 139


Alejandro Cadenas, Antonio Sanchez-Esguevillas, and Belen Carro
6.1 Introduction 139
6.2 Operator Network Architectures 142
6.3 Web Services in Operator Networks 143
6.4 Context in Operator Networks 144
6.5 Deployment of Context Aware Services at Telco Layer . . . . 150
6.6 A Commercial Implementation Case 153
6.7 Conclusions 166

7 U s i n g S O C in D e v e l o p m e n t of C o n t e x t - A w a r e S y s t e m s 171
Katarzyna Wac, Pravin Pawar, Tom Broens, Bert-Jan van Beijnum, and
Aart van Halteren
7.1 Introduction 172
7.2 Context and Context-Awareness 173
7.3 Service-Oriented Computing 178
7.4 Layered Model of Context-Aware Systems 181
7.5 Domain Model for Context-Awareness 183
7.6 Application of Domain Model in the Amigo System 194
7.7 Conclusive Remarks 197

vi
8 A Pragmatic Approach to C A S Organization and Discovery 211
Jian Zhu and Hung Keng Pung
8.1 Introduction 211
8.2 Related Work 213
8.3 System Framework Design 215
8.4 A Process Matching Scheme for Web Services 226
8.5 Conclusion and Future Work 237

9 A Context Model to Support B 2 B Collaboration 243


Puay Siew Tan, Angela Eck Soong Goh, and Stephen Siang-Guan Lee
9.1 Introduction 243
9.2 Foundation for the B2B Context Model 246
9.3 Proposed B2B Context Model 251
9.4 Application and Evaluation of the B2B Context Model . . . 258
9.5 Conclusion 266

10 C o n t e x t - A w a r e M o b i l e G r i d s 273
Stefan Wesner, Antonio Sanchez-Esguevillas, Victor Villagra, and Babak
Farshchian
10.1 Introduction and Scenarios 273
10.2 W h a t Is in Context, and W h a t Is Out: The Need for Adapta­
tion 277
10.3 Service Grids in Mobile Environments 281
10.4 Adaptation Approaches 292
10.5 Conclusions and Future Work 295

11 L e v e r a g i n g C o n t e x t - A w a r e n e s s for P e r s o n a l i z a t i o n 301
Laurent-Walter Goix, Luca Lamorte, Paolo Falcarin, Carlos Baladron,
Jian Yu, Isabel Ordas, Alvaro Martinez Reol, Ruben Trapero, Jose M. del
Alamo, Michele Stecca, and Massimo Maresca
11.1 Introduction 301
11.2 T h e O P U C E Project 303
11.3 Modeling Context Information 306
11.4 Context Management Architecture 311
11.5 Adapting User-Generated Services 318
11.6 Conclusion 330

III Technology 335


12 C o n t e x t C o u p l i n g T e c h n i q u e s 337
Hong-Linh Truong and Schahram Dustdar
12.1 Introduction 338
12.2 Fundamental Concepts 339
12.3 Context Coupling Techniques in Current Context-Aware Web
Service Systems 345

vii
12.4 A Case Study: Context Coupling in the inContext Project . 352
12.5 Open Issues and Recommendations 356
12.6 Related Work and Further Reading 358
12.7 Conclusion 358

13 C o n t e x t - A w a r e S e m a n t i c W e b S e r v i c e D i s c o v e r y 365
Stefan Dietze, Michael Mrissa, John Domingue, and Alessio Gugliotta
13.1 Introduction 366
13.2 Background and Motivation 368
13.3 Conceptual Situation Spaces for Semantic Web Services . . . 373
13.4 A Conceptual Learning Situation Space 376
13.5 Fuzzy SWS Goal Discovery and Achievement at Runtime . . 377
13.6 Applying CSS to the E-Business Domain 380
13.7 Conclusions 386

14 P r i v a c y P r o t e c t i o n in C o n t e x t - A w a r e W e b S e r v i c e s 393
Georgia M. Kapitsaki, Georgios V. Lioudakis, Dimitra I. Kaklamani, and
Iakovos St. Venieris
14.1 Introduction 394
14.2 Privacy Regulations and Technical Requirements 395
14.3 Related Work 400
14.4 Privacy Context 402
14.5 Enforcement Framework 408
14.6 Combination with Context Adaptation Schemes 409
14.7 Conclusions 411

15 A K n o w l e d g e - B a s e d F r a m e w o r k 421
Carlos Pedrinaci, Pierre Grenon, Stefania Galizia, Alessio Gugliotta, and
John Domingue
15.1 Introduction 421
15.2 Web Services Adaptation to Context: Overall approach . . . 423
15.3 Context Modeling and Derivation 425
15.4 Context Recognition 431
15.5 Web Service Adaptation 435
15.6 Application 438
15.7 Conclusions 443

16 U b i q u i t o u s M o b i l e A w a r e n e s s f r o m S e n s o r N e t w o r k s 449
Theo Kanter, Stefan Forsstrom, Victor Kardeby, Jamie Walters, Pa-
trik Osterberg, and Stefan Pettersson
16.1 Introduction 449
16.2 Related Work 451
16.3 Enabling Ubiquitous Mobile Awareness 453
16.4 Distributed Context eXchange Protocol 455
16.5 Bluetooth Bridge to Wireless Sensor Networks 461

viii
16.6 Ubiquitous Mobile Awareness Service 462
16.7 Conclusions and Future Work 463

17 M o d e l i n g a n d S t o r a g e of C o n t e x t D a t a for S e r v i c e A d a p t a -
tion 469
Yazid Benazzouz, Philippe Beaune, Fano Ramaparany, and Olivier
Boissier
17.1 Introduction 470
17.2 Context Definition 471
17.3 Role of Context in Service Adaptation 472
17.4 Developing Context-Aware Services 474
17.5 Context D a t a Modeling 474
17.6 Context D a t a Storage 481
17.7 Context Recognition 484
17.8 Software Infrastructure for Service Adaptation 486
17.9 A Summary Example 488
17.10 Conclusion 490

18 R e s e a r c h C h a l l e n g e s i n M o b i l e W e b S e r v i c e s 495
Chii Chang, Sea Ling, and Shonali Krishnaswamy
18.1 Introduction 495
18.2 Enabling Mobile Web Services: State of the Art 497
18.3 Research Challenges 509
18.4 Summary 513

Index 521

ix
Preface

Over the years, the Web has gone through many transformations, from tradi­
tional linking and sharing of computers and documents (i.e., "Web of Data"),
to current connecting of people (i.e., "Web of People"). With the recent ad­
vances in radio-frequency identification (RFID) technology, sensor networks,
and Web services, the Web will continue the transformation and will be slowly
evolving into the so-called "Web of Things and Services". Indeed, this future
Web will provide an environment where everyday physical objects such as
buildings, sidewalks, and commodities are readable, recognizable, addressable,
and even controllable using services via the Web. The capability of integrat­
ing the information from both the physical world and the virtual one not only
affects the way we live, but also creates tremendous new Web-based business
opportunities such as support of independent living of elderly persons, intelli­
gent traffic management, efficient supply chains, and improved environmental
monitoring.
Context-aware Web services are emerging as an important technology to un­
derpin the development of new applications (user centric, highly personalized)
on the future ubiquitous Web. This book compiles the newest developments
and advances in context awareness and Web services from world's leading re­
searchers in this field. It offers a comprehensive and systematic presentation
of methodologies, architectures, and technologies that enable the development
of context-aware Web services. The whole book is organized into three major
parts: Methods, Architectures, and Technologies. The Methods part focuses
on the principle of context awareness in Web service and various ways to model
context-aware Web services at the specification level. The Architectures part
focuses on the infrastructures, frameworks and standards for building context-
aware Web services. The Technologies part focuses on the various techniques
adapted from general research areas e.g., semantic Web, database, artificial
intelligence, and formal methods in the development of context-aware Web
services.
This book is the first of its kinds to bridge the gap between two previously
separated research and development areas: context-awareness and Web ser­
vices. It serves well as a valuable reference point for researchers, educators,
and engineers who are working in Internet computing, service-oriented com­
puting, distributed computing, and e-Business, as well as graduate students
who wish to learn and spot the opportunities for their studies in this emerg­
ing research and development area. It is also of general interest to anyone
using the service paradigms for software development, particularly on devel-

XI
xii

oping context-aware applications. It is our hope that the work presented in


this book will stimulate new discussions and generate original ideas that will
further develop this important area.
We would like to thank the authors for their contributions and the reviewers
for their expertise to improve the manuscripts. Moreover, we are grateful to
CRC Press for the opportunity to publish this book. Our special thanks go
to Li-Ming Leong, Yong-Ling Lam, and Marsha Pronin of Taylor & Francis
Group for their support and professionalism during the whole publication
process of this book.

Quan Z. Sheng, Jian Yu, Schahram Dustdar


August 2009
Contributors

Jose M. del A l a m o Alejandro Cadenas


Universidad Politecnica de Madrid Telefonica I + D
Madrid, Spain Madrid, Spain

Carlos Baladron B e l e n Carro


University of Valladolid University of Valladolid
Valladolid, Spain Valladolid, Spain

Kosala Yapa Bandara Sophie Chabridon


Dublin City University Institut Telecom, Telecom & Man­
Dublin, Ireland agement SudParis
Paris, France
Philippe Beaune
Ecole Nationale Superieure des Chii C h a n g
Mines
Monash University
Saint-Etienne, France
Melbourne, Australia

Yazid Benazzouz
Denis Conan
France Telecom R&D Meylan &
ENSM-SE Institut Telecom, Telecom & Man­
Saint-Etienne, France agement SudParis
Paris, France
Xavier Blanc
University of Lille 1 Stefan Dietze
Lille, France The Open University
Milton Keynes, United Kingdom
Olivier B o i s s i e r
Ecole Nationale Superieure des Laurence Duchien
Mines University of Lille 1
Saint-Etienne, France Lille, France

Tom Broens Schahram Dustdar


Telematica Instituut Vienna University of Technology
The Netherlands Vienna, Austria

xiii
xiv

John Domingue Theo Kanter


The Open University Mid Sweden University
Milton Keynes, United Kingdom Sundsvall, Sweden

P a o l o Falcarin Georgia M. Kapitsaki


Politecnico di Torino National Technical University of
Turin, Italy Athens
Athens, Greece
Babak Farshchian
SINTEF Victor Kardeby
Trondheim, Norway Mid Sweden University
Sundsvall, Sweden
Stefan Forsstrom
Mid Sweden University Zakia K a z i A o u l
Sundsvall, Sweden
Institut Telecom, Telecom & Man­
agement SudParis
Stefania Galizia
Paris, France
Innova Spa
Rome, Italy
Shonali Krishnaswamy

A.E.S. Goh Monash University


Nanyang Technological University Melbourne, Australia
Singapore
Luca Lamorte
Laurent-Walter Goix Telecom Italia
Telecom Italia Turin, Italy
Turin, Italy
Rafael Leano
Pierre Grenon University of Lille 1
The Open University
Lille, France
Milton Keynes, United Kingdom
S . S . G . Lee
Alessio Gugliotta
Innova Spa Nanyang Technological University
Rome, Italy Singapore

Aart van Halteren K e w e n Liao


Philips Research University of Adelaide
The Netherlands Adelaide, Australia

D i m i t r a I. K a k l a m a n i Sea Ling
National Technical University of
Athens Monash University
Athens, Greece Melbourne, Australia
XV

Georgios V. Lioudakis George N . Prezerakos


National Technical University of Technological Education Institute of
Athens Piraeus
Athens, Greece Piraeus, Greece

Michael Mrissa Hung Keng Pung


Universite de Lyon National University of Singapore
Lyon, France Singapore

Massimo Maresca Fano R a m a p a r a n y


University of Padova and M3S France Telecom R&D Meylan &
Genova, Italy ENSM-SE
Saint-Etienne, France
Isabel Ordas
Telefonica I + D Alvaro Martinez Reol
Madrid, Spain Telefonica I + D
Madrid, Spain
Patrik Osterberg
Mid Sweden University Daniel Romero
University of Lille 1
Sundsvall, Sweden
Lille, France
Claus Pahl
Romain Rouvoy
Dublin City University University of Lille 1
Dublin, Ireland Lille, France

Carlos Parra Antonio Sanchez-Esguevillas


University of Lille 1 Telefonica I + D
Lille, France Valladolid, Spain

Pravin Pawar Lionel S e i n t u r i e r


University of Twente University of Lille 1
The Netherlands Lille, France

Carlos Pedrinaci Q u a n Z. S h e n g
University of Adelaide
The Open University
Adelaide, Australia
Milton Keynes, United Kingdom

Michele Stecca
Nicolas Pessemier
University of Padova and M3S
University of Lille 1 Genova, Italy
Lille, France
Chantal Taconet
Stefan Pettersson Institut Telecom, Telecom & Man­
Mid Sweden University agement SudParis
Sundsvall, Sweden Paris, France
XVI

P . S . Tan Katarzyna Wac


Singapore Institute of Manufactur­ University of Geneva
ing Technology Geneva, Switzerland
Singapore
Jamie Walters
R u b e n Trapero Mid Sweden University
Universidad Politĺęcinica de Madrid Sundsvall, Sweden
Madrid, Spain
MingXue Wang
Hong-Linh Truong Dublin City University
Vienna University of Technology Dublin, Ireland
Vienna, Austria
Stefan Wesner
N i k o l a o s D . Tselikas High Performance Computing Cen­
University of Peloponese tre
Peloponnese, Greece Stuttgart, Germany

Bert-Jan van H o i S. W o n g
Beijnum Telematica Instituut
University of Adelaide
The Netherlands
Adelaide, Australia

Iakovos S t . V e n i e r i s
Jian Yu
National Technical University of
University of Adelaide
Athens
Adelaide, Australia
Athens, Greece

Victor Villagra J i a n Zhu


Technical University of Madrid National University of Singapore
Madrid, Spain Singapore
Part I

Methodology
Chapter 1
Context-Aware Web Service
Development: Methodologies and
Approaches

Georgia M. Kapitsaki, George N. Prezerakos, and Nikolaos D.


Tselikas

1.1 Introduction 3
1.2 Exploiting Programming Languages Extensions 5
1.3 Model-Driven Development 10
1.4 Approaches Based on Semantic Technologies 17
1.5 Discussion 23
1.6 Summary 24

Abstract The development of context-aware Web services is an interesting


issue in service provision nowadays. This book chapter delves into the liter­
ature by presenting the main visible trends. The description of the proposed
approaches is divided into three categories: programming language exten­
sions, which intervene into the language level in order to add or integrate
context-awareness constructs, model-driven techniques, which exploit model-
driven development principles, and semantic technologies, which rely mainly
on ontologies and reasoning operations. Various example methodologies are
depicted for each category giving the reader the possibility to choose the most
appropriate direction based also on the short evaluation provided at the end.

1.1 Introduction
Context-awareness plays a vital role in service provision nowadays as service
providers are focusing on providing personalized services to end-users. At the
same time Web services are constantly gaining ground for the construction of
context-aware applications. They can be found as part of desktop Web appli­
cations and in mobile computing where various mobile devices offer Web ser­
vice based applications. The development process of such context-aware Web
services is an important aspect prior to the service provision, since context-
awareness requirements need to be taken into account and be incorporated

3
4 Context-Aware Web Services: Methods, Architectures, and Technologies

during the service development. Developers can profit from techniques that
facilitate the introduction of context handling during the service development
phase.
In this book chapter we deal with development approaches that lead to the
construction of context-aware Web services. The term "methodology," how­
ever, is not used in its traditional meaning. We do not focus on traditional
software development methodologies (like the waterfall model or agile devel­
opment), which usually divide the development process into distinct steps
(requirements, design, coding, testing, deployment), but rather on general
approaches that can assist the development work in the framework of several
software lifecycle models. Moreover, these approaches are usually targeting
specific architectures or middleware platforms proposed for the provision of
context-aware Web services.
The inclusion of context handling issues in the development process may
be performed directly at the code level of the service or earlier during the
service design phase. This can be achieved either by popular programming
or development techniques (e.g., model-driven development, semantic Web,
aspects) and in this sense a significant number of research papers on context-
aware service development falls into the three categories described below.

Category name Short description


Programming Addition of programming language con­
languages extensions structs focusing on context handling in
Web services.
Model-driven Combination of Web service and con­
development text models towards the automatic pro­
duction of service code.
Approaches based on Ontological description of context data
semantic technologies that allow extensive reasoning capabil­
ities.

The category of programming languages extensions refers to attempts where


specific modifications or constructs are introduced in a programming language
in order to add context-aware capabilities. The service logic is enriched with
code fragments responsible for performing the context adaptation. This can be
achieved for example by separating the main business code from the context-
sensitive code parts or by introducing different program layers that are either
activated or deactivated based on the execution context. Uses of Aspect
Oriented Programming (AOP) also fall in this category, whereas extensions
to different languages that can be used in the construction of Web services
are proposed (e.g., Java, Python). This way developers can introduce code
level context manipulation schemes to the development of Web services.
Context-Aware Web Service Development: Methodologies and Approaches 5

Model-Driven Development (MDD) is related to the transformations be­


tween meta-models that capture domain characteristics and may eventually
lead to the full or partial generation of platform specific code of the applica­
tion under development through the necessary transformations between mod­
els and code. Model-driven engineering can be exploited in the stages of
design and implementation. This is usually achieved by introducing a con­
text information model during the design stage, so that the service can be
created based on the adaptation to context reflected in the context model.
The language most widely used in the design phase is the Unified Modeling
Language (UML), although cases of other Domain Specific Languages con­
structed for specific development tools can also be found in the literature.
MDD methodologies can be exploited for the development of context-aware
Web services, where Web service properties are taken into account during the
modeling phase and may be used for the generation of the service code.
Semantic technologies provide means for the sophisticated representation
of information including reasoning and inference capabilities. Ontologies are
usually exploited for the modeling of context information in specific domains
of interest. However, it can be noted that in many cases the ontology specifi­
cation drives the development process. Approaches that make use of semantic
technologies either concentrate the development effort around the system on­
tologies or exploit the semantic capabilities of Web services to allow developers
to reuse existing services in specific domains.
In several cases the presented approaches refer specifically to context-aware
Web services. However, the majority of cases constitute generic attempts that
can be applied to the field of Web services with adequate adaptations. Nev­
ertheless, it is important to be able to reuse existing techniques for context-
aware Web service development that have proven their usability in service
development paradigms other than Web services.

1.2 Exploiting P r o g r a m m i n g Languages Extensions


Approaches related to extensions to programming languages or additions
of new language constructs can be adopted in the field of Web services for
adaptation at the service implementation level. Nevertheless, in order to
be able to exploit these principles, the language used for the Web service
implementation must be the one proposed in the chosen solution.
A usual group of approaches is denoted with the term "Context-oriented
Programming" or COP. Generally, COP aims in incorporating context-related
issues in the structure of a software system. The first solution proposed under
this general term for the programming language Python is found in (14).
In this approach the code is separated to context-free skeleton and context-
6 Context-Aware Web Services: Methods, Architectures, and Technologies

dependent stubs. The skeleton refers to the main implementation, which


includes gaps referred to as "open terms" that are to be adapted to context
information. More precisely, open terms consist of:
• goals: express the goal of an entity (e.g., greet the user)
• context: represents contextual information
• event: describes an event that triggers the open term execution (optional
part)
On the other hand, stubs represent a specific execution scheme applica­
ble to a specific goal under defined context conditions. The context be­
havior is injected to the main logic by the context-filling procedure, which
binds open terms with the appropriate stub and provides, thus, the desired
context-dependent behavior during service execution. This process is per­
formed through an external entity (the matchbox), which corresponds to a
stub repository with registered entries for the available stubs. The relevant
code fragments are retrieved from the stub repository, when specific context-
related conditions are met. Stubs and the program skeleton are expressed
in Extensible Markup Language (XML) as depicted in Figure 14.1, whereas
context-filling takes place by a call to the fillgap routine. The figure presents
a very simple service that greets the user based on the user's native tongue
and current location.

Figure 1.1: Context-oriented Programming for the Python language.

Another approach to COP introduces the notion of "layer" into the pro­
gram execution in order to express behavior variations based on contextual
properties (11). Layers correspond to sets of partial class and method defi­
nitions that become activated depending on context information. They are
Context-Aware Web Service Development: Methodologies and Approaches 7

treated as first-class constructs and can be triggered, i.e., activated or deacti­


vated, from any part of the application code. This way context dependencies
are kept separate from the base program definition. Applicable variations
depend either on an actor entity interacting with the program (or system),
the system properties or external environmental conditions. Viewed together,
these properties depict the contextual situation as a whole. Layers can be
inserted in the corresponding implementations for different programming lan­
guages: Java (ContextJ), Squeak/Smalltalk (Contexts) and Common Lisp
(ContextL), allowing the program to be modified dynamically at runtime in
a context-aware fashion. Regarding the Java version, a subset of ContextJ
applicable to standard Java environments is available from the current work,
namely ContextJ*. In ContextJ* the class Layer is used for the construction
of new layer objects depicting context attribute conditions. Each class that
wants to support context-dependent behavioral variations needs to include an
interface that captures the method definitions that include context dependen­
cies. In order to choose which layer should be activated a call is forwarded
to the Layer D e f i n i t i o n s container, which is parameterized based on the
interface mentioned above. These constructs are demonstrated for a simple
case in Figure 14.2, where the method greeting of the class Greeting Service
depends on current context information. Different versions of the method call
are given depending on the activated layer (none, Location or Greeting).
A similar idea to Context-oriented programming is illustrated by the Isotope
Programming Model (IPM) (19) proposed as an extension to object-oriented
programming (OOP). Objects are defined by a number of attributes and a
default behavior described in default methods - forming the main element
- and a number of isotope elements. Instead of using one unique file for
the method definition as in OOP, IPM splits the method into several isotope
elements depicting different contextual conditions. Apart from the method
definition, each isotope is accompanied by a context block illustrating the
relevant context conditions (usually in the form of logical constraints) that
activate the selection of the respective behavior part as shown in Figure 14.3.
At execution time, the most appropriate isotope is selected based on the
evaluation of its context block and its recency, as indicated by the timestamp
information included in the isotope element. If no suitable isotope element is
identified, the default behavior contained in the main element is executed.
An additional group of approaches stems from the paradigm of AOP,
whereas some AOP features are also visible in the layered approach of COP.
Indeed context can be seen as a crosscutting concern spanning through various
program parts and activities. Through the definition of appropriate pointcuts,
advices injecting context-adapted behavior can be applied during the service
execution. Generic AOP languages such as AspectWerkz1 can be exploited
for the injection of context-related behavior into different Web service parts.

1
http://aspectwerkz.codehaus.org/
8 Context-Aware Web Services: Methods, Architectures, and Technologies

Figure 1.2: Example of language constructs for COP using ContextJ*

However, a number of languages more specific to the notion of context that


build on top of AOP principles also exist in the literature and are shortly pre­
sented here. A generic aspect language CSLogicAJ (Context-aware Service-
oriented LogicAJ) for the definition of such pointcuts is proposed in (25).
The solution targets Service-Oriented Architectures (SOA) and is, therefore,
applicable to Web services that express the most popular SOA implementa­
tion. CSLogicAJ is built on LogicAJ (24), an aspect-oriented extension for
Java. CSLogicAJ contains logic metavariables that exploit notations from the
Prolog language and can be used uniformly in pointcuts and advices (e.g.,
?latitude). It allows the selection of join points and context information on
service level. Context-sensitive service aspects are applied synchronously by
intercepting calls to service interfaces or asynchronously as reactions to con­
text changes. A simple pointcut expression for service call logging and sorting
Context-Aware Web Service Development: Methodologies and Approaches 9

Figure 1.3: Object structure in the Isotope Programming Model.

actions on the service elements (e.g., returned service list) activated when the
user position changes is shown in Figure 14.4.

Figure 1.4: CSLogicAJ pointcut expression for service call logging.

The adaptation of aspects to context information is discussed in (30) re­


sulting to context-aware aspects. Context information is separated from the
aspects, whose execution is, however, driven by context. The aspects are
either applied or not based on their execution conditions. These context
conditions, which are specified together with the aspect definition, can be
composed, i.e., aggregate different context situations, or parameterized, i.e.,
bound with context properties that obtain a range of values (e.g., location
name, discount rate). An important feature of the solution lies in context
snapshotting, which is related with the assignment of timestamps to context
information. This way, the program behavior can be affected not only by
10 Context-Aware Web Services: Methods, Architectures, and Technologies

current context values, but also by past ones. Context-aware aspects have
been implemented in an open extension of Java, the AOP framework Re­
flex. Reflex allows first-class pointcuts for dynamic crosscutting. Hooksets of
Reflex can specify conditions of when to send a specific message to a meta
object, achieving this way AOP-compliant execution of code fragments and
also context-aware service behavior. In order to demonstrate the above a con­
text definition example is illustrated in Figure 1.5 for the case of an electronic
shop applying specific discounts to client purchases. PromotionCtx is bound
to occurrences of MsgReceive operations and is parameterized by the discount
rate (attribute rate). The activation state of the context is depicted through
the getState method. Readers interested in more information on AOP frame­
works that can be exploited for context-awareness purposes can refer to the
comparative study of (5).

Figure 1.5: Parameterized context definition for context-aware aspects.


Context-Aware Web Service Development: Methodologies and Approaches 11

1.3 Model-Driven Development


The principles of MDD can be applied in the field of context-aware Web
service development by introducing appropriate context-aware service models
or independent context models that can be combined with the correspond­
ing Web service models in order to express context adaptation conditions.
In many cases, the development approaches are close to the principles of
OMG's Model-Driven Architecture (MDA) (20) using Platform Independent
and Platform Specific Models (PIMs and PSMs respectively), whereas others
focus mainly on executable code results.
As already mentioned, the most widely adopted modeling language towards
model-driven development is UML. Therefore, the approaches presented in
this section follow mainly the UML notation. Different UML metamodels or
profiles have been proposed towards model-driven application development.
Metamodeling refers to the extension of the UML metaclasses for adaptation
to different domains of usage, whereas profiling is a special metamodeling
technique comprised of stereotypes that extend existing metaclasses and tags
that are standard meta-attributes. A generic UML profile not specific to
Web services is presented in (2), where the application modeling is performed
through class and sequence diagrams. Thereinafter, the application model
can be mapped to different platforms through appropriate transformations.
The profile is shown in Figure 1.6, where the values in brackets indicate the
UML extended metaclasses. Its elements can be divided into two main parts:

• context elements (Figure 1.6a): a number of stereotypes and tags


are introduced to model context properties («Context»), the periodic
or event-based collection process of context information (stereotypes
«Periodic C o l l e c t i o n » and «EventCollection» respectively), preci­
sion and other quality attributes («ContextQuality») and the context
situations that can affect the application behavior («ContextState»)
combined through «And» and «0r» constructs.

• context-awareness mechanisms (Figure 1.6b): refer to the ways the con­


text information affects the main application and include three adap­
tation types. Structural adaptation is related with adding or removing
attributes and methods from the application objects and is denoted
through various versions of the class that may be modified (^Variable
Structure»). Architectural adaptation refers to optional object instan­
tiation through the «0ptional» stereotype. Finally, behavioral adapta­
tion extends the UML sequence diagram in order to support the inclu­
sion of several sequences that can be optionally activated. The set of
context-dependent interactions is depicted using «Variable Sequence»,
which includes different interaction versions («SequenceVariant»). Op-
12 Context-Aware Web Services: Methods, Architectures, and Technologies

tional objects participating in the sequence diagram are shown using the
stereotype «OptionalLine» in the corresponding lifelines.

In the model-driven solution of (8) context is divided into state-based,


that corresponds to context attributes at a specific point in time, and event-
based, that represents changes to the state of an entity. Context-awareness
is modeled through constraints, which can be state constraints for specific
points in time or event constraints, when they are identified through a se­
ries of events. The application is adapted to context information in two
ways: through context-aware bindings that associate context values to ap­
plication entities and context-aware inserts that modify the application struc­
ture (e.g., by adding a new application attribute) or behavior (e.g., by exe­
cuting additional code). The main part of the proposed profile is depicted
in Figure 1.7. During the application design UML activity diagrams and the
entities «ContextMonitor» and «ContextAdapter» are also exploited. The
first entity is responsible for the monitoring of the contextual conditions and
the detection of cases, when the specified constraints are met, whereas the
second is responsible for the actual adaptation. The application, which con­
tains many AOP characteristics, is mapped to executable code in the AOP
language AspectJ, 2 where Adapters and Monitors are implemented as aspects.
A significant modeling attempt that is specific to Web services can be found
in ContextUML (27) and is illustrated in Figure 1.8. Different constructs
are introduced in the metamodel, in order to model: Web service properties
adaptable to context («CA0bject» and related elements), context information
containing plain or aggregated values («Context» and its subclasses) and con­
text sources («ContextSource») or service groups that provide appropriate
access to context resources («ContextServieCommunity»). Context depen­
dencies are depicted through the two subtypes of the «CAMechanism» class:
«ContextBinding» refers to a direct mapping between a context-aware el­
ement and a context value (e.g., user age or temperature value in Celsius
degrees), whereas «ContextTriggering» is related to the modification of the
service execution through an appropriate «Action» executed, when specific
conditions are met («ContextConstraint»).
The ContextUML metamodel is extended in (23) towards the direction of
further decoupling the context model from the service model design. In the
proposed scheme the elements of the extended ContextUML profile are com­
bined with UML activity diagrams in order to model applications consisting
of Web services. AOP techniques are also exploited in the platform specific
level for the service adaptation to the contextual environment. A similar
approach is proposed in (12). Different UML profiles are introduced at the
design level resulting in the modeling and, finally, in the executable code and
configuration files of a fully functional Web application consisting of differ­
ent context-adapted Web services. In this solution context management is

2
http://www.eclipse.org/aspectj/
Context-Aware Web Service Development: Methodologies and Approaches 13

Figure 1.6: Ayed profile for context properties and context-awareness.

decoupled from the main application logic in all development stages. The
Eclipse Modeling Framework (EMF) (4) and dedicated tools are exploited
14 Context-Aware Web Services: Methods, Architectures, and Technologies

Figure 1.8: The metaclasses of the ContextUML metamodel.

for the model parsing functions, whereas templates of the Apache Velocity
Context-Aware Web Service Development: Methodologies and Approaches 15

engine3 drive the transformation process. The proposed technique allows the
reuse of existing Web services through a reverse transformation between UML
models and WSDL descriptions (the direct process is described in (9)). Web
services are distinguished into business Web services that participate in the
main service logic and context Web services that expose the functionality of
context sources, whereas the application flow is modeled by a state transition
diagram. The steps of the methodology are illustrated in Figure 1.9.

Figure 1.9: Steps of model-driven development exploiting state machines and


platform specific implementation mapping.

In Context-Aware Service Oriented Architecture (CASOA) presented in


(32) the context view is also separated from the business view throughout the
application development. Context information is modeled using ontologies.
which have been transferred in UML notation for use with MDA abstraction
levels (Context View). In order to bind contextual properties and business
entities, a Composition View is introduced. It consists of Business Process
Components responsible for business logic functions and Context Processing
Components aiming at performing adaptation actions to the business behav­
ior; the two component groups are bound through the Component Manager

3
http://velocity.apache.org/
16 Context-Aware Web Services: Methods, Architectures, and Technologies

element. Multiple business and context components are put together through
the Composite Component Manager at Adaptation View, whereas Service
View is denoted to the representation of Web service properties (operation.
messages, etc.). These different views are depicted in Figure 1.10.

Figure 1.10: Views and components of Context-Aware Service-Oriented Ar­


chitecture.

Another model-driven approach built around three layers with different


abstraction degrees is presented in (1):

• First layer - service specification level: the context-aware service and its
environment are modeled from an external perspective in terms of con­
textual changes, information retrieval, and appropriate actions neglect­
ing information about implementation platforms and context retrieval
mechanisms.

• Second layer - platform-independent service design: the model view is


moved to the internal perspective expressing how the different applica­
tion parts communicate.
Context-Aware Web Service Development: Methodologies and Approaches 17

• Third layer - platform-specific service design: corresponds to the PSM


service model and refers to different middleware including Web services.

The procedure is built mainly around the abstract service platform A-


MUSE,4 which includes context sources and action providers, whereas a spe­
cialization of Interaction System Design Language (ISDL),5 namely Events-
Conditions-Actions Domain Language (ECA-DL), is exploited for modeling
purposes along with UML class diagrams and Object Constraint Language
(OCL) (21) expressions. The service creation process is preceded by a prepa­
ration phase, where the service developers identify the modeling properties,
such as modeling language, abstract platforms, and transformations.

1.4 Approaches Based on Semantic Technologies


Semantic technologies are used to encode dependencies between pieces of
information separately from data and content providing means for the sophis­
ticated representation of information including reasoning and inference ca­
pabilities. Moreover, the Web Ontology Language (OWL) has been finalized
since 2004 by W3C as one of the standard formats for ontology representation
(34). Ontologies are usually exploited for the modeling of context information
in specific domains of interest. However, in many cases the ontology specifi­
cation drives the development process. Thus, in this section we distinguish
two main subcategories that make use of semantic technologies. In the first
subcategory the development effort is concentrated around the system on­
tologies, whereas in the second the exploitation of the semantic capabilities of
Web services is undertaken.
In the first subcategory, where ontology definitions or service semantic prop­
erties are driving the development process in order to allow developers to reuse
existing services in specific domains, Knublauch presents the architecture of
an application that finds appropriate holiday destinations and activities for
customers based on OWL ontologies (15). The functionality of the applica­
tion is made available to software agents through a Web service interface and
to end-users through conventional Web browsers. Input to these services is
in both cases a collection of data objects/structures about a customer (e.g.,
age, available budget, etc.), while the output is a list of suitable destinations
along with a list of suggested activities (e.g., sightseeing, relevant sports,
bars, etc.) and corresponding contact addresses. Both input and output data
structures are represented in OWL, while OWL parsing and/or mapping into
object-oriented languages (e.g., Java) can be performed through frameworks

4
http://www.freeband.nl
5
http://isdl.ctit.utwente.nl/
18 Context-Aware Web Services: Methods, Architectures, and Technologies

like Jena (6). In (15), apart from input/output data structures, ontologies are
also used to represent the background knowledge, which is necessary to the
application in order to fulfill its task. These are two separate yet linked lay­
ers, namely the Semantic Web Layer, which makes ontologies and interfaces
available to the public, and the Internal Layer, which consists of control and
reasoning mechanisms (Figure 1.11). On the one hand, core ontologies define
the basic knowledge structure through base classes, which can be extended or
instantiated arbitrarily by external ontology providers on the semantic Web
and must be hardwired into the executable system. On the other hand, the
knowledge encoded in the external ontologies can only be used by generic rea­
soning engines like rule execution engines or description logic classifiers (3).
Protege with OWL Plugin (16) follows the above rationale in semantic Web
application development. Protege is an ontology-driven development tool pro­
viding intelligent guidance to detect mistakes as a debugger in a programming
environment, serving also as a rapid prototyping environment.

Figure 1.11: Layers in semantic Web applications.

In (29), Sun et al. apply software engineering methods and tools to visual­
ize, simulate, and verify Semantic Markup for Web Service (OWL-S) process
models. They present the software engineering language Live Sequence Charts
(LSCs) and its tool Play-Engine (10) to visualize and simulate OWL-S process
model ontologies, which capture the essential information about how a service
is to be invoked and executed, as well as the expected outputs. LSCs are a
powerful visual formalism serving as an enriched requirements' specification
language. Two kinds of charts are distinguished in LSCs: existential charts
Context-Aware Web Service Development: Methodologies and Approaches 19

are mainly used to describe possible interactions between participants in early


system design stages, while at a later stage universal charts are used to spec­
ify behaviors that should always be exhibited. A chart typically consists of
multiple instances, which are represented as vertical lines. Along with each
line there is a finite number of locations that are the joint points of instances
and messages. A location carries the "temperature annotation" for progress
within an instance and messages passing between instances are represented as
horizontal lines. "Cold conditions" are used as assistants specifying complex
control structures like "do-while," "guarded-choice," etc. "Hot conditions" are
asserted to assure critical properties at certain points of execution. Figure 1.12
depicts an LSC universal chart capturing the required interactions between a
Serving-Using Agent and a Budget-Checking Agent cooperating in the Check
Holiday Budget service.

Figure 1.12: An LSC example: Check Holiday Budget.

When the Service-Using Agent requests the "Check Budget" service,


20 Context-Aware Web Services: Methods, Architectures, and Technologies

necessary information like budget_ticket_cost , budget_room_cost and


budget_car_cost is provided by the Service-Using Agent. The Budget-
Checking Agent returns true if the budget is more or equal to the sum of
the ticket/room/car-rental cost and false otherwise. One of the significant
advantages of using LSCs is that LSC descriptions can be executed by Play-
Engine without implementing the underlying object system. Play-Engine is a
tool supporting a "play-in" - "play-out" approach to the specification, valida­
tion, analysis, and execution of LSCs. Behavior is "played-in" directly from
the system's user interface, and as this is being done the Play-Engine is con­
structing LSCs. Later, behavior can be "played-out" independently from the
user interface, and the tool executes the LSCs directly, driving this way the
system's behavior. With "playing-out" Play-Engine computes a "maximal re­
sponse" to a user-provided event. During the computing of such an event
"hot-conditions" are evaluated. If any "hot condition" evaluates to false, a
violation is caught. Otherwise, simulation continues with the user-provided
events. This way, users may detect undesired behaviors allowed by the speci­
fication early in the development.
Another Semantic Web Service Development Tool - called ODE SWS -
is presented in (7). ODE-SWS is a development environment for the de­
sign of Semantic Web Services (SWS) at the knowledge level. It describes
the service following a problem-solving approach, in which the Semantic Web
Services are modeled by "tasks" and "methods." More specifically, "tasks"
describe the functional feature of a service, i.e., service's input/output roles,
pre/post conditions and effects. Each task describes, on the one hand, the
roles and conditions required to execute the service (i.e., input roles and
pre-conditions) and on the other hand the results of the service execution
(i.e., output roles, post-conditions and effects). "Methods" describe how a
task can be solved. In other words, they specify the control of the rea­
soning steps needed to solve a given task. A method is defined by a set
of input/output roles, the preconditions, which must be verified for method
execution, and the postconditions, which describe the final state after the
execution. A method describes also the internal components that are exe­
cuted to solve a task. These components are tasks (called subtasks), each
solved by other methods that can be composed of other sub-tasks, and so
forth. Figure 1.13a shows the representation - as an eclipse - of the task
Task_Book Restaurant, which defines the functional features of the service
BookRestaurant. Figure 1.13b depicts an example of the internal descrip­
tion of a method (rounded corner square): the task Task_ BookRestaurant is
solved by the method Method_ BookRestaurant, which is composed of four sub-
tasks Task_Find Restaurant, Task_CheckWorkingHours, Task_SelectTable,
and Task_ BookTable. The description of the internal structure of the
method is completed with the definition of the execution coordination of
its subtasks; that is, a method specifies the control flow among its sub-
tasks. Figure 1.13c presents graphically the coordination of the subtasks of
the method Method Book Restaurant: the tasks Task FindRestaurant and
Context-Aware Web Service Development: Methodologies and Approaches 21

Task_ CheckWorkingHours are executed first in order to select a restaurant in


a given day and time. Then, the task Task_SelectTable is executed in a loop
until the user selects the desired table and, finally, the task Task_BookTable
books the table.

Figure 1.13: Tasks & Methods: The Book Restaurant example.

Another ontology-based approach for the specification and reconciliation of


Web service context is presented in (28). Maamar et al. have also highlighted
the importance of dealing with the composition of Web services at three con­
nected levels (18). The lower level is dedicated to the messages exchanged
among the interactive Web services of a composite service. The mid level is
22 Context-Aware Web Services: Methods, Architectures, and Technologies

about the semantics of the content that these messages transfer and the need
for common semantics becomes intensified especially when Web services com­
ing from different providers take part in the composition. Finally, the higher
level is related to the context, in which the Web service composition takes
place. Since Web services may belong to different providers, their context
definition can be different in terms of structure, name, number, and meaning
of arguments, etc. Subramanian et al. present a two-step process in order to
address the potential context heterogeneity of Web services. The first step
consists of specifying contexts using a dedicated language: OWL-C (Ontol­
ogy Web Language for Context ontologies), which is detailed in (18). The
second step consists of fixing the heterogeneity of contexts using mediation
mechanisms. These mechanisms are supported by a prototype called ConWeS
(Context-based semantic Web Services).
In the second subcategory, ontologies and context are used to discover
reusable WSs for development purposes. Furthermore, the studies within
this subcategory describe the extraction of ontologies from WS descriptions
in order to identify the context conditions where the WS can be reused. In
(31), the term "context" is defined from two perspectives: one from service
requesters' and another one from Web services'. From the former perspective,
context is defined as the surrounding environment affecting requesters' service
discovery and access, such as requesters' preferences, activities and accessible
network and devices, while from the latter perspective, context is defined as
the surrounding environment affecting Web service delivery and execution,
such as networks and protocols for service binding, devices, and platforms for
service execution, and so on. In this study an ontology-based context model
towards a formal definition of contextual descriptions pertaining to both ser­
vice requesters and Web services is presented. Yang et al. have implemented
the ontology-based context model into a rule-base system using Java Expert
System Shell (JESS) 6 for context elicitation by using an algorithm – called
Rete – to match rules. This procedure is much faster than a simple set of cas­
cading "if-then" statements adopted in conventional programming languages.
Based on this context elicitation system, the authors present a Context-Aware
Services-Oriented Architecture (CA-SOA) for providing context-aware ser­
vices requests, publication, and discovery. OWL-S is utilized as the vehicle
to carry contextual information, since OWL-S is a known tool from the se­
mantic Web society tailored for Web services. Nevertheless, one of the main
advantages is that both context model and CA-SOA are open and not limited
to OWL-S. Other proprietary (e.g., Web Service Level Agreement from IBM)
or standard (e.g., Web Services Agreement Specification from Global Grid
Forum) solutions can be used to carry the knowledge.
An approach for the automatic retrieval of Web services is proposed in
(13). In contrast with other approaches, this approach uses a context on-

6
www.jessrules.com
Context-Aware Web Service Development: Methodologies and Approaches 23

tology as the basis of the capability descriptions of Web services and when
the capability descriptions of both Web services and the Web requests are
grounded onto the same ontology, a matchmaking method is given for judg­
ing the equivalency between them. Jin and Liu argue that the real meaning
of Web services should be captured by the corresponding controllable entities
that Web services can interact with and can bring effects to. Thus, the Web
service context is actually related to the effects that the Web service and its
meaning can impose to its content and the way that the Web service im­
poses the effects. Furthermore, these controllable entities are domain-relevant
and independent to any Web services. Consequently, the conceptualization of
the controllable resources becomes the shared domain knowledge for domain
Web services. Based on their previous work, they propose a two-level context
ontology for specifying both entities and effects. The ontology on the first
level declares the context entities of Web services, while the second level in­
troduced (the domain ontology) is sharable and helps Web services find each
other automatically.
Another approach based on domain ontologies is proposed in (26). Sabou
et al. cite the problem of semi-automatically learning Web service domain
ontologies and target a better understanding of the ontology learning task in
the context of Web services and the identification of technologies that could
potentially be used. They have designed a framework for performing ontology
learning in the context of Web services addressing several issues that constrain
the development of an ontology learning solution in two ways. First, the
framework exploits the peculiarities of Web service documentations to extract
information used for ontology building. More specifically, the sublanguage
characteristics of these texts lead to the identification of a set of heuristics.
These heuristics are implemented as pattern-based extraction rules defined on
top of linguistic information. Second, the learned ontologies are suited for Web
service descriptions as they contain both static and procedural knowledge.

1.5 Discussion
The three approaches presented above enable developers to decouple, to
a significant extent, the service logic from the context management part of
a service. On the other hand, they have quite a few differences; therefore,
an important question from a developer's viewpoint is whether a specific ap­
proach is more suitable than others for a specific type of service or even a
specific development methodology.
If a rigorous service development methodology is used, investing signifi­
cantly in the design stage, then MDD approaches are probably more suitable
for context-aware Web service development. One can choose from several
24 Context-Aware Web Services: Methods, Architectures, and Technologies

Web service and context models already available and impose modification
to either model (Web service or context model) with minimal implications to
the other. There is also the possibility of source code generation either in a
popular programming language (usually Object-Oriented) or to an extended
version of such language as the ones described in Section 1.2. Programming
language extensions are obviously more suitable when an agile development
method is employed involving frequent Web service releases keeping model­
ing efforts to a minimum. In the case where the ability to perform complex
reasoning using context is a priority then an approach involving semantics is
probably preferable. This of course comes at a certain cost in the sense that
the Web service development team must feel at ease with ontology specifica­
tion languages such as OWL and the use of rule/reasoning engines such as
Jess. Of course nothing precludes the use of a hybrid approach combining two
or more of the approaches presented above or even other approaches available
for context-aware Web service development. This is the case with (33) and
(22) where model-driven transformations are guided by respective ontologies.
Also, as it has been mentioned above, Model-Driven Development blends well
with programming language extensions at the source code generation stage.
The multiplicity of options faced by a potential developer indicate that
we are still lacking a uniform approach regarding context-aware Web service
development methodology that can be applied in conjunction with a vari­
ety of modeling techniques and programming language frameworks. In this
respect, one very obvious issue for future research is the process of gathering
and analyzing requirements for context-aware Web services. Another issue
is whether effort should be placed on the specification of high-level program­
ming languages especially for services (such as (17)) or even especially for
context-aware Web services. Last but not least, handling of context-related
information and exchange of such information between service nodes always
raises issues concerning privacy and security. Indeed, context information re­
lated to sensitive user data, such as personal information, current location,
ongoing and past transactions, etc., should not be revealed easily; significant
research effort should be placed in this direction as well.

1.6 Summary
This book chapter was dedicated to the presentation of techniques exploited
for the development of context-aware Web services. It has been concerned
with three such directions: programming language extensions, model-driven
development and semantic technologies, which have been proven quite popu­
lar taking into account the existing literature. For each approach it is shown
how it facilitates context handling during the service design and development
Context-Aware Web Service Development: Methodologies and Approaches 25

process. A brief evaluation of the three approaches is provided at the end


along with ideas for future research directions. The main conclusion drawn is
that we still have some distance to cover with respect to a software produc­
tion methodology tailored to the specific requirements of context-aware Web
services.
References

[1] Almeida, J. P. A., Iacob, M.-E., Jonkers, H. and Quartel, D. 2006. Model-
Driven Development of Context-Aware Services. Proceedings of the 6th
IFIP International Conference Distributed Applications and Interop­
erable Systems, 213-227.
[2] Ayed, D., Delanote, D. and Berbers, Y. 2007. MDD Approach for the
Development of Context-Aware Applications. Proceedings of the 6th
International and Interdisciplinary Conference on Modeling and Us­
ing Context, 15-28.
[3] Baader, F., Calvanese, D., McGuineness, D., Nardi, D. and Patel-
Schneider, P. 2003. The Description Logic Handbook. Cambridge Uni­
versity Press.
[4] Budinsky, F., Steinberg, D., Merks, E., Ellersick, R. and Grose, T. J.
2003. Eclipse Modeling Framework. Addison Wesley Professional.
[5] Dantas, F., Batista, T. and Cacho, N. 2007. Towards Aspect-Oriented
Programming for Context-Aware Systems: A Comparative Study.
Proceedings of the 1st International Workshop on Software Engineer­
ing for Pervasive Computing Applications, Systems, and
Environments.
[6] Goldman, N. 2003. Ontology-Oriented Programming: Static Typing for
the Inconsistent Programmer. Proceedings of the 2nd International
Semantic Web Conference, 850-865, Springer-Verlag.
[7] Gomez-Perez, A., Gonzalez-Cabero, R. and Lama, M. 2004. ODE SWS:
A framework for designing and composing semantic Web services.
IEEE Intelligent Systems 19(4):24-31.
[8] Grassi, V. and Sindico, A. 2007. Towards Model Driven Design of Service-
Based Context-Aware Applications. Proceedings of the International
Workshop on Engineering of Software Services for Pervasive Environ­
ments: in conjunction with the 6th ESEC/FSE joint meeting, 69-74.
[9] Gronmo, R., Skogan, D., Solheim, I., Oldevik and J. 2004. Model-driven
web services development. Proceedings of the IEEE International
Conference on e-Technology, e-Commerce and e-Service (EEE'04),
42-45.
[10] Harel, D. and Marelly, R. 2003. Come, Let's Play: Scenario-Based Pro­
gramming Using LSCs and the Play-Engine. Springer-Verlag.

27
28 Context-Aware Web Services: Methods, Architectures, and Technologies

[11] Hirschfeld, R., Costanza, P. and Nierstrasz, O. 2008. Context-oriented


Programming. Journal of Object Technology 7(3):125-151.
[12] Kapitsaki, G. M., Kateros, D. A., Prezerakos, G. N. and Venieris,
I. S. 2009. Model-driven Development of Composite Context-aware
Web Applications. Journal of Information and Software Technology
51(8):1244-1260.
[13] Jin, Z. and Liu, L. 2006. Web Service Retrieval: An Approach Based
on Context Ontology. Proceedings of the 30th Annual International
Computer Software and Applications Conference, 513-520.
[14] Keays, R. and Rakotonirainy, A., 2003. Context-Oriented Programming.
Proceedings of the 3rd ACM International Workshop on Data Engi­
neering for Wireless and Mobile Access, 9-16.
[15] Knublauch, H. 2004. Ontology Driven Software Development in the Con­
text of the Semantic Web: An Example, Scenario with Protege/OWL.
Proceedings of the 1st International Workshop on the Model-
Driven Semantic Web Enabling Knowledge Representation and MDA
Technologies to Work Together.
[16] Knublauch, H., Fergerson, R., Noy, N. and Musen, M., 2004. The Pro­
tege OWL Plugin: An Open Development Environment for Semantic
Web Applications. Proceedings of the 3rd International Semantic Web
Conference.
[17] Labey, S. De, van Dooren, M. and Steegmans, E. 2007. ServiceJ A Java
Extension for Programming Web Services Interactions. Proceedings of
the IEEE International Conference on Web Services, 505-512.
[18] Maamar, Z., Narendra, N. and van den Heuvel, W. 2005. Towards
an Ontology-based Approach for Specifying Contexts of Web Ser­
vices. Proceedings of the Montreal Conference on e-Technologies
(MCETECH'2005).
[19] Min, X., Jizhong, Z., Yong, Q., Hui, H., Ming, L. and Wei, W. 2007.
Isotope Programming Model: a Kind of Program Model for Context-
Aware Application. Proceedings of the International Conference on
Multimedia and Ubiquitous Engineering, 597-602.
[20] OMG. 2003. Model-Driven Architecture v.1.0.1. http://www.omg.org/
docs/omg/03-06-01.pdf (accessed March 29, 2009).
[21] OMG. 2006. Object Constraint Language Specification v.2.0. http://
www.omg.org/docs/formal/06-05-01.pdf (accessed March 29, 2009).
[22] Ou S., Georgalas N., Azmoodeh M., Yang K. and Sun X. 2006. A Model
Driven Integration Architecture for Ontology-Based Context Mod­
elling and Context-Aware Application Development. Proceedings of
the Second European Conference on Model Driven Architecture Foun­
dations and Applications, 188-197, Springer-Verlag.
Context-Aware Web Service Development: Methodologies and Approaches 29

[23] Prezerakos, G. N., Tselikas, N. and Cortese, G. 2007. Model-driven Com­


position of Context-aware Web Services Using ContextUML and As­
pects. Proceedings of the IEEE International Conference on Web Ser­
vices 2007, 320-329.
Rho, T. and Kniesel, G. 2004. Uniform Genericity for Aspect Languages.
Technical report IAI-TR-2004-4. CS Dept. III, University of Bonn.
Rho, T., Schmatz, M. and Cremers, A. B. 2006. Towards Context-
Sensitive Service Aspects. Proceedings of the European Conference
on Object-Oriented Programming.
Sabou, M., Wroe, C , Goble, C. and Stuckenschmidt, H. 2005. Learning
domain ontologies for semantic Web service descriptions. Journal of
Web Semantics 3(4):340-365.
Sheng, Q. Z. and Benatallah, B. 2005. ContextUML: A UML-Based Mod­
eling Language for Model-Driven Development of Context-Aware Web
Services. Proceedings of the International Conference on Mobile Busi­
ness, 206-212.
Subramanian, S., Narendra, N. and Maamar, Z. 2006. Ontologies for
Specifying and Reconciling Contexts of Web Services. Electronic
Notes in Theoretical Computer Science 146(1):43-57.
Sun, J., Li, Y., Sun, J. and Wang, H. 2005. Visualizing and Simulating
Semantics Web Services Ontologies. Proceedings of the 7th Interna­
tional Conference on Formal Engineering Methods.
Tanter, E., Gybels, K., Denker, M. and Bergel, A. 2006. Context-Aware
Aspects. Proceedings of Software Composition 2006, 227-242.
Yang, S., Zhang, J. and Chen, I. 2008. A JESS-enabled context elicitation
system for providing context-aware Web services. Expert Systems with
Applications 34(4):2254-2266.
Vale, S. and Hammoudi, S. 2008. Model Driven Development of Context-
aware Service Oriented Architecture. Proceedings of the 11th IEEE
International Conference on Computational Science and Engineering
Workshops, 412-418.
Vale, S. and Hammoudi, S. 2008. Context-aware Model Driven Devel­
opment by Parameterized Transformation. Proceedings of the Model
Driven Interoperability for Sustainable Information Systems, 121-133.
World Wide Web Consortium. 2004. OWL Web Ontology Language
Reference. http://www.w3.org/TR/owl-features/ (accessed April 10,
2009).
Chapter 2
Model-Driven Development of
Context-Aware Web Services

Jian Yu, Quan Z. Sheng, Kewen Liao, and Hoi S. Wong

2.1 Introduction 31
2.2 Background 32
2.3 ContextUML 35
2.4 ContextServ Platform 39
2.5 Applications 44
2.6 Discussion and Conclusion 45

2.1 Introduction
Context awareness refers to the capability of an application or a service be­
ing aware of its physical environment or situation (i.e., context) and respond­
ing proactively and intelligently based on such awareness (1, 7, 11). With
recent developments in computer hardware, software, networking, and sensor
technologies, context awareness becomes one of the most exciting trends in
computing today that holds the potential to make our daily lives more pro­
ductive, convenient, and enjoyable. For example, a tour-guide service gives
tourists suggestions on the attractions to visit by considering their current
locations, preferences, and even the prevailing weather conditions.
In the last decade, Web services have become a major technology to imple­
ment loosely-coupled business processes and perform application integration.
Through the use of context, a new generation of smart Web services are cur­
rently emerging as an important technology for building innovative context-
aware applications. We call such category of Web services context-aware Web
services, or CASs in short.
To date, CASs are still hard to build. One reason is that current Web ser­
vices standards (e.g., UDDI, WSDL, SOAP) are not sufficient for describing
and handling context information (13, 15, 22, 24). CAS developers must im­
plement everything related to context management—including the collection,
dissemination, and usage of context information—in an adhoc manner. An­
other reason is that, to the best of our knowledge, there is a lack of generic
approaches for formalizing the development of CASs. As a consequence, de­
veloping CASs is a very cumbersome and time-consuming activity, especially
when these CASs are complex.

31
32 Context-Aware Web Services: Methods, Architectures, and Technologies

Model Driven Architecture (MDA) (8) is an approach that supports sys­


tem development by employing a model-centric and generative development
process. MDA increases the quality of complex software systems based on
creating high level system models and automatically generating system archi­
tectures from the models. It also eases system maintenance and evolution.
Any changes can be easily made at the model level and propagated auto­
matically to the implementation. Finally, MDA enhances the portability of
service design due to technical independence of service models. The service
models can be migrated to new technologies (e.g., new Web service languages
or protocols) by simply developing new transformation rules.
This chapter presents ContextServ (21), a platform for rapid development
of context-aware Web services. ContextServ uses a UML-based modelling
language—ContextUML (20)—for formalizing the design and development
of CASs. ContextUML provides constructs for i) generalizing context pro­
visioning that includes context attributes specification and retrieval; and ii)
formalizing context-awareness mechanisms and their usage in CASs. Con­
textServ supports the full lifecycle of developing CASs: it includes a visual
ContextUML editor, a translator from ContextUML to WS-BPEL—the de
facto Web services process language, and a WS-BPEL deployer working with
the JBoss Application Server.
The rest of the chapter is organized as follows: Section 2.2 briefly overviews
some basic concepts used in the chapter, and then gives an example CAS.
Section 2.3 introduces the ContextUML language for modelling the concept
of context and the context-aware mechanisms. Section 2.4 introduces the
architecture and implementation of ContextServ. The main components of
ContextServ, including the Context Manager, the ContextUML Modeler, and
the RubyMDA Transformer will be discussed in detail. Section 2.5 showcases
the real-life application of the ContextServ platform with a a context-aware
Web application called Smart Adelaide Guide. Finally, Section 2.6 discusses
related work and also compares the capability of several UML-based context
modelling languages, and concludes the paper.

2.2 Background
In this section, we first briefly overview some basic relevant concepts,
namely model-driven development, UML, context, and context-aware Web ser­
vice (CAS).

2.2.1 Model-Driven Development


Model driven development (MDD) (8) is an approach that supports sys­
tem development by employing a model-centric and generative development
Model-Driven Development of Context-Aware Web Services 33

Figure 2.1: Model-driven development.

process. The basic idea of MDD is illustrated in Figure 2.1. Adopting a


higher-level of abstraction, software systems can be specified in platform in­
dependent models (PIMs), which are then (semi) automatically transformed
into platform specific models (PSMs) of target executable platforms using
some transformation tools. The same PIM can be transformed into differ­
ent executable platforms (i.e., multiple PSMs), thus considerably simplifying
software development.

2.2.2 Unified Modelling Language


The Unified Modelling Language (UML)1 is considered as the industry de-
facto standard for modelling software systems and plays a central role in Model
Driven Architecture (MDA) (8). In UML, the structural aspects of software
systems are defined as classes, each formalizing a set of objects with com­
mon services, properties, and behavior. Services are described by methods.
Properties are described by attributes and associations. Object Constraint
Language (OCL) can be used to express additional constraints.
UML can also serve as the foundation for building domain specific lan­
guages by specifying stereotypes, which introduce new language primitives by
subtyping UML core types, and tagged values, which represent new properties
of these primitives. Model elements are assigned to such types by labelling
them with the corresponding stereotypes. In addition, UML can also be used
as meta modelling language, where UML diagrams are used to formalize the
abstract syntax of another modelling language.

http://www.omg.org/technology/documents/formal/uml.htm.
34 Context-Aware Web Services: Methods, Architectures, and Technologies

2.2.3 Context
Dey and Abowd have defined context—which is widely used in the literature
today—as "any information that can be used to characterize the situation of
an entity. An entity is a person, place, or object that is considered relevant
to the interaction between a user and an application, including the user and
applications themselves'' (6).
In a CAS environment, context contains any information that can be used
by a Web service to adjust its execution and output. Examples of contexts are:
i) contexts related to a service requester (mostly it is the client who invokes
a service), including the requester's identification information, personal pref­
erences, current situation (e.g., location), and other information (e.g., friends
list, calendar); ii) contexts related to a Web service, such as service location,
service status (e.g., available, busy), and its QoS attributes (e.g., price, reli­
ability); and iii) other contexts like time and weather information. It should
be noted that some contexts are application specific. Forecasted weather,
for instance, could be a context in a vacation planning service, but not in a
currency conversion service.
Some context information can be sensed directly (e.g., locations and tem­
peratures using physical sensors), while others have to be derived from avail­
able context information. Contexts are provided by context providers. It
is interesting to mention that more and more context providers advertise
their services—called context information services2—over the Web that can
be seamlessly integrated into CASs. Recently, quite a few research efforts on
modelling the context provisioning services are proposed (18, 4, 10).

2.2.4 C o n t e x t - A w a r e W e b Service
A Web service is context-aware if it uses context information to provide
relevant information and/or services to users, where relevancy depends on
the users' task (6, 16, 19). A CAS can present relevant information or can
be executed or adapted automatically, based on available context information.
For example, a service can display restaurants that are around a user's current
location, and if the weather is good, the service even suggests some restaurants
that customers can sit outside.
To develop CASs, two important issues need to be considered. The first
is the provisioning of context information. CAS developers have to identify
what kind of context information will be used and how to derive it. Due
to heterogeneity of context providers, sensor imperfection, quality of context
information, and dynamic context environments, context provisioning is not
trivial (18). In particular, various context providers may provide a same piece
of context information (usually with different quality and data formats) and
it is difficult to specify—at design stage—which context provider should be

E.g., U.S. National Weather Service, http://www.nws.noaa.gov.


Model-Driven Development of Context-Aware Web Services 35

contacted for the provision of a particular context. Further, some context


required by a CAS may not be able to find any context provider who can
supply the context directly.
The second issue is the mechanisms that can be used by CASs to adapt
their behaviors based on corresponding context information without explicit
user intervention. In other words, it is the problem of how to use context in­
formation to achieve context awareness of services. In addition, the abstracted
context awareness mechanisms should guarantee the efficiency of the devel­
opment and maintenance of CASs. For instance, it should be possible to use
legacy Web services to develop CASs without changing their implementation.

2.2.5 A t t r a c t i o n S e a r c h i n g Service
Suppose that there is a context-aware attraction searching service that is
offered by a mobile network operator. Mobile users subscribed to the net­
work operator can invoke this service using their mobile devices to get the
recommended attractions when they visit new cities. The service works like
the following:
• Users can subscribe their personal preferences to the service. For exam­
ple, a user can specify what kinds of attractions (e.g., historical sites) she
likes, and which language (e.g., Chinese) the description of attractions
should be.
• The service recommends attractions according to a user's location (e.g.,
the city that the user is currently in).
• During the recommendation, the service also considers other contexts
like weather and user preferences. If the weather is harsh, the service
will only suggest indoor attractions (e.g., Adelaide Art Gallery). The
definition of weather to be harsh depends on a couple of contexts like the
temperature (e.g., above 30 degree Celsius) and the speed of wind (e.g.,
more than 50 km/h). The recommended attractions will also reflect the
user's preferences, e.g., translating the attraction descriptions to the
user's preferred language.

2.3 ContextUML
In this section, we introduce the ContextUML modelling language, a core
component that underpins the model-driven development of CASs. Con­
textUML metamodel is shown in Figure 2.2, which can be roughly divided
into two parts: context modelling metamodel and context-awareness modelling
metamodel.
36 Context-Aware Web Services: Methods, Architectures, and Technologies

Figure 2.2: ContextUML metamodel.

2.3.1 Context Modelling


Context T y p e
A Context is a class that models the context information. In our design, the
type Context is further distinguished into two categories that are formalized
by the subtypes AtomicContext and CompositeContext. Atomic contexts are
low-level contexts that do not rely on other contexts and can be provided
directly by context sources (see Section 2.3.1). In contrast, composite contexts
are high-level contexts that may not have direct counterparts on the context
provision. A composite context aggregates multiple contexts, either atomic or
composite. The concept of composite context can be used to provide a rich
modelling vocabulary.
For instance, in the scenario of a t t r a c t ion-search service, temperature
and wind speed are atomic contexts because they can be provided by e.g.,
GlobalWeather 3 Web service. Whereas, harshWeather is a composite context
that aggregates the former two contexts.

Context Source
The type ContextSource models the resources from which contexts are re­
trieved. We abstract two categories of context sources, formalized by the
context source subtypes ContextService and ContextServiceCommunity, respec­
tively. A context service is provided by an autonomous organization (i.e.,
context provider), collecting, refining, and disseminating context information.
To solve the challenges of heterogeneous and dynamic context information,
we abstract the concept of context service community, which enables the dy­
namic provisioning of optimal contexts. The concept is evolved from service
community we developed in (3) and the details will be given in Section 2.3.1.

http://www.capescience.com/webservices/globalweather.
Model-Driven Development of Context-Aware Web Services 37

It should be noted that in ContextUML, we do not model the acquisition of


context information, such as how to collect raw context information from sen­
sors. Instead, context services that we abstract in ContextUML encapsulate
sensor details and provide context information by interpreting and transform­
ing the sensed information (i.e., raw context information). The concept of
context service hides the complexity of context acquisition from CAS design­
ers so that they can focus on the functionalities of CASs, rather than context
sensing.

Context Service Community


A context service community aggregates multiple context services, offering
with a unified interface. It is intended as a means to support the dynamic
retrieval of context information. A community describes the capabilities of a
desired service (e.g., providing user's location) without referring to any actual
context service (e.g., WhereAml service). When the operation of a community
is invoked, the community is responsible for selecting the most appropriate
context service that will provide the requested context information. Context
services can join, leave communities at any time.
By abstracting ContextServiceCommunity as one of context sources, we can
enable the dynamic context provisioning. In other words, CAS designers do
not have to specify which context services are needed for context information
retrieval at the design stage. The decision of which specific context service
should be selected for the provisioning of a context is postponed until the
invocation of CASs.
The selection can be based on a multicriteria utility function (23, 3) and
the criteria used in the function can be a set of Quality of Context (QoC)
parameters (5). The examples of QoC parameters are: i) p r e c i s i o n indi­
cating the accuracy of a context information; ii) c o r r e c t n e s s P r o b a b i l i t y
representing the probability of the correctness of a context information; and
iii) refreshRate indicating the rate that a context is updated.
The quality of context is extremely important for CASs in the sense that
context information is used to automatically adapt services or content they
provide. The imperfection of context information may make CASs misguide
their users. For example, if the weather information is outdated, our attrac­
tions searching service might suggest users to surf at the Bondi Beach although
it is rainy and stormy. Via context service communities, the optimal context
information is always selected, which in turn, ensures the quality of CASs.

2.3.2 Context Awareness Modelling


A CAMechanism is a class that formalizes the mechanisms for context aware­
ness (CA for short). We differentiate between two categories of context aware­
ness mechanisms by subtypes ContextBinding and Context Triggering, which will
be detailed in Section 2.3.2 and Section 2.3.2, respectively. Context aware-
38 Context-Aware Web Services: Methods, Architectures, and Technologies

ness mechanisms are assigned to context-aware objects—modelled in the type


CAObject—by the relation MechanismAssignment, indicating which objects have
what kinds of context awareness mechanisms.
CAObject is a base class of all model elements in ContextUML that represent
context-aware objects. There are four subtypes of CAObject: Service, Operation.
Message, and Part. Each service offers one or more operations and each oper­
ation belongs to exactly one service. The relation is denoted by a composite
aggregation (i.e., the association end with a filled diamond). Each operation
may have one input and/or one output messages. Similarly, each message may
have multiple parts (i.e., parameters). A context awareness mechanism can be
assigned to either a service, an operation of a service, input/output messages
of an operation, or even a particular part (i.e., parameter) of a message. It is
worth mentioning that the four primitives are directly adopted from WSDL,
which enables designers to build CASs on top of the previous implementation
of Web services.
Context Binding
A ContextBinding is a subtype of CAMechanism that models the automatic
binding of contexts to context-aware objects. By abstracting the concept of
context binding, it is possible to automatically retrieve information for users
based on available context information. For example, suppose that the opera­
tion of our example CAS has an input parameter c i t y . Everyone who wants
to invoke the service needs to supply a city name to search the attractions.
Further suppose that we have a context user-Location that represents the
city a user is currently in. A context binding can be built between c i t y (in­
put parameter of the service) and user-Location (context). The result is that
whenever our CAS is invoked, it will automatically retrieve attractions in the
city where the requester is currently located.
An automatic contextual reconfiguration (i.e., context binding) is actually
a mapping between a context and a context-aware object (e.g., an input pa­
rameter of a service operation). The semantics is that the value of the object
is supplied by the value of the context. Note that the value of a context-aware
object could be derived from multiple contexts. For the sake of simplicity, we
restrict our mapping cardinality as one to one. In fact, thanks to the introduc­
tion of the concept of composite context, we can always model an appropriate
composite context for a context-aware object whose value needs to be derived
from multiple contexts.

Context Triggering
The type Context Triggering models the situation of contextual adaptation
where services can be automatically executed or modified based on context
information. A context triggering mechanism contains two parts: a set of
context constraints and a set of actions, with the semantics that the actions
must be executed if and only if all the context constraints are evaluated as
true.
Model-Driven Development of Context-Aware Web Services 39

A context constraint specifies that a certain context must meet certain


conditions in order to perform a particular operation. Formally, a context
constraint is modelled as a predicate (i.e., a Boolean function) that consists
of an operator and two or more operands. The first operand always repre­
sents a context, while the other operands may be either constant values or
contexts. An operator can be either a prefix operator that accepts two or
more input parameters or a binary infix operator (e.g., =, <) that compares
two values. Examples of context constraints can be: i) harshWeather= true:
ii) windSpeed< 50 .
Considering our a t t r a c t ion-search service, we can have a context trig­
gering mechanism assigned to its output message. The constraint part of the
mechanism is harshWeather= true , and the action part is a transformation
function f i l t e r ( M , R) , where M is the output message and R is a trans­
formation rule (e.g., selecting only indoor attractions). Consequently, when
a weather condition is not good, the output message will be automatically
filtered (e.g., removing outdoor attractions) by the service.

2.4 ContextServ Platform


We have developed the ContextServ platform that provides an environment
where a service developer specifies the required contexts and context-aware
Web services using high-level and visual modelling languages. The service
model is automatically transformed, using a set of transformation rules, to
the executable specification of the target platform, which is then deployed to
the corresponding execution engine. At this point, the service provider also
needs to create a WSDL specification for the service and publish it (e.g., to
UDDI registry) for free location and invocation.
The ContextServ architecture consists of three main components, namely
the Context Manager, the ContextUML Modeler, and the RubyMDA Trans­
former (see Figure 2.3). All these components are implemented in Java. In
the following subsections, we present the details of these three components.

2.4.1 Context Manager


Current implementation of the context manager supports atomic context,
composite context, and context community.

Managing Atomic Context


As mentioned in Section 2.3.1, atomic contexts are low-level contexts that
can be obtained directly from context sources. For the ContextServ platform
to access context sources, context providers must be registered in the plat-
Exploring the Variety of Random
Documents with Different Content
Einbäumen stromab und sahen, daß weiter unten eine furchtbare
Überschwemmung herrschte. Ganze Landstriche waren schon von
den Eingeborenen verlassen; durch die Hütten strömte das Wasser.
Zufällig fanden wir noch eine kleine Insel, die noch nicht ganz
überschwemmt war, und konnten dort übernachten.
Am nächsten Morgen fuhren wir weiter und trieben in schneller
Fahrt an einer Hütte vorbei, als unser Bootssteurer hinüberrief:
„Vater, bist du noch da?“
Und eine Stimme antwortete: „Ja“.
Der Alte saß im Dachgebälk der Hütte, während das Wasser
unten hindurchströmte.
Als wir fragten, weshalb er nicht auch fliehe, sagte unser
Bootssteurer nur: „mzee“, was heißen kann, „er ist sehr alt und kann
deshalb nicht mehr recht mit“, oder „es lohnt sich für ihn nicht mehr
zu fliehen, er ist ja doch nicht mehr viel wert.“
Auf den weiten Wasserflächen war von den Flußpferdherden
nichts zu merken. Die Tiere, die in der Trockenzeit auf kleine Teiche
und auf den nicht allzubreiten Fluß beschränkt sind, verteilten sich
jetzt auf ein großes Gebiet.
Die Boma in Mayenge war rings von Wasser umgeben. Das
Wasser hatte den Befestigungsgraben so verbreitert, daß ein kleiner
Fluß entstanden war, in dem die Boys Wettspiele trieben.
Im Anfang des Jahres 1906 war am Rufiyi eine Überschwemmung, wie seit vielen
Jahren keine beobachtet wurde; der Mais, auf den die hungrigen Neger warteten,
verfaulte auf den Feldern und die Hütten stürzten ein.

Ich hatte das Vergnügen, in Mayenge mit acht indischen


Händlern abzurechnen, deren Getreide ich in ihren Läden hatte
beschlagnahmen lassen, um es der notleidenden Expedition des
Hauptmanns v. Wangenheim entgegenzuschicken. Manji Virji, Ganji
Naranji, Emraji Damudal, Kilanjee und andere appetitliche Gesellen
kamen; nur einer fehlte; gerade der, von dem behauptet wurde, daß
er trotz dem Aufstand am meisten Gummi aus den Bergen
einhandelte und den Aufständigen dafür gab, was sie brauchten, um
den Krieg fortzusetzen.
Ich kann aus dieser für mich und die beiden Unteroffiziere
ungemein anstrengenden, schweren Zeit, in der wir abwechselnd an
Dysenterie und Fieber litten, erzählen, wie empörend für mich das
Bewußtsein war, daß die Inder aus allem, was wir taten, ihren Vorteil
zogen. Nahmen wir den Aufständigen ihre Nahrung weg, um sie zur
Unterwerfung zu zwingen, dann bekam der Inder den wertvollen
Gummi um so billiger — für ein kleines Quantum Matamakorn. Der
Verdacht lag außerdem immer nahe, daß diese Händler mit Pulver
und Zündhütchen einen einträglichen Handel trieben.
Ich fragte mich in dieser Zeit wiederholt, für wen wir eigentlich
das Land haben, für wen wir die Opfer an Leben, Gesundheit und
Geld bringen? Es schien mir so, als ob es für diese farbigen Händler
sei, die mit treuherzigen Mienen dem Bezirksamt noch meldeten,
wieviel Tausende sie durch den Aufstand verloren hätten.
(Wahrscheinlich, um betrügerisch Bankerott zu machen und mit dem
vielfachen Gewinn in ein anderes Gebiet zu verschwinden, wo sie
dann wieder als arme Schlucker auftreten.)
Waren wir nicht an allen Ecken und Enden die Betrogenen?
Beinahe das Werkzeug der Inder?
Macht uns denn Liebe blind gegen diese Leute? Und haben wir
keine Ahnung davon, wie weit und wie reich an Schlupfwinkeln das
Gebiet ist, in dem sich der Geschäftssinn eines unanständigen,
gewissenlosen, vaterlandslosen Händlers bewegt?
Ich wünsche anderen, daß sie die Schmach nicht erleben, die ich
empfand, als ich mich bei meiner monatelangen Tätigkeit betrogen
glaubte.
Mein Ärger entlud sich auf den widerspenstigen Inder. Der
Unteroffizier sagte mir rechtzeitig, daß dieser selbe Inder den
Bezirksamtmann einmal gereizt und eine Ohrfeige dafür bekommen
habe. Darauf habe sich der Inder beim Gouvernement beschwert
und der Bezirksamtmann habe eine ziemlich hohe Geldstrafe zahlen
müssen. Ich nahm mir deshalb vor, dem Inder diese Genugtuung
nicht zu gönnen.
Als der Mann mit Gewalt geholt worden war, benahm er sich so
herausfordernd, daß ich ihn durch die Askari aus dem Lager
hinausbefördern ließ und ihm riet, in vierundzwanzig Stunden aus
der Gegend zu verschwinden, weil ich ihn für einen gefährlichen
Schmuggler hielte.

Den Graben, der um das Lager herumgezogen war, hatte das Wasser stark
verbreitert; die Boys schwammen darin um die Wette.

Von Mayenge aus wollte ich zu Fuß in die


Berge, aber dicht hinter der Boma mußten wir Marsch in der
Regenzeit.
bereits übersetzen. Das nahm zwei Stunden in
Anspruch, da die meisten Neger nicht schwimmen konnten und wir
nur ein Boot hatten. Ich ließ die Träger vorangehen, bis das Wasser
so tief wurde, daß nur die Köpfe heraussahen. Ein drolliges Bild:
Über dem Wasserspiegel lauter Köpfe mit Lasten.
Zuerst schickte ich zwei Askari und einen Teil der Gewehre
hinüber. Der Betschausch und ein anderer Askari versuchten zu
schwimmen, ermüdeten aber mitten im Strom, weil jeder einen Gurt
mit hundert Patronen umhatte. Auf ihre Hilferufe schwammen Lauer
und ich so schnell wir konnten hinzu und halfen ihnen zum Ufer
zurück.
Man glaubt nicht, wie ungeschickt sich die Leute anstellten! Ich
verteilte die Askari im Wasser und ließ das Boot von Hand zu Hand
stoßen; nur durch das tiefe Wasser wurde gerudert. Bei jeder Fahrt
mußten sich einige Träger an dem schwimmenden Boot festhalten
und wurden so hinübergebracht.
Am schneidigsten benahmen sich noch die kleinen Askariboys;
sie schwammen mit großem Geschick. Alle anderen Leute fielen
Lauer und mir zur Last.
Die Schwarzen waren sehr erstaunt über unsere Schwimmkünste;
besonders bewunderten sie das Schwimmen auf dem Rücken mit
anliegenden Armen und ausgestreckten Beinen, und fanden keine
Erklärung dafür.
Das strömende Wasser und die Furcht vor den Krokodilen
verwirrte die Neger; um vorwärts zu kommen, mußten wir in der
Hitze alles selbst machen: Lasten im Boot verteilen, das Boot halten,
die nassen Kerls hineinheben, Ertrinkenden und Gefährdeten helfen
und sogar nach verlorenen Gegenständen tauchen.
Es war wirklich ein gräuliches Gefühl, in der gelben,
undurchsichtigen Flut zu schwimmen, wo die Gefahr, vom Krokodil
gepackt zu werden, so nahe lag!
Und es war eigentlich ein Leichtsinn, daß wir uns der Gefahr
aussetzten.
Die Rohrstengel stachen uns durch das dünne Zeug, die Sonne
glühte und die stinkenden Neger mit ihren unschlüssigen Gesichtern
konnten einem das letzte bißchen Energie rauben!
Trotzdem ging uns der Humor nicht aus, und Lauer wußte es
geschickt einzurichten, daß die größten Angsthasen bis zuletzt
zurückblieben.
Dann wurden sie alle in das Boot gepackt und saßen zitternd
darin, während es hinüberfuhr; doch ehe das Boot ganz am andern
Ufer war, warfen wir es plötzlich um und die ganze Gesellschaft
strampelte in dem flachen Wasser umher.
Am Ufer stand ein kleiner Askariboy, der sein Tüchlein vermißte.
Er schämte sich sehr und weinte.
Zwei Stunden marschierten wir noch, dann mußten wir uns
eingestehen, daß wir zu müde waren und lagerten mitten im
Buschwald.
Am nächsten Morgen gingen wir weiter.
Jetzt, nach dem ersten Regen, war der Wald grün und kam mir
im Blätterschmuck ganz fremd vor. Gegen das dunkle Laub fielen die
hellen Stämme auf, während früher das gelbe Gras, die Stämme und
Äste in allzu vielem Licht das Auge blendeten.
Die Mangobäume waren abgeerntet. Im Boden sah man nur
wenige Wildfährten.
Von dem reichlichen Regen der letzten Wochen stand auch auf
den Anhöhen Wasser. Auf dem Marsch mußten wir einen See
durchwaten, der mitten im Walde lag. Wir zogen die Schuhe aus und
gingen auf der anderen Seite barfuß weiter. Leider haben wir das
auch in den nächsten Tagen fortgesetzt und die Erfahrung gemacht,
daß man erst lernen muß, auf schmalen Pfaden bei Tage und bei
Nacht barfuß zu gehen, ohne sich die Füße zu verletzen;
angebrochene Fußnägel, schmerzhafte Hautabschürfungen und
Dornstiche waren die Folge.
Die Aufständigen hatten überall Mohogopflanzungen und
wohnten in kleinen Hütten seitab im Walde. Die Dörfer selbst, die
mitten in den Pflanzungen lagen, waren verlassen und wurden von
den Negern offenbar nur benutzt, so lange sie in den Feldern
arbeiteten.
An Früchten waren da: Bananen, kleine Bohnen, Mais mit
halbreifen Kolben und vor allem Mohogo. Für unsere Abendtafel fand
sich auch eine reife Ananas.
In den nächsten Tagen ging es über Berge und Täler, von einer
Pflanzung zur andern.
Selten wurden Menschen angetroffen; einige, die sich zur Wehr
setzten, wurden erschossen, andere gefangen genommen.
In einem Hause stand ein Topf mit frisch gebratenen Ratten.
Daneben ein Sack mit kleinen Früchten, die wie Äpfel schmeckten
und einen großen Kern hatten.
Wir fanden auch eine kleine Antilope, die im
Netz gefangen worden war. Von dem Mohogo, der In den Schamben
von Kitschi.
überall in den Schamben reichlich gedieh, hatten
die Aufständigen noch kaum gegessen. Hie und da standen junge
Kokospalmen, die auf Befehl des Bezirksamts gepflanzt worden
waren.
Am zweiten Abend lagerte ich auf einer Höhe in einer großen
Mohogopflanzung, deren Fläche sanft zu der Rufiyiebene abfiel. Ich
hatte eine weite Aussicht über den Wald, auf die Ebene und den
Fluß. Es regnete und ich beschäftigte mich damit, behaglich dem
Regen zuzusehen und aufzupassen, daß das Wasser, das von den
Zelttüchern abfloß, in Töpfen aufgefangen wurde.
Drei gefangene Weiber, die tüchtig zu essen bekamen, lachten
und schienen sehr zufrieden zu sein. Auch ein kleines Kind war dreist
und zutraulich. Wer kennt aber die Neger aus — morgen sind sie
weggelaufen!
Ein alter Mann wurde beim Gummisammeln gefangen
genommen. Als er ins Lager kam, fragte ich ihn nach der Stimmung
im Lande und auch nach den Ursachen ihrer Unzufriedenheit.
Er brachte freimütig alle Klagen vor. Dann wickelte er aus seinem
Tuch zwei Gummikugeln und bat mich, ihm Tabak dafür zu geben.
Als er den Tabak erhielt, war er nicht zufrieden. Er behauptete,
es sei nicht genug und stellte zum großen Ergötzen der Askari,
gefangen und gebunden, auf der „Wache“ sitzend, laut Vergleiche an
zwischen dem Wert des Gummi und dem des Tabaks.
Der Unteroffizier klagte über Unwohlsein, er hatte Dysenterie. Ich
selbst war todmüde nach den Anstrengungen des letzten Tages und
hatte Kopfschmerzen. In der Nacht entstand Lärm und Schüsse
fielen. Ich wickelte mich aus dem Moskitonetz, griff zur Büchse und
sah, wie im Dunkeln ein Trupp Menschen aus dem Lager lief.
Kurz darauf brachten sie den Gefangenen angeschleppt, der rief.
„Mein Anzug!“ Damit meinte er das kleine Baumwolltuch, das er um
die Hüften trug. Neben mir stand der Unteroffizier. Ich dachte nicht
daran, daß er auch krank war, befahl ihm, nachzusehen, daß der
Gefangene besser gebunden wurde und legte mich sofort wieder
hin.
Der Mann schrie weiter und ich hörte, wie die Askari versuchten,
ihn zu beruhigen. Er wimmerte eintönig und die Askari lachten
darüber. Allmählich wurde er still und nur die Wache unterhielt sich
leise.
Am nächsten Morgen wurde mir gemeldet, der Gefangene sei tot.
An dem Toten war nichts zu erkennen, woraus
ich auf die Ursache seines Todes schließen konnte. Die schwarzen
Mitbrüder.
Sanitätsunteroffizier Lauer war vor Schwäche nicht
imstande, den Leichnam zu untersuchen. Hunderte von Ameisen
krabbelten über den Körper des Toten. Ich konnte nur feststellen,
daß seine schwarzen Brüder ihn recht fest gebunden hatten, um
vorzubeugen, daß er noch einmal wegliefe, und ich konnte leider
den abscheulichen Verdacht nicht los werden, daß die Wache ihn
einfach erstickt habe, damit er Ruhe hielt.
Ein Verhör der Posten führte zu nichts; sie sagten, der Mann sei
eingeschlafen und gegen Morgen tot gewesen.
Das war ein neuer Ärger und wieder eine der traurigen
Erfahrungen mit der Gleichgültigkeit und Roheit der Schwarzen, der
nur vorgebeugt wird durch den Europäer.
Was hatten wir uns eigentlich, während wir so müde und krank
waren, bei dem eintönigen Klagen und Wimmern des Gefangenen
gedacht? Nichts! Für Verstellung hatte ich es gehalten, um so mehr,
als die Askari noch dazu lachten! Aber jetzt kam es mir wieder in
Erinnerung; ich legte ihm eine tiefere Bedeutung bei und machte mir
Vorwürfe, nicht nachgesehen zu haben. Das zeigt, daß es ganz von
uns abhängt, wieweit wir Mitleid empfinden wollen und daß unsere
Teilnahme verschieden sein kann, je nachdem, wie wir die
Leidensäußerungen, die wir hören, auffassen.
Im Wurm, in der Ameise, die zerdrückt wird und sich krümmt,
glauben wir kein Bewußtsein suchen zu müssen. Bald im Büffel, der
todwund röchelt, auch nicht.
Nur wenn der Mensch, der in unseren Tönen klagt, seine
Schmerzen schildert, dann ergreift es uns — wenn wir wollen. Jeder
kann mit leiden soviel er will; bis auf Pflanzen und Steine kann er
hinabgehen.
Aber wissen muß er, ob nicht oft tatkräftiges Handeln mehr Elend
aus der Welt schafft als verzehrendes Leid.
Ich selbst merkte an meiner Aufregung, daß die Anstrengung der
letzten Zeit mich verändert hatte.
Am Nachmittage wurden noch mehrere Gefangene gebracht.
Die fragten, weshalb wir ihnen Essen gäben, wo sie doch
geschlachtet werden sollten?
(Das hatten die Zauberer ihnen eingeredet.)
Meine Füße schmerzten an mehreren Stellen; trotzdem ging ich
gegen Abend mit einer Patrouille in den Wald.
Ich ließ mir die Gummilianen zeigen, die wild im Walde wachsen
und den Reichtum der Berge bilden.
In lichtem Buschwald zog ein Stück Wild über eine Anhöhe. Ein
gewaltiger Hirsch. Durch mein Doppelglas erkannte ich auf dem
grauen Tierkörper weiße Streifen; es war ein Kudu.
Das Tier stand und scheuerte sich mit den hellen Spitzen seiner
hohen, gewundenen Hörner in der Flanke.
Wie gerne hätte ich dies in Ostafrika seltene Tier verfolgt, aber
es ging nicht; die Schenzi waren nahe.
Als ich weiterging, fand ich in einem Dorf eine kleine Werkstatt,
in der die Schenzi die Feuersteinschlösser ihrer Gewehre zu
Hahnschlössern mit Zündhütchen umarbeiteten! Geschickt
geschnitzte Gewehrschäfte lagen da; Bohrer, Feilen und anderes
Handwerkszeug.
Die Lehrer der Völkerkunde sprechen von dem kriegerischen
Geist, der die Bewohner der Steppe von den Bewohnern des
Fruchtlandes unterscheidet. Auch diese Kitschileute, die in den
Bergen wohnen und ihre Feldfrüchte in jedem Jahre auf einem
anderen, neugerodeten Land bauen, stehen der Zivilisation ferner als
die Rufiyileute und sind deshalb sehr wohl mit den
Steppenbewohnern zu vergleichen. Kriegerisch sind sie, während die
Ackerbürger am Fluß sehr schnell zur Unterwerfung neigten.
Als wir aus den Bergen zurückkamen und die Ebene wieder
erreichten, blieb ich noch eine Nacht am Ufer des Flusses, der Boma
bei Mayenge gegenüber. Mein Zelt stand auf der Höhe zwischen den
Trümmern eines niedergebrannten Dorfes.
Der Mond schien, als mir mitten in der Nacht
gemeldet wurde, ein großes Flußpferd komme die Flußpferd im
Mondschein.
Dorfstraße herunter. Es war nahe beim Lager und
ging hinter einer Häuserwand vorbei, an die ich leise hinanschlich.
Das plumpe Tier kam dicht an mir vorbei. Der Mondschein
glänzte auf seinem runden Rücken. Es kümmerte sich nicht um mich
oder die Zelte. — Lagerfeuer brannten nicht. —
Am Morgen regnete es in Strömen. Trotzdem lag der Askari
Nyati, der Klown, immer noch unter seiner Decke im Freien auf
einigen Pfählen und schlief. Als er aufstand, zeigte er den andern,
daß er kaum naß geworden wäre, weil er sich unter seiner Decke
nicht gerührt habe und das ganze Wasser abgelaufen sei.
Großes Kudu aus Usagara.

Auf alten Wegen, die ich aus der Trockenzeit kannte, ging ich
pirschen. Überall stand Wasser und das Gras war sehr hoch.
Wenn ein Stück Wild aufgejagt wurde, hörte man die Sprünge an
dem plätschernden Wasser.
Mit Mühe gelang es mir, einen Riedbock zu erlegen.
Ich kehrte zum Fluß zurück, fuhr zur Boma hinüber und saß
schon am Mittage mit meiner Truppe in einer kleinen Dhau um nach
Panganya zu fahren, wo Herr Wiebusch, ein Angestellter des
Kolonialwirtschaftlichen Komitees, eine Pflanzung anlegen wollte,
wozu er mich um Arbeiter bat.
Wir hatten unerhört gegen den Strom anzukämpfen.
An einer Stelle wurde der Bug des Schiffes so plötzlich von einer
stärkeren Strömung zur Seite gedrückt, daß er das Schilf der
Uferböschung unter sich schob. Wir wurden erst wieder flott, als alle
ins Wasser sprangen und auf schwimmenden Inseln, bis an die Brust
im Wasser stehend, den Bug an einer Leine freiholten. Zum Glück
waren unsere Kleiderkisten in demselben Boot und wir konnten uns
gleich wieder trockene Sachen anziehen.
Mein rechtes Bein war von den entzündeten Wunden so
angeschwollen, daß ich in Panganya mehrere Tage liegen mußte.
Glücklicherweise ging die Entzündung durch nasse Verbände bald
zurück.
Herr Wiebusch hatte mehrere hundert Hacken mitgebracht, um
Land für Baumwolle vorzubereiten. Es fehlte ihm an Arbeitern. Für
Geld hätte er in dieser Zeit auch keine bekommen; da er aber Korn
von der Küste heraufbrachte, hatte er in dieser Hungerzeit das beste
Zahlungsmittel. Jeden Jumben, der kam und über die Not klagte,
schickte ich mit seinen Negern nach der Baumwollpflanzung.
Nach einigen Tagen war dort ein reges Leben. Mehrere hundert
Neger schwangen die langstieligen Hacken und rodeten das kräftige
Schilfgras. Gegen abend kamen sie zur Poschoausgabe.
Ich blieb eine ganze Woche bei Herrn Wiebusch. Tagsüber sah
ich der Arbeit zu, las und schrieb; abends versammelten wir die
„Baumwollschüler“, junge Neger aus allen Teilen der Kolonie, um
uns, und ließen Theater spielen, tanzen und singen.
Die Verschiedenheit der Tänze und Gesänge war recht auffallend;
jeder Stamm fand seine Gesänge ernst und schön und die des
Nachbarstammes schon komisch.

Überschwemmung in der Schilfniederung der Rufiyiebene. Die Dhau mit den


Askari.

Eines Tages kamen sechzehn kranke Träger an,


die von der Expedition des Hauptmanns v. Kranke Träger.
Wangenheim entlassen worden waren.
Der Zustand ihrer Wunden war entsetzlich; sie verbreiteten
Fäulnisgeruch.
Bei den schlechten Verkehrsverhältnissen kamen die Leute, die
sich zum Teil nur mit Hilfe von Stöcken langsam fortschleppten nicht
schnell genug vorwärts und fürchteten, daß ihr Poscho zu Ende sei,
bevor sie Mohorro erreichten.
Da konnte ich nun wirklich einmal wohltätig sein!
Wangoni waren es, die sicherlich der Expedition gute Dienste
geleistet hatten. Sie bekamen Wasser und Seife. Ihre Wunden
wurden gewaschen, desinfiziert und mit den geringen Mitteln, die wir
noch hatten, verbunden. Dann bekamen die Leute ordentlich zu
essen. Schließlich wurde ein großes Boot zum Fluß geschafft, die
Leute hineingetragen und Matten darüber gedeckt zum Schutz
gegen die Sonne.
Als das Boot vom Ufer ablegte und mit dem Strome schnell
davon trieb, hatte ich das Gefühl, ein gutes Werk getan zu haben; so
kamen die Kranken in einem Tage ans Ziel, während sie sonst an
unzähligen Flußläufen vergeblich nach Booten hätten rufen können
und wahrscheinlich verhungert wären.
Nur einer ist unterwegs gestorben.
In dieser Zeit sprachen wir viel über die Landwirtschaft.
Die Frage, ob man sich in einem fremden oder besser fernen und
neuen Lande ansiedeln soll, ist gewiß schwer zu beantworten.
Was sehr dazu reizt, ist der Gedanke, als einer der ersten in ein
Gebiet zu kommen, dem vielleicht eine große Entwickelung
bevorsteht.
Vielleicht!
Da beginnt das Zaudern. Man soll sich für ein Gebiet
entscheiden. Und wer erst einmal irgendwo angefangen hat, muß
bei der Sache bleiben; denn die Jahre tätigen Schaffens, die Zeiten
des frischen Unternehmungsgeistes sind kurz, und von Glück kann
der sagen, der in dieser Zeit zwar schwer und mit Enttäuschungen
gearbeitet hat, aber nicht umsonst seinem Ziele treu blieb.
Nun ist Deutsch-Ostafrika ein Land, das jeden, der es mit offenen
Augen gesehen hat, lockt; denn die wirtschaftlichen Möglichkeiten
sind groß. So auch in dem Gebiet des Rufiyi. Da das Land als
ungesund galt, sind zwar die Missionen fern geblieben, die ja sonst
in vielen Gegenden die ersten landwirtschaftlichen Versuche
gemacht und so den Ansiedler vorgearbeitet haben.
Die Erfahrungen mit dem Klima sind deshalb noch gering, sind
aber wichtig, weil danach Saat- und Erntezeiten in allen Teilen des
Landes verschieden fallen.
Das Bezirksamt am Rufiyi und das
kolonialwirtschaftliche Komitee machen seit einiger Landwirtschaft am
Rufiyi.
Zeit Versuche.
Es kommt jedoch in diesem Gebiet nicht nur darauf an, die
Regenzeiten zu wissen, sondern auch die Zeit, den Umfang und die
Dauer der großen Überschwemmungen.
Ein Hochwasser, wie es im Anfang des Jahres 1906 in den
Küstengebieten Ostafrikas war, wird wohl so leicht nicht wieder
kommen. (Es war eine nützliche Warnung; sogar die Brücken der
Bahn über den Kingani hatte man zu niedrig geplant und der Fehler
konnte noch mit geringem Verlust verbessert werden.)
Wer sich im Küstengebiet ansiedeln will, muß sich die Gegend
seiner Wahl erst zu allen Jahreszeiten ansehen, wenn ihm nicht das
Bezirksamt, eine Mission oder ein anderer Ansiedler gleich einen
günstigen Platz vorschlagen kann.
Auch ich habe einige wunderschöne Plätze in der Trockenzeit für
gut gehalten und sah in der Regenzeit, daß sie große Fehler hatten.
Solange ein Land nicht gründlich erschlossen ist, kommt es für
den Einzelnen darauf an, mit Brückenbauten, Dämmen und
schwierigen Wegebauten möglichst zu sparen und eine möglichst
billige, dauernde Verbindung mit der Küste zu haben.
Hindernisse sind Sümpfe und abflußlose Talmulden, während
ständig fließende, schiffbare Gewässer nicht trennen, sondern
verbinden.
Der Rufiyi wird in wenigen Jahren das Land erschließen, sobald
der Dampfer der Kommune Mohorro, der schon bestellt ist, fährt.
Dann wird man auch bald von den Eigenschaften des Stromes
mehr wissen und die notwendigsten Regulierungen vornehmen
können.
Jetzt verlegt der Strom sein Bett andauernd, wenn auch die
Verschiebung der Sinkstoffe, das Wandern der Sandbänke nach ganz
bestimmten Gesetzen vor sich geht.
Auf der langen Linie, in der der Rufiyi das niedrige Land
durchströmt, wiederholt sich unausgesetzt dieselbe Erscheinung: das
strömende Wasser stößt sich an einer Biegung, reißt Erde los und
führt sie mit sich fort.
Die leichteren Stoffe bleiben im Wasser und sinken erst ganz an
der Mündung, wo der Fluß sich in hundert Armen zu einem Delta
verbreitet und deshalb langsamer strömt; die schweren Stoffe setzen
sich nach kurzer Zeit ab, häufen sich und bilden ein neues Hindernis,
eine hohe Sandbank, an der sich der Fluß stößt und die er umgeht.
Der Strom läuft deshalb in ununterbrochener Schlangenlinie.
Sehen wir uns den Strom an irgendeiner Stelle an: jetzt haben
wir rechts das tiefe, schnellfließende Wasser an steilem Ufer, dessen
Profil graue Tonschichten und rote, eisenhaltige Erde zeigt. Oben auf
der Höhe steht hohes Schilfgras; eine Maispflanzung und große
Bananenstauden werden bald herabstürzen. Links ist eine Sandbank
und dahinter das höhere, alte Ufer, an dem der Strom aber nur in
der Regenzeit entlangfließt.
Vierhundert Meter weiter unten bekommt der Strom eine ganz
schwache Ablenkung nach links; da haben sich Sinkstoffe abgesetzt
und bilden unter dem hohen Ufer neues Land. Der Strom stößt sich
hier bald und nimmt seine Richtung auf die hohe, alte Sandbank am
linken Ufer, die ein Erzeugnis der Hochwasserzeit ist, unterwühlt sie
und trägt ihre Körnchen mit sich bis zu dem nächsten alten Ufer
derselben Seite, setzt sie bald wieder ab, stößt sich und wendet sich
ärgerlich wieder dem rechten Ufer zu; aber dort beginnt dieselbe
Enttäuschung!
Dem Talent freie Bahn! seufzt er; zerstört, wo er seine Kraft
hinwendet, wird schnell dessen, was er den Ufern nimmt,
überdrüssig, läßt es fallen und wird zuletzt ganz flach und breit, wo
er das Meer gewinnt.
Mehrmals führt ihn sein Lebensweg auch noch im Tiefland an
echte, alte Berge hinan, die aus dem Alluvialboden herausragen.
Dann wäscht er Steine hervor — eine Jugenderinnerung.
Das ist der Fluß, dessen Unterlauf jetzt schon hundertachtzig
Kilometer ins Land hinein schiffbar ist. Seine zerstörende Macht wird
bald gebändigt werden und das Wasser wird genutzt werden, um
Baumwollfelder zu berieseln. Es scheint sich nämlich schon
herauszustellen, daß künstliche Bewässerung für Baumwolle in
Ostafrika unentbehrlich ist.

Ein Leopard tötete einen Mann und wurde bei der Leiche erlegt.

GRÖSSERES BILD

Man spricht ferner davon, die Berge oberhalb der Landschaft


Kibambawe und die oben beschriebenen Schnellen durch eine Bahn
zu umgehen, um die große, fruchtbare Mangaebene und ihre
schiffbaren Ströme mit dem unteren Rufiyi zu verbinden.
Ja, es wird nur eine Frage der Zeit sein, ob an
den Schnellen ein großes Stauwehr gebaut wird, Stauwehr;
Viehzucht.
damit die ungeheuren Wassermassen, die sich in
der Regenzeit durch das enge Tor wälzen, für das weite, trockene
Gebiet südlich des Rufiyi nutzbar gemacht werden. Das im vorigen
Kapitel gezeigte Profil des Flußbettes scheint dazu einzuladen, von
beiden Seiten auf dem festen Steinfundament an die tiefe Rinne
hinanzubauen, um zuletzt die Rinne selbst (als Freiwasser) zu
überbrücken.
Aber das sind Pläne, die der Zukunft gehören und deren
Ausführung viel Geld kostet.
Sicher ist, daß man sich nicht mit dem Kulturland am Strom
begnügen, sondern durch künstliche Bewässerung größere Landteile
nutzbar machen wird.
Daß Viehzucht in einzelnen Gebieten möglich ist, beweisen die
Herden der Kommune Mohorro und des wirtschaftlichen Komitees.
Neben den Äckern wächst außerdem Schilfgras in großen Mengen
und kann zu Kompost genommen werden.
Die Fruchtfolge ist nach den neuesten Versuchen am günstigsten,
wenn jedes Feld zweimal Baumwolle trägt; im zweiten Jahre aber
schon gedüngt wird. Im dritten Jahre wird Mais und Klee gesät, im
vierten Jahre steht der Klee noch als Viehfutter. Im fünften folgt
wieder Baumwolle. Also eine Vierfelderwirtschaft.[54]

Wenn ich diesmal nicht selbst den Kalender


gewußt hätte, wäre mir Kaisers Geburtstag doch Kaisers
Geburtstag.
nicht entgangen, denn als ich am 26. Januar eine Notizen.
Patrouille auf zwei Tage wegsandte, fragten die
Askari, ob nicht ein Tag genüge, morgen sei ja Festtag (sikur kun ya
bana Kaiser). An dem Tage bekommt jeder Askari eine Rupie extra.
Auch die Plantagenarbeiter mußten mitfeiern. Am Tage wurden
Wettspiele gemacht und die ganze Nacht hindurch unausgesetzt die
große Trommel geschlagen.
Feuer brannten, und in gleichmäßigen Pausen wiederholte sich
der Chorgesang der Tänzer und Tänzerinnen.

Die Neger einiger in der Nähe liegender Dörfer waren auf


Büffeljagd ausgegangen.
Der Gedanke, eine solche Jagd mitzumachen, war für mich sehr
verlockend; leider konnte ich es nicht und ließ mir nur erzählen, wie
die Eingeborenen die Büffel jagen.
Die Büffel stehen in der Trockenzeit, wenn das Gras der Ebene
hart und dürr wird, gern an kleinen Seen und Bächen im Busch;
sobald aber der erste Regen das junge Gras hervorlockt, ziehen sie
sich in die Niederungen.
Dann kommt es oft vor, daß nach großen Regengüssen weite
Gebiete vom Strom überschwemmt werden und die Büffel plötzlich,
von Wasser rings umgeben, auf einer Insel gefangen sind.
Dorthin gehen die Eingeborenen und verleiden den Tieren den
Aufenthalt, bis sie das trennende Wasser durchschwimmen.
Sofort sind die Neger mit Einbäumen hinter ihnen und verfolgen
die Tiere, die im Wasser ungeschickt sind, mit Speerwürfen und
Pfeilschüssen.
Vor allem junge Tiere fallen ihnen dabei zum Opfer.
Die Regierung schützt die Büffel, und es war den Eingeborenen
nicht erlaubt, Büffel zu jagen; in der Zeit der Hungersnot aber mußte
man ein Auge zudrücken. Die Erhaltung der Menschen war wichtiger
als Wildschutz.

Unser letzter Esel ging ein. Es ist schrecklich, wenn man nicht
helfen kann. Tsetsekrankheit natürlich, denn wir sind ja mehrmals in
Gegenden gekommen, wo die Fliege gesehen wurde, die die kleinen
tierischen Parasiten überträgt.
Die Tsetsekrankheit und das Texasfieber sind die großen
Hindernisse, die der Viehzucht und dem Transportwesen
entgegenstehen.
Welch verlockende Kulturaufgaben, diese Feinde zu bekämpfen!
Wunderbar ist es, daß bei all den großen Krankheiten ein Insekt
die abscheuliche Aufgabe übernommen hat, die kleinen Parasiten
dem Blut der Säugetiere einzuimpfen. Und immer nur ein ganz
bestimmtes Insekt!
Mit einer gewissen Ehrfurcht muß man sie ansehen: die
Anopheles, die kleine Mücke, deren Weibchen als Überträger des
Malariaparasiten bisher das tropische Afrika gesperrt hat; die
Glossina morsitans, die die Haustiere des Menschen haßt, und deren
Schwester — durch die Schlafkrankheit — Zentralafrika entvölkert, in
der Zeit, wo die Kulturmenschheit die Hände nach dem volkreichen
Uganda ausstreckt, um Arbeiter zu suchen; und endlich die träge,
dickleibige Zecke, den Boophilus, der auf den Weideplätzen auf die
Rinder wartet, um ihnen Blut zu nehmen und das Texasfieber zu
geben.

Die Kunst, Leder herzustellen, habe ich mir übrigens leichter


gedacht, als sie ist. In der Trockenzeit hat sich alles bewährt; die
Kistendeckel aus Antilopenfell, die Tasche für den photographischen
Apparat, die Hausschuhe aus Wasserbockfell und die Fellteppiche;
jetzt fängt es an zu stinken. Und ich habe nun alle die mir
unentbehrlich gewordenen Gegenstände in Alaun und Salz gepackt.
Die Neger hier können kein Leder bearbeiten. Hätte ich einen
Neger von der Westküste hier!
Wie lange habe ich probieren müssen, um mir nur haltbare
Schuhbänder zu schneiden! Endlich konnte ich es: Buschbockfell in
ganz feine Streifen geschnitten, gut gesalzen und gegerbt.

Briefe! Der Ombascha Chuma gibt mit ein ‚Barua‘, das ein Bote
aus Mohorro mitgebracht hat. Ich soll es ihm vorlesen.
Von Askari Kisusa, der verwundet im Hospital liegt. Inhalt:
„Grüße an Abdallah, der noch eine Rupie von mir bekommt; und ich
will von Sefu zwei Rupie; und die Bibi des Mzee schuldet mir noch 18
Pesa für Reis.“ Dann folgen Grüße an alle, die dem Kranken
einfielen.
Deshalb läßt der Ombascha die Askari antreten, nimmt den Zettel
und sagt: „Es ist ein Brief von Kisusa gekommen, er schreibt: Grüße
an...“ Jetzt nennt er, vom rechten Flügel anfangend, die Namen
einzeln und sieht zwischendurch immer wieder auf den Zettel, als ob
er lesen könne. Dann sagt er: „Weg-treti.“
Ich diktierte Briefe an Jumben, die nur arabische Schrift lesen
konnten, und ließ mir das Diktierte nachher vorlesen. Dabei kam
heraus, daß diese Schreiben einen ganz besonderen Stil hatten. Das
Hauptmerkmal war, daß alles mehrmals wiederholt wurde. Aber auch
Ausdrücke kamen vor, die besonders auffielen. „Du sollst gut
aufpassen,“ hieß: „sieh mit beiden Augen.“

Als Hohlmaß für Getreide haben die Neger den Pischi (zu vier
Kibaba). Sie stellen das Maß hin und füllen soviel hinein und darauf,
als nicht über die Ränder hinunterläuft. Als ich fragte, weshalb sie
nicht glatt abstrichen, sagten sie, der Bezirksamtmann hätte das so
erlaubt; früher habe man noch ganz anders gemessen: da habe man
beide Arme um den Rand gehalten.
So sind sie: sie wollen mit dem Bewußtsein vom Markte gehen,
für ihr Geld etwas mehr bekommen zu haben, als ihnen zustände;
ja, sie hassen, glaube ich, instinktiv das eherne Gesetz, das sich
brüstet, gerecht zu sein, wenn es gleichmäßig ist.
Mit ihrer Arbeit ist es ähnlich. Sie arbeiten gut, wenn ich
anerkenne, was meinem ganzen Wesen noch fremd ist: daß es nicht
nur eine Pflicht gibt zu arbeiten, sondern auch eine zu faulenzen.
„Sechs Tage sollst du arbeiten und jeden Morgen auf die Minute
anfangen.“
Wo?
Vielleicht in einem härteren Klima, wo der Boden nicht so willig
hergibt, was Menschenhand ihm abringt; hier gibt es andere
Gesetze!

Als ich glaubte, wieder marschfähig zu sein,


setzte ich die Reise von Panganya nach Mtanza Leopardenjagd.
fort, mußte mich aber den letzten Teil des Weges
auf einer Kitanda (Bettstelle) tragen lassen, weil die Wunden sich
wieder aufscheuerten. Bei der Auswahl der Bettstelle machte ich die
Entdeckung, daß an den Stellen, wo die harten Baststricke, mit
denen das Gestell bespannt ist, sich kreuzen, oft Läuse wohnen!
Ich war kaum im Lager angekommen, hatte gebadet und meine
schmerzenden Füße verbunden, als ein Mann gelaufen kam und
sagte, sein Bruder sei von einem Leoparden getötet worden. Der
Leopard sei noch bei dem Toten!
Es war auf dem Nordufer; ich nahm mein Gewehr und Patronen,
humpelte zum Boot, fuhr hinüber und ließ mich vorsichtig zu der
Stelle führen.
Der Schwarze zeigte: „Er ist da.“
Ich sah nichts.
Plötzlich sprang ein Leopard ins Gebüsch.
Er hatte im Grase bei der Leiche gelegen.
Jetzt sah ich den Toten.
Er lag unter einem ziemlich starken Baum. Der Hals war
zerfleischt.
Der Neger sagte, sein Bruder wäre auf den Baum gestiegen, um
Honig herabzuholen; der Leopard habe oben in der Krone gesessen
und sei ihm ins Genick gesprungen; da sei sein Bruder tot
herabgestürzt.
Der Leopard würde zurückkommen, ich solle bei dem Toten die
Falle stellen.
Das tat ich, ging etwa achtzig Schritte ab und blieb an einem
Baumstamm sitzen.
Nach kaum einer Viertelstunde sah ich den Leoparden plötzlich
bei dem Toten. Ich hob behutsam die Büchse und zielte. Da klappte
es, das Fangeisen war zugeschlagen. Ich lief hinzu und blieb auf
dreißig Schritt stehen.
Der Leopard sprang mit der schweren Falle hin und her, fauchte
und biß auf die eisernen Bügel.
Ich gab ihm einen Blattschuß; er verendete.
Zwei Askari kamen auf meinen Schuß herzu, der eine sagte, es
wären wohl noch mehr Leoparden da; ein „chui“ sei nie alleine.
Deshalb stellte ich das Eisen noch einmal, ließ den Leoparden
mitnehmen und ging zum Boot zurück, während die Askari auf
Anstand blieben.
Als ich im Lager ankam, hörte ich schon ihr Schnellfeuer und bald
darauf kamen sie mit dem zweiten Leoparden.
Beide Leoparden waren männlich.
Der geschlagene Mann war gerächt und ich befahl, ihn zu
begraben, was die Neger jedoch nicht ohne Schutz einer starken
Askaripatrouille tun wollten.
Sie hätten ihn auch nicht begraben, wenn ich es nicht befohlen
hätte.

Auch in der Umgegend von Mtanza hatte das Hochwasser die


Landschaft verändert.
In flachen Tälern, die früher gar nicht auffielen, floß jetzt der
Strom in ungeheurer Ausdehnung und schloß Menschen und Tiere
auf kleine Inseln ein.
Während früher überall leere Boote gelegen hatten, wurde jetzt
jeder kleine Einbaum gebraucht, um den schwierigen Verkehr
aufrecht zu halten.
Das Wasser floß durch die Maisfelder. Viele Enten, Gänse, Reiher
und Taucher schwammen auf dem flachen Wasser und flogen in den
Abend- und Morgenstunden zu hunderten über der Ebene. Unzählige
Holztauben flatterten in allen Feldern.
Während ich zur Abreise rüstete und das Lager
auflöste, war ich oft mit der Schrotflinte in den Abreise.
Feldern, um Enten und Tauben zu schießen. Dabei
kam ich einmal an eine Hütte, von der aus ein Boot mich über einen
tiefen Wasserarm brachte. Der Fährmann warnte mich, als ich die
Hände über Bord hielt und sagte, ein ganz gefährliches Krokodil sei
in der Nähe; das Tier habe schon viele Menschen geholt; vor kurzem
erst seinen Vater und seinen Bruder. Er selbst hatte eine große
Wunde von dem Biß des Krokodils, das versucht hatte, ihn aus dem
Boot zu ziehen. In der Trockenzeit, sagte er, sei das Tier in einem
ganz kleinen Teiche; es sei fast nie zu sehen und richte seit Jahren
schon Schaden an.
Das war ganz in der Nähe meines Lagers und niemand hatte
bisher davon erzählt, weil, wie mir dieser Mann sagte, gegen das
Ungetüm doch nichts zu machen sei! Wie schade: zu gerne hätte ich
das gefährliche Tier erlegt; doch es war nur in der Trockenzeit
möglich.
Der Tag der Abreise kam.
Das Lager wurde geräumt; das große Haus und die Hütten
zwischen den Wellengräben und Pallisaden blieben nun leer zurück.
Ein Teil der Leute mußte auf dem Nordufer über Land gehen, weil
nicht genug Boote da waren. Die Neger stellten sich beim Rudern so
ungeschickt an, daß Lauer und ich selbst die kurzen Ruder nahmen
und unter großer Anstrengung mehrmals hin- und herruderten.
Als wir am Nachmittage stromab fuhren, fühlten
wir in allen Gliedern große Mattigkeit, gegen die Fieber.
wir energisch anzukämpfen versuchten. Deshalb
gingen wir gegen Abend ans Ufer und machten einen Pirschgang bis
zur Dunkelheit.
Wir schossen zwei Riedböcke und ein Wildschwein und kehrten
zu den Booten zurück.
Die Mattigkeit nahm zu; der Appetit fehlte. Ich kam zu der
Überzeugung, daß ich Malariafieber hatte, und nahm Chinin.
Mein Begleiter hatte noch kein Fieber und glaubte deshalb (wie
viele, die im Anfang damit verschont blieben), er bekomme es nicht.
[55] Er sagte, es könne auch ein Erkältungsfieber sein und nahm kein
Chinin.
Es ist ein Unglück, wenn die Europäer einer Expedition krank
sind. Es ist, als ob die Spannkraft aller Neger sofort nachlasse, wenn
der Weiße von einer Krankheit gedemütigt wird. Die Neger verlieren
den Glauben an ihn. Bummelei und Ärgernis treten auf und
Mißerfolge erhöhen das Leiden des Weißen.
Ein Posten schlief auf Wache, so daß ich ihm sein geladenes
Gewehr wegnehmen konnte.
Die Wache bei den Booten hatte auch nicht aufgepaßt; ein
ganzes Boot mit Lasten fehlte am Morgen.
Das Marschieren wurde uns an diesen Tagen sehr schwer. Es war
kein Wind und die Sonne brannte auf den Sumpf hernieder, während
wir meilenweit bis an die Knie im Wasser und durchweichten Boden
wateten. Da war es oft, als wollte das Herz seinen Dienst versagen
und man hatte den Wunsch, sich lang im Wasser hinzulegen.
Mein Begleiter war ganz still; wir konnten uns gegenseitig wenig
Mut abgeben.
An dem Abend dieses Tages erreichte mein Fieber den
Höhepunkt. Mit glühend heißen Schläfen lag ich im Zelt und kühlte
mit nassen Tüchern.
Die Boys zeigten ihr Mitgefühl dadurch, daß sie nahe bei unseren
Zelten die Trommel zum Tanze schlugen. Es war mir eine Qual das
zu hören, aber ich fand nicht den Entschluß, es zu verbieten. Ja, es
beruhigte mich innerlich geradezu, durch den Lärm an dies trotzige,
gedankenlose Leben erinnert zu werden.
Glücklicherweise hatten wir das fließende Wasser wieder erreicht
und konnten am nächsten Tage die Boote benutzen. Lauer mußte
gestützt werden; er nahm immer noch kein Chinin.
Mit unglaublicher Schnelligkeit trieben wir an überschwemmten
Dörfern vorbei: die Borassuspalmen von Mayenge tauchten aus
Nebelschleiern auf.
Da lagen die Berge von Kitschi; noch eine Biegung des Stromes,
an der die Eingeborenen Nothütten gebaut hatten, dann waren wir
in Mayenge.
Hier war der kranke Unteroffizier Kuehn gerade von Feldwebel
Münch abgelöst.
Auch diese Boma wurde geräumt und wir fuhren zwei Stunden
weiter stromab zu einer hohen Landzunge, auf der ich einen Platz
für das neue Bezirksamt am Rufiyi aussuchen wollte.
Die nächsten Nächte wären für uns Kranke schlimm gewesen,
wenn nicht Feldwebel Münch mit bewundernswerter Geduld und
Sicherheit unsere Pflege übernommen hätte. Er gab uns das Chinin
zerstoßen in Oblaten. Ich wurde schnell besser, weil in mir das Gift
den Kampf mit den Parasiten schon aufgenommen hatte; bei Lauer
aber war das Fieber zu weit vorgeschritten, er war kaum imstande
das Chinin hinunterzuschlucken.
Er litt sehr, phantasierte und sprach von Schwäche und Sterben;
aber Münch ließ sich nicht beirren und sagte ganz ruhig: „Machen
Sie doch keine Witze.“
Ich habe oft daran denken müssen, daß solcher Zuspruch besser
ist, als hilfloses, sichtbares Mitleid!
Trotz seiner Erfahrung mit dem Fieber — Münch hatte
monatelang an Schwarzwasserfieber gelitten — durften wir uns
unserm Pfleger nicht ganz anvertrauen, wenn es möglich war,
Mohorro in diesem Zustande zu erreichen.
Ich fühlte mich wieder frisch. Ein großes Boot wurde ausgerüstet
und am Abend Lauers Bett hineingestellt. Ich lag dahinter im
Lehnstuhl; die Askari und Neger folgten in neun anderen Booten.
Der Mond war aufgegangen, als die Boote vom Ufer ablegten.
Lautlos trieb die kleine Flotte auf dem Strom.
Ich zog mein Buch aus der Tasche und schrieb. Elf Uhr.
Am Ufer brennt ein Feuer; da übernachten Flußschiffer und
schwatzen fröhlich und laut. Es klingt übers Wasser in der stillen
Nacht und sie hören unsere Boote nicht, die leise plätschernd nahe
bei ihnen vorbeitreiben.
Kein Wölkchen ist am Himmel. Die Sterne stehen über mir. Das
Mondlicht glänzt auf den Blättern der Büsche.
Dahinter erhebt sich der Wald und die Berge. Ein hoher
Sandrücken kommt näher; er neigt sich weit über den Strom. Auf
der Höhe steht ein plumper Affenbrotbaum.
Es ist so still als ob die Natur ihren Atem anhält.
Da dröhnt vom Berge herab deutlich durch die Stille eine einzige,
tiefe Löwenstimme; ein Ruf an die Nacht, die nur im Schweigen
Antwort gibt.
„Simba“ flüstert der Neger hinter mir.
Schwach saß ich im Lehnstuhl und war erfüllt von den
wundervollen Eindrücken, die wie eine Abschiedsfeier auf mich
wirkten. Ich dachte zurück an vergangene Bilder, an stille Nächte, in
denen der Mond schien.
Ich sah auf den Kranken, legte ihm die Kissen zurecht und schloß
sein Moskitonetz. Dann streckte ich mich im Boot lang aus und
schlief.
Manchmal erwachte ich aus festem Schlaf, wenn das Boot auf
eine Sandbank auflief und von den Baharias wieder abgeschoben
wurde. Einmal stieß das Boot auf einen Baumstamm, der im Wasser
lag. Es wurde von der Kraft der Strömung in den Zweigen
hochgehoben und schlug quer, sodaß das Wasser, das ihm sonst
fördernde Kraft war, plätschernd gegen die Bordwand drängte.
Oft dröhnte die tiefe Stimme eines Flußpferdes aus nächster
Nähe; ein kurzer Zuruf der Leute, eine gewaltsame Wendung des
Bootes, und weiter ging es in gleichmäßiger Ruhe.
Gegen vier Uhr am Morgen wurde ich geweckt.
Wir waren in Ndundu. Die Neger alarmierten das Wieder an der
Küste.
Dorf. Der Akide kam. Strohfackeln brannten.
Aus dem fensterlosen Seitenraum eines Hauses wurden Lasten
herausgeschleppt, die ich dem Akiden zum Aufbewahren gesandt
hatte.
Noch war dunkle Nacht. Aber der Vollmond stand schon tief am
Himmel und der Morgen war nahe, als ich weiterfuhr, und die
Gruppe der Neger mit ihren Fackeln am Ufer zurückblieb.
Ich wußte eine reine Freude vor mir: auf dieser Fahrt das erste
Licht des Tages kommen zu sehen.
Und es kam. Die Ufer schimmerten im Morgenlicht. Bäume und
Hütten nahmen Form und Farben an. Helles Licht breitete sich über
das Wasser aus. Wölkchen zogen von der See herüber und
unterbrachen die Strahlen.
Als es Tag war hörten wir das laute Treiben der Menschen.
Die Boote landeten am Ufer von Mosmene, wo Händler ihre
Lasten aufgestapelt hatten und fleißige Hände bei der Arbeit waren,
Frachten umzuladen.
Der Aufstand lag hinter mir; ich war wieder an der Küste.

[54] Über die wirtschaftlichen Aussichten in diesen Gebieten


findet man Näheres in dem Buche: Hermann Paasche, Deutsch-
Ostafrika. Verlag von E. A. Schwetschke und Sohn, und in den
Berichten des Kolonialwirtschaftlichen Komitees.
[55] Man findet die wunderlichsten Theorien bei Menschen, die
kein Fieber bekommen. Einer sagt: er passe auf, daß ihn keine
Mücke steche (sehr gut; es ist aber nur ein Teil der
Schutzmaßregeln!), ein anderer: er fühle das Fieber kommen und
trinke dann eine Flasche Sekt, dann sei er sicher. Wirkliche
Konfusion bestand, bevor man das Wesen der Malaria kannte,
und in den alten Reisewerken bekommen die Reisenden von
starkem Kaffee z. B. Fieber. Es gibt Menschen, die oft Malaria
hatten und die immun geworden sind.
Verzeichnis
häufig vorkommender in Deutsch-Ostafrika
allgemein gebrauchter Fremdwörter.

Akide = Ältester der farbigen Bevölkerung einer Stadt oder Landschaft.


Askari = Soldat der Schutztruppe.
Bana (Bwana) = Herr.
Barua = Brief.
Betschausch = schwarzer Feldwebel.
Bibi = Mädchen; Frau.
Boma = befestigter Platz, Regierungssitz.
Dhau = Segelfahrzeug.
Goanesen = Leute aus Goa (Vorderindien); Mischlinge von Portugiesen mit
Indern.
Jumbe = Dorfältester.
Kopra = Fleisch der Kokosnuß.
Kiongozi = Führer; Name der in Tanga erscheinenden Suahelizeitung.
Kanicki = blaues Baumwolltuch.
Kofia = Mütze.
Mohogo = Maniok, Gemüsestrauch mit stärkemehlreichen Knollen.
Matama = Negerhirse (Setaria).
Makuti = Palmblatt.
Ngambo = das jenseitige Ufer.
Ngoma = Trommel, Tanz.

You might also like