Full Chapter Service Oriented Computing 14Th Symposium and Summer School On Service Oriented Computing Summersoc 2020 Crete Greece September 13 19 2020 Schahram Dustdar PDF
Full Chapter Service Oriented Computing 14Th Symposium and Summer School On Service Oriented Computing Summersoc 2020 Crete Greece September 13 19 2020 Schahram Dustdar PDF
Full Chapter Service Oriented Computing 14Th Symposium and Summer School On Service Oriented Computing Summersoc 2020 Crete Greece September 13 19 2020 Schahram Dustdar PDF
https://textbookfull.com/product/service-oriented-computing-
icsoc-2017-workshops-lars-braubach/
https://textbookfull.com/product/service-oriented-computing-18th-
international-conference-icsoc-2020-dubai-united-arab-emirates-
december-14-17-2020-proceedings-eleanna-kafeza/
https://textbookfull.com/product/service-oriented-computing-15th-
international-conference-icsoc-2017-malaga-spain-
november-13-16-2017-proceedings-1st-edition-michael-maximilien/
https://textbookfull.com/product/advances-in-service-oriented-
and-cloud-computing-workshops-of-esocc-2018-como-italy-
september-12-14-2018-revised-selected-papers-maria-fazio/
Service Oriented Computing 16th International
Conference ICSOC 2018 Hangzhou China November 12 15
2018 Proceedings Claus Pahl
https://textbookfull.com/product/service-oriented-computing-16th-
international-conference-icsoc-2018-hangzhou-china-
november-12-15-2018-proceedings-claus-pahl/
https://textbookfull.com/product/service-oriented-computing-17th-
international-conference-icsoc-2019-toulouse-france-
october-28-31-2019-proceedings-sami-yangui/
https://textbookfull.com/product/the-impact-of-service-oriented-
architecture-adoption-on-organizations-naghmeh-niknejad/
https://textbookfull.com/product/advanced-information-systems-
engineering-32nd-international-conference-caise-2020-grenoble-
france-june-8-12-2020-proceedings-schahram-dustdar/
https://textbookfull.com/product/customization-oriented-design-
of-product-service-system-wenyan-song/
Schahram Dustdar (Ed.)
Service-Oriented
Computing
14th Symposium and Summer School
on Service-Oriented Computing, SummerSOC 2020
Crete, Greece, September 13–19, 2020
Communications
in Computer and Information Science 1310
Service-Oriented
Computing
14th Symposium and Summer School
on Service-Oriented Computing, SummerSOC 2020
Crete, Greece, September 13–19, 2020
123
Editor
Schahram Dustdar
Distributed Systems Group
Technische Universität Wien
Vienna, Austria
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface
General Chairs
Schahram Dustdar Technische Universität Wien, Austria
Frank Leymann Universität Stuttgart, Germany
Organization Committee
Johanna Barzen Universität Stuttgart, Germany
George Koutras OpenIT, Greece
Themis Kutsuras OpenIT, Greece
Steering Committee
Marco Aiello Universität Stuttgart, Germany
Schahram Dustdar Technische Universität Wien, Austria
Christoph Gröger Bosch, Germany
Frank Hentschel Universität zu Köln, Germany
Willem-Jan van Heuvel Eindhoven University of Technology, The Netherlands
Rania Khalaf IBM, Germany
Frank Leymann Universität Stuttgart, Germany
Kostas Magoutis University of Crete, Greece
Bernhard Mitschang Universität Stuttgart, Germany
Dimitris Plexousakis University of Crete, Greece
Wolfgang Reisig Humboldt-Universität, Germany
Norbert Ritter Universität Hamburg, Germany
Jakka Sairamesh CapsicoHealth Inc., USA
Sanjiva Weerawarana WSO2, Sri Lanka
Guido Wirtz Universität Bamberg, Germany
Alfred Zimmermann Hochschule Reutlingen, Germany
Program Committee
Marco Aiello Universität Stuttgart, Germany
Johanna Barzen Universität Stuttgart, Germany
Steffen Becker Universität Stuttgart, Germany
Wolfgang Blochinger Hochschule Reutlingen, Germany
Uwe Breitenbücher Universität Stuttgart, Germany
Gerd Breiter IBM, Germany
Antonio Brogi Università di Pisa, Italy
Florian Daniel Politecnico di Milano, Italy
Christian Decker Hochschule Reutlingen, Germany
viii Organization
Additional Reviewers
Service-Based Applications
1 Introduction
We all visit museums or archaeological sites from time to time to appreciate
culture, to learn, and to overall have a pleasant experience. However museums
are usually large spaces that are hard to navigate, with the volume of exhibits
and information available being overwhelming to the visitor. For this reason
most museums today provide guided tours, traditionally via licensed staff, and
more recently by offering electronic tour guides that help visitors navigate the
space, often providing additional information about the exhibits. These tools are
undoubtedly helpful to many visitors, but they are typically generic.
2 Related Work
The first approaches to e-guides were heavily based on user interaction, by having
users either select exhibits from a provided list or scan NFC codes associated with
specific exhibits. In both cases the user receives information about an exhibit,
Towards Personalized Recommendations 5
but at the expense of having to closely interact with the device for input. Such
guides are usually based on generic pre-programmed tours that are stored in the
device and are not fitted to the individual interests or touring style of the visitor.
More recent systems provide the ability to track visitors via Bluetooth bea-
cons or video cameras. There has been significant work in the field of user track-
ing in museums [2], focusing on either providing information to the museum
curators [7] or on providing recommendations to visitors by requiring them to
provide extensive profile information or answer questions [6]. In our work, we
take inspiration from techniques of the first approach [7], to build visitor profiles
and leverage and extend work on recommendations [6] to improve the quality of
the tours with implicit profile characteristics. ProxiTour, the personalized tour-
ing platform evaluated in this paper, was recently introduced by Chronarakis
et al. [3]. Real-time processing of localization streams tracking museum visitors
through video cameras was described by Stamatakis et al. [9]. Our work extends
this previous research by applying profile building and analytics on historical
information, creating the basis for personalized recommendations.
Recommendation systems are a broad and interesting field of study and the
goal is to figure out the best subset of options for some particular user, based on
their profile. They can help reduce “buyer’s anxiety” when faced with overwhelm-
ing choices; in our case they can contribute to a more personalized experience
for visitors. The three main approaches to this task are: collaborative filter-
ing, content-based filtering, and hybrid filtering [1]. Collaborative filtering, the
most commonly used and mature approach, groups users with similar tastes to
make recommendations. The system constructs tables of similar items offline and
then uses those tables to make online suggestions, based on the user’s history.
Content-based filtering predicts the user’s interests, based solely on the current
user and ignoring information collected from other users. Hybrid filtering com-
bines two or more filtering techniques to increase the accuracy and performance
of the system and overcome some of the issues inherent in each approach.
ProxiTour takes a hybrid approach combining collaborative and content-
based filtering. It defines a level of similarity between exhibits based on user
feedback, profiles, and expert input and uses that to compile a list of proposed
exhibits. It then ranks the items in the list using our visitor’s profile as a guide.
The list is presented via the application, using direct and indirect feedback to
evaluate the recommendations and fine-tune user models.
Fig. 2. Overview of experimental space used for controlled testing. Circles indicate the
location of BLE beacons and diamonds the associated exhibits.
Towards Personalized Recommendations 7
User Profiling: Our first objective is to create user profiles by processing local-
ization information. We split the incoming stream of events into user-sessions,
by userID.
Creation of user sessions works as follows: If a session is already open for
this user it updates the information of the session. If a session for the user
1
We assume GDPR-compliant processes involving explicit user consent.
8 M. Arvaniti-Bofili et al.
does not exist, the application will look in the (stored) history to see if it has
historical information for the user to initialize and link this session to, otherwise
it will create a new clean session. Every new user profile contains only basic
information, given at registration (e.g., ageCategory, language, gender, etc.).
While the user moves through each room, we store information like the average
time he spent near each exhibit, the categories of the exhibits he spent the most
time on and the total amount of time spent in the room, current session duration
and more.
There has been a lot of work in defining the best set of characteristics that
define a museum visitor [4,5]. In addition to the more common ones described
above, we chose to include the visitor’s movement pattern. We were motivated
by earlier work by Veron and Levasseur [10] who identified associations of the
movement style of visitors moving through an art gallery space with general
characteristics of the movement style of specific species, in particular ants, fish,
grasshoppers, and butterflies: Visitors in the “ant” category tend to move close
to the walls and the exhibits, follow the suggested route and study each exhibit
carefully. “Fish” tend to move mostly in the empty space, in the center of the
room and do not come very close to the exhibits, spending a short time on some.
“Grasshoppers” tend to also move in the empty space, but approach the exhibits
that interest them and spend more time studying them. “Butterflies” tend to
move in and out of the empty space, not following the suggested route, observing
almost all exhibits with varying time spent on each one.
These different types of movements can be good indicators of different visitor
personality traits and levels of interest. For example, an “ant” is likely to visit
most of the exhibits, so a guide should focus more on the type of digital infor-
mation they enjoy. “Ants” are also more likely to give feedback. On the other
hand, “grasshoppers” have clearer preferences, so we can give them more tar-
geted content or direct them to more obscure exhibits matching their interests.
“Fish” can have varying degrees of engagement, as can “butterflies”, so we will
need to handle them accordingly.
In ProxiTour, the movement pattern of each visitor is continuously analyzed
to categorize them accordingly. Each user is eventually represented by a vector,
containing the information summary of their profile.
information about how long the user spent on each exhibit and use that as a
metric of how interesting they found it, based on their overall attention span
(avgExhibitVisit) and the time spent on it by other users. If the user chooses
not to enable that option, we can still get some feedback, by checking which of
the additional sources the visitor chose to open and for how long he kept them
open. We assume that the longer they looked at an exhibit the more engaged
they were with it.
4 Evaluation
In this work we use experimental data from the testbed depicted in Fig. 2 to
validate the interoperability of the various components of the system, and to
demonstrate that the created profiles can be used to differentiate the behavior
of different users who move in the monitored space. The setup of Fig. 2 features
11 (hypothetical) exhibits and 11 beacons laid out in distances that would be
typical of a museum environment. Users (project members) moving around the
museum space test the beacons’ functionalities and perform controlled exper-
iments by emulating users with specific behavior patterns. The events of the
resulting streams contain key-value pairs of collected information (e.g. longi-
tude, latitude, timestamp, etc.).
Our preliminary tests demonstrate that the setup is functional and that Prox-
iTour can successfully track users moving about the experimental site. Thanks
to the localization and exhibit information included in the messages, we can
calculate for example, how long each user spends on each exhibit. The informa-
tion we produce is used to enrich the profile of the user that evolves, as more
information is collected.
The experiment involves 40 users (project members), moving about the test
space and interacting with the exhibits in a predefined manner. Each user moves
emulating one of the species-inspired behaviors we described in Sect. 3.2. If dis-
tinction of the patterns is possible, then recommendations should be customized
to fit the pattern of behavior detected within each group. Our evaluation in this
work focuses on the former aspect (detecting pattern of behavior and profile
building); testing of the recommendation system itself is planned for an upcom-
ing pilot with real users.
As discussed in Sect. 3.2, detecting a new user requires matching him/her to
a category based on the basic initial information to start creating their personal-
ized tour. Initially, basic categories are primarily split by age group. Each group
will receive an initial recommendations list that consists of the top K exhibits
for users in that age group (determined from historical data). This is a general
choice that will likely be adapted during the visit.
The users are split equally, based on movements patterns, into four groups
(ants, fish, grasshoppers, butterflies). During the visitor’s tour we note how they
move about the space. We create movement vectors for the users from one exhibit
to the next and try to classify those in one of the four categories. We test,
with an autoML approach, the performance of some very well known machine
10 M. Arvaniti-Bofili et al.
Fig. 3. (a) Visitor categories representation based on movement patterns (b) Accu-
racy of visitor’s movement classification. (c) Breakdown of classification accuracy per
category.
5 Conclusions
This paper describes current support for building user profiles and exhibit pro-
files via processing of localization and activity information/events collected by
the ProxiTour IoT-enabled platform. Our experimental evaluation in a con-
trolled testbed demonstrated that classification of users (key to effective person-
alized recommendations) is possible through an online stream-processing plat-
form using ML libraries.
Future work on a larger scale pilot will study the effectiveness of recommen-
dations and further investigate the potential of other ML techniques such as
reinforcement learning to more aggressively explore the space of possible recom-
mendations.
References
1. Bobadilla, J., Ortega, F., Hernando, A., Gutiérrez, A.: Recommender systems sur-
vey. J. Knowl.-Based Syst. (Elsevier) 46, 109–132 (2013)
2. Cheverst, K., Davies, N., Mitchell, K., Friday, A., Efstratiou, C.: Developing a
context-aware electronic tourist guide: some issues and experiences. In: Proceedings
of ACM SIGCHI Human Factors in Computing Systems (CHI 2000), pp. 17–24
(2000)
3. Chronarakis, A., et al.: ProxiTour: a smart platform for personalized touring. In:
Proceedings of 13th Symposium and Summer School on Service-Oriented Comput-
ing (SummerSOC’19); also IBM Technical Report RC25685. Hersonissos, Crete,
Greece, 17–23 June 2019 (2019)
4. Dean, D.: Museum Exhibition Theory and Practice. Routledge, London (1994)
5. Hatala, M., Wakkary, R.: Ontology-based user modeling in an augmented audio
reality system for museums. User Model. User-Adap. Inter. 15, 339–380 (2005)
6. Huang, Y.M., Liu, C.H., Lee, C.Y.: Designing a personalized guide recommendation
system to mitigate information overload in museum learning. Educ. Technol. Soc.
15, 150–166 (2012)
7. Lanir, J., et al.: Visualizing museum visitors’ behavior: where do they go and what
do they do there? Pers. Ubiquit. Comput. 21, 313–326 (2017)
8. Spark Structured Streaming. https://spark.apache.org/docs/latest/structured-
streaming-programming-guide.html
9. Stamatakis, D., Grammenos, D., Magoutis, K.: Real-time analysis of localization
data streams for ambient intelligence environments. In: Keyson, D.V., et al. (eds.)
AmI 2011. LNCS, vol. 7040, pp. 92–97. Springer, Heidelberg (2011). https://doi.
org/10.1007/978-3-642-25167-2 10
10. Veron, E., Levasseur, M.: Ethnographie de l’exposition, Paris, Bibliothèque
Publique d’Information. Centre Georges Pompidou (1983)
Situation-Aware Updates
for Cyber-Physical Systems
1 Introduction
The trend of integrating the physical world with the so-called cyber world builds
upon integration of software and hardware components creating new paradigms,
such as the Internet of Things (IoT) [2] and the more general paradigm of Cyber-
Physical Systems (CPS) [17]. The wide range of applicable domains, such as
health care [19], mobility [18] and energy [1], enable the seamless integration
of digital and physical processes with our everyday life. These systems must
combine different types of components, starting from commodity hardware to
embedded devices, from off-the-shelve software components to specialized real-
time functions, e.g., embedded devices that control motors sending data to local
databases hosted on edge cloud resources, which are used to aggregate the data
before sending it further to the cloud. Maintenance of these heterogeneous com-
ponents is a complex task, e.g., the exchange of complete components at runtime
c Springer Nature Switzerland AG 2020
S. Dustdar (Ed.): SummerSOC 2020, CCIS 1310, pp. 12–32, 2020.
https://doi.org/10.1007/978-3-030-64846-6_2
Situation-Aware Updates for Cyber-Physical Systems 13
to achieve a system update. As every system can have its bugs it is crucial to
enable updates in CPS, as errors that lead to faults within such a system can
have severe safety issues in the real world possibly harming people or resources.
However, management processes that use or configure components must also
consider the surrounding environment, i.e., its overall context must be regarded.
For example, applying runtime updates of components effect their functional
availability and may create severe safety issues in case of errors that can be
caused by external environmental changes, such as, changing network connec-
tions or actions by people affecting the update process. Additionally, if a CPS
should be as autonomous as possible the execution of updates should be started
without the explicit affirmation by users every time an update is available. This
autonomy can only be achieved if the management system of a CPS is aware of
its context, and further, to enable a robust execution of updates, it is important
to observe the current state in the context and apply these at the right time.
Hence, such systems must be Context-Aware in nature [32]. To enable such an
execution it is not only important to know how long a situation will be active
in the application context, e.g., are all users absent from the CPS and don’t use
it, but also how long it takes to execute an update, e.g., how long applying a
new firmware takes or how long it takes to restart a database. In summary, it
is important to combine both views, how much time does an update have and
how long does it take to enable the robust execution of an update.
Therefore, we propose an approach to enable the modeling and execution of
management processes based on awareness of the context and worst-case exe-
cution time of the needed management tasks, enabling to determine when a
system has a proper state and enough time to execute management processes.
The main idea of our approach is to model the desired update with addition of
specifying which components must be updated only when certain situations are
active for enough time to update. Our approach builds on previous work within
the DiStOpt project (successor of SitOPT) [23] that enabled to model Situation-
Aware workflows, but did not consider the timing of Situation-Aware tasks, and
therefore, was only reactive in nature, hence may turn applications not to be
available at the right time again. One of the project goals of DiStOpt is decou-
pling high level knowledge from low level data and queries on top of the received
data, and therefore, enable easier modeling of Situation-Aware workflows. The
concept of Situation-Aware workflows is used in this paper and applied to updat-
ing CPS in a situation-aware manner to enable desired properties of safe and
autonomous execution of management processes. Another work we build upon
is to enable the generation of workflows from so-called declarative deployment
models that only specify what should be deployed and not how. The generated
processes from these models are able to install, configure and start software com-
ponents in an fully automated manner [7], but not under given time constraints
such as those given by the current context of a CPS. We extended and combined
concepts of both previous works enabling the observation of time in context and
execution, therefore, enabling proactive management of CPS.
14 K. Képes et al.
2.2 CPS
In research and industry the trend of integrating the physical world and soft-
ware emerged to paradigms such as the Internet of Things [2] or the more general
paradigm of CPS[17]. The wide-range of application scenarios for CPS, such as,
energy [34], health care [19] and mobility [18] implies the growing integration
within our everyday lives. These applications build on heterogeneous hardware
and software components such as embedded devices to commodity hardware
or from off-the-shelve components to specialized software. As these components
may be deployed and run within physical environments and interacting with
users in a physical manner, CPS in cases can be seen as real-time systems execut-
ing (near-)real-time tasks that have deadlines on the execution of their functions
16 K. Képes et al.
to enable properties such as safety. These properties are crucial for CPS as miss-
ing deadlines may put people into danger, e.g., when an airbag of a car reacts
to late. Therefore it is crucial that CPS are highly resilient to errors and do not
create severe faults, hence, it is crucial to immediately apply (critical) updates
of the heterogeneous CPS components to make the system more resilient over
their lifetime. This also must be regarded when executing management tasks
such as updates, as the execution of as such may have severe side effects as well.
3.1 Overview
The main idea of the UPTIME method is to specify components and their
exposed operations with the situations that must be active long enough in the
current context of the application to execute such operations properly. The first
step in the UPTIME method is to model the desired update from a source to a
target deployment model, i.e., model the components and relations which shall
be installed and configured in the running systems via deployment models (see
first step in Fig. 2). In the second step the target deployment model is annotated
18 K. Képes et al.
with situations (see Subsect. 2.4) and the worst-case execution time (WCET, see
Subsect. 2.3) of the available operations and their compensation operations. For
example, in our scenario an operation to flash embedded devices, and also to
compensate previously executed flash operations, is annotated with a WCET of
one minute and the situation that a train shall be at a station, indicating that
the update of a firmware should only be executed when the train is at a station
for at least a minute at runtime (see on the right side in Fig. 2). In case of com-
ponents used by passengers, we only specify the situation that no passenger is
using these components. Both steps are based on the Situation-Aware Deploy-
ment Metamodel described in Subsect. 3.2 in detail. After specifying situations
and execution times, in step three we generate an imperative deployment model,
i.e., a process from the given source and target deployment models that contains
activities using the operations of modeled components in an order to update
the system (see Subsect. 3.3). The order of generated processes are derived by
determining which components must be removed, updated or newly installed,
and using the available management operations to achieve this. In addition,
each annotated operation from the original declarative models which are needed
within the generated process is added to a so-called Time-Aware Situational
Scope. These scopes control the execution of these operations by observing the
specified situations and therefore can calculate whether there is enough time
to execute an operation according to its annotated WCET. The execution of
operations in such scopes is only started when the proper situations are active
for a duration that is enough to execute management tasks and possibly their
compensation, i.e., revert already executed operations. This strategy enables to
keep a system in a consistent state even if the execution of operations fail as a
scope will start to compensate already executed update operations in time.
languages. In the following we will define a meta model for such processes and
so-called Time-Aware Situational Scopes (TASS).
Let a process G with a set of TASS be a directed and labeled graph repre-
sented by the tuple G = (A, L, c, scopes).
Kamasia, 136
Karanjui, camp at, 84;
fight at, 324
Karama, 147
Kenia, Mount, 34;
first sight of, 66;
again in sight of, 291;
north of, 137
Kibaba, capacity of, 53
Kibuyu, 54
Kilaluma, 43, 343
Kinangop, Mount, 338, 342
Kinuthia, 49-51
Kinyala, song of, 310
Kiongozi, 12
Kirrimar plain, 253
Kitoma, 53
Kolb, Dr., 5, 11;
account of death of, 156
Koranja, 51;
accompanies us, 59;
trepidation of, 62;
bids us farewell, 63;
meeting with, 349
Koromo, meeting with, 104;
makes blood-brotherhood with El Hakim, 113
Kota, 52
Kriger and Knapp, Messrs., 18;
decide to accompany us, 24;
return of, 35
Kriger’s farm, arrival at, 22;
departure from, 25;
return to, 361
Kundu, 53
Kwa-Ngombe, 345
Leeches, 212
Lemoro, 213
Leopard, 35
Lion, number of, 32;
hunt, 156, 279;
El Hakim’s adventure with, 292, 332, 333
Loads, method of carrying, 16
Lokomogo, 213;
present of, 270
Lolokwe, Mount, 136
Longfield, Capt., 353
Lorian, 3, 4;
news of, 246;
the start for, 246;
where is it?, 258;
dissertation on, 265
Loroghi Mountains, 5, 137
Lubo, 213;
immense possessions of, 232
Lykipia plateau, 52, 137
Mahogo, 52
Makono, measurement of, 53
Malwa, 13
Manga, 51;
indisposition of, 56;
greeted by, 349
Marabout stork, 39
Maranga, arrival at, 51;
abundance of food in, 52;
departure from, 59;
return to, 349;
peculiar method of crossing a river of people of, 356
Maragua river, 46;
bridge across the, 47;
return to the, 358
Maragua bean, 53
Marathwa river, 352
Marazuki, death of, 128
Marisi-al-lugwa-Zambo plateau, 204-245
Marlé tribe, 228
Marsabit, 222
Masai, 242, 338
Materu, camp at, 62
Mau escarpment, 137
M’biri, visit to, 352
M’bu, arrival at, 64;
hostility of natives of, 67;
an anxious journey, 71;
the guides desert, 74;
farewell to, 73
Metama, 52;
matindi, 53
Midges, attacked by, 178
Milindi, 31
Milk, method of adulteration of, 54
Mineral spring, 161;
salts, 162
Mogogodo, 181
Mogoroni river, 345
Moravi, route across, 81
Morio trees, 135, 160
“Morning Whiffs,” terrible results of, 39;
further experiences with, 55
M’thara, arrival at, 90;
purchasing food in, 91;
description of camp at, 98;
camp in danger, 104;
getting supplies of food in, 113;
departure from, 148;
bad news from, 297;
return to the camp at, 302;
farewell to, 331
Muhindi, 52
Mules, 19;
accident to one of the, 78
Mumoni Hills, 47
Mumunye, 53
Munipara, 11
Munithu, arrival at, 84;
departure from, 84;
return to, 116;
story of the pillaged goods at, 116;
departure from, 131;
attack on, 319
M’wele, 52
Nairobi, 1, 2, 6, 8, 9;
river, 27;
falls, 27;
the return to, 362
Naivasha, 338
N’dizi, 53
N’Dominuki, chief of M’thara, character of, 89;
declining influence of, 90;
is accused of treachery by the Somalis, 106;
explanation of, 108;
offers himself as guide, 111;
fidelity of, 299
N’doro, 341
Neumann, Mr. A. H., 5;
influence over N’Dominuki of, 89;
acquaintance with Dr. Kolb, 155
Ngare Mussoor, 336
Ngare Nanuki, 337
N’gombe, Mount, 178
Noor Adam, 17;
appearance and character of, 94
Nyemps, 136;
the old men of, 330
Oryx, 183
Sabaki river, 31
Sadi ben Heri, 11;
death of, 128
Sagana, 45
Salt, failure to procure, 179;
large plain of, 233
Sand rivers, 200, 290
Sand rats, 212
Seton-Karr, Mr., 276
Sirimon river, 337
Sheba, Mount, 164
Sheep, buying from the Rendili, 268;
death of many of the, 314;
the disposal of, 358
“Sherlock Holmes,” 13;
illness of, 340;
death of, 342
Shooting, useful hints on, 146
Skene, Captain, 358
Smallpox, 59, 232, 238, 354
Somali caravan, start of, 17;
news of the, 83;
attacked by the Wa’Embe, 84;
conference with leaders of, 93;
friction with, 141;
meeting with portion of, 201;
disaster to the, 217;
the alarm in the, 271;
the panic in the, 272
Song of Kinyala, 310
Spot, death of, 263
Sulieman, 12;
desertion of, 259
Swahili porters, character of, 7
Sweinfurth Falls, 46
Swamp Camp, 178, 291
Sycamores, 79
Uimbe, 52
Viazi, 52
Victoria Nyanza, Lake, 1, 7
Vikwer, 52
Viseli, 132
Zanzibar, 7
Zebra, 33, 43, 336, 341
Zuka, entry into, 75;
camp in, 77
Zura, welcome at, 81
THE END.
Updated editions will replace the previous one—the old editions will
be renamed.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the terms
of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.