Table Of ContentInternet of Things
Zoltan Papp
George Exarchakos Editors
Runtime
Reconfiguration
in Networked
Embedded Systems
Design and Testing Practices
Internet of Things
Technology, Communications and Computing
Series editors
Giancarlo Fortino, Rende (CS), Italy
Antonio Liotta, Eindhoven, The Netherlands
More information about this series at http://www.springer.com/series/11636
Zoltan Papp George Exarchakos
(cid:129)
Editors
fi
Runtime Recon guration
in Networked Embedded
Systems
Design and Testing Practices
123
Editors
ZoltanPapp George Exarchakos
TNO Technical University Eindhoven
TheHague Eindhoven
TheNetherlands TheNetherlands
ISSN 2199-1073 ISSN 2199-1081 (electronic)
Internet of Things
Technology,Communications andComputing
ISBN978-981-10-0714-9 ISBN978-981-10-0715-6 (eBook)
DOI 10.1007/978-981-10-0715-6
LibraryofCongressControlNumber:2016933197
©SpringerScience+BusinessMediaSingapore2016
Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpart
of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission
orinformationstorageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilar
methodologynowknownorhereafterdeveloped.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this
publicationdoesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfrom
therelevantprotectivelawsandregulationsandthereforefreeforgeneraluse.
The publisher, the authors and the editors are safe to assume that the advice and information in this
book are believed to be true and accurate at the date of publication. Neither the publisher nor the
authorsortheeditorsgiveawarranty,expressorimplied,withrespecttothematerialcontainedhereinor
foranyerrorsoromissionsthatmayhavebeenmade.
Printedonacid-freepaper
ThisSpringerimprintispublishedbySpringerNature
TheregisteredcompanyisSpringerScience+BusinessMediaSingaporePteLtd.
To Zoltan Papp, in memoriam.
Zoltan was a wonderful, inspiring, and
good-hearted friend, who gave shape and
content to this book through guidance,
generous advices, and insightful discussions.
As he would himself explain: “It is not fate,
it is entropy”.
Foreword
Morethan7yearsagoIstartedworkinginthefieldoftheInternetofThings(IoT),
evenifIdidnotknowexactlywhatitwasmeantfor,andprobablynobodyknewat
that time, as this novel concept had still to find the exact definition and role.
Nonetheless, I was fascinated by the fact that the real world could have virtual
representation allowing for the realization of an unimaginable range of possible
applicationsforthebenefitofthepeoplequalityoflife.Likemanyothercolleagues,
we imagined IoT as a solution to integrate a large number of heterogeneous and
pervasive objects with different connecting and computing capabilities, with the
aim of providing a view of the status of the physical world through the network.
Thesetechnologies wereexpectedtomakepossibletherealizationofnew services
to end users in disparate fields, from the environment monitoring to the industrial
plants running, from city management to house monitoring. Since that time, the
variety of devices capable to send data about the physical environment to the
Internetandtotakelocalandautonomousdecisionshasbeenever-increasing:these
now range from dummy entities capable of providing just their positions (through
attachedtags)toobjectscapableofsensingthestatusofanenvironment,processing
the data, and sending to external systems, if believed meaningful. Clearly,
networked embedded systems are key components in this picture as they allow to
introduce rapid and local decisions in the environment and to implement adaptive
solutions.
Leveraging on my background in quality of service (QoS) management in next
generationnetworks,atthebeginningIstartedidentifyingwhatIbelievedwerethe
most challenging networking issues for some selected IoT applications, i.e., opti-
mizing the configuration of multi-homed wireless sensor networks. I then started
modeling some components of the target systems with particular attention to the
impact of the proposed solutions on the final performance in terms of QoS. I soon
discovered that the approach I followed, like many other colleagues with a strong
focus on the networking aspects, had two common limitations. First, it produced
solutions that were incomplete, as they did not consider issues not directly asso-
ciated to the connectivity, such as those related to the functioning of real-time
vii
viii Foreword
processing systems, which might have introduced not negligible delays and
additional partial or complete system failures. Second, it had the limitation related
to the adaptability of the complete systems which was neglected; this instead is a
must for components of IoT systems that need to evolve over the time along with
external systems with which it interacts.
Much of my progress in this field happened, also thanks to the DEMANES
(Design, Monitoring and Operation of Adaptive Networked Embedded Systems)
project, which we have devised in 2012 with an enthusiastic team of colleagues
from European research centers and industries, and which is still running. It is
duringthisexperiencethatIlearntaworldofkeymethodologiesandtoolsrequired
for an effective design and management of networked embedded systems. Indeed,
designing effective and deploying powerful IoT systems withstronglinks with the
physical world requires a deep knowledge of modeling language for complex
systems (often systems of systems) with the capabilities to describe the disparate
properties and behaviors of the components under analysis. Often hostile envi-
ronments are encountered and in this case it is not always simple to reuse models
designed by others and often everything has to be done from scratch. Runtime
reconfiguration capabilities (covering self-organization and self-optimization) have
alsooftentoberealizedtoextendtheoperationalenvelopeofthesystem.Afterthe
first design has been accomplished, it is then necessary to determine if the system
performsproperlyindifferentscenariosorgoesastrayintosomestatethatdoesnot
correspond to a viability zone. This is the objective of the test and validation
activity,whichisaimedatunderstandingthestateofthesystemafteranadaptation
action and also to understand the quality of the adaptation action. All these vali-
dationactivitieshavetogothrougharigorousandawell-definedsetofrules.Italso
needs an appropriate framework, which is usually comprised of three main ele-
ments:atestcoordinator,asystemmonitor,andananalyzer.Thelattercomponent
containsthetestingalgorithmsthatgatherthesystemvariablesfromthemonitorsto
verify the system status at runtime in terms of viability zones and adaptivity,
according to the instructions set by the test coordinator.
Thisbookcoversalltheseaspectsinacompressivewayrepresentingapowerful
tool for the colleagues that have to deal with the design and deployment of net-
workedembeddedsystems,whethertheyareapartofcomplexIoTsolutionsornot.
Itfocusesonthespecialissuesindesigninganddeployingruntimereconfiguration
functionalitiesinreal-timecontextaddressingthemodel-basedengineering,coping
withcomplexityinruntime,managingthedesign-time—runtimetrade-off,etc.The
book follows a paragmatic approach for solving this complex design problem: it
helps in understanding the applicability of the presented theories and tools by
discussing representative use cases.
Cagliari Luigi Atzori
June 2015
Preface
In order to address todays societal challenges (e.g., environmental management,
intelligent mobility, safety/security, sustainable urban living, etc.) monitoring and
control of large-scale, complex, dynamical systems are essential technologies.
These monitoring and control systems realize sophisticated signal processing
algorithms (state estimation, patternrecognition,optimal control, decision-making,
etc.) in distributed configurations and many times are deployed in difficult-
to-access, hostile environments. Under these circumstances failures, changes in
operational conditions and changes in user needs are not exceptions but should be
considered as nominal operation. Runtime reconfiguration capabilities (covering
self-organization, self-optimization) have to be realized to extend the operational
envelope of the system. Runtime reconfiguration enables the system to cope with
changing system configurations without re-programming the existing setup (i.e.,
supporting easy deployment), to support mobile subsystems (dynamic sensor
management), to cope with environmental changes (e.g., changing network
capacities) and to adapt to changing system goals (user needs) during operation.
The realization and operation of runtime reconfigurable systems poses new chal-
lenges in every stage of the system’s life cycle.
In the book the design and testing of large-scale, distributed signal processing
systemsareconsideredwithspecialemphasisonsystemsarchitecture,tooling,and
best practices. Distinguishing features of the targeted systems are serious resource
constraints (e.g., processing capabilities, communication, energy supply), and the
presence of demanding nonfunctional requirements such as timeliness, robustness,
lifetime, and the capability of handling system “evolution”. All along a strict
model-based process is followed and thus the architecture modeling, model
checking, model-based evaluation, and model-based design optimization play a
central role in the book. After summarizing the conceptual/theoretical foundation
of the methodology, a systems engineering process and a matching tool suite is
described. In order to assure the landing of the abstract concepts, we shall use a
number of nontrivial examples, taken from real-world cases, to illustrate the
application of theory to practice.
ix
x Preface
Thebookisintendedtobeusedasacookbookfordesignersandpractitionersof
complex embedded systems: though it covers the relevant fundamentals for
designingandtestingoflarge-scalenetworkedembeddedsystems,italsoproposes
systems engineering processes, architectural templates (design patterns), and
practical testing/validation approaches and thus it serves as a guideline for the
system designer.
Thebookcapturestheexpertiseofseveralauthorswhohaveworkedforyearsat
the interface between theory and engineering in a variety of topical issues of
embeddedsystems.Since2012theseauthorshavecometoworktogetherunderthe
umbrellaoftheEuropean projectARTEMISDEMANES(Design,Monitoring and
Operation of Adaptive Networked Embedded Systems) that has at its heart the
ambitiontodefineamethodologyandtorealizetoolchainforhigh-levelsupportfor
designing, implementing, testing, and deploying real-world runtime reconfigurable
applications. This book collects the most relevant developments by DEMANES
members in the area of self-configurable embedded networks and systems. This
manuscript is presenting seven complementary topics relevant to the requirements
specification, the off-line design methodology, the services and tooling used, the
validation and verification framework, the validation tools and, finally, the appli-
cability to real-world pilots of large-scale runtime-adaptive networked embedded
systems.
In Chap. 1, a multi-aspect modeling language is introduced that allows system
designerstomodelthearchitectureoflarge-scalenetworkedsystemsfromdifferent
aspectsandcontainsconceptstomodelruntimereconfigurationatdesign-time.The
proposed architecture for modeling runtime reconfiguration consists of primary
tasks in one layer and secondary management tasks in another layer. Special
reconfiguration primitives allow the description of four types of reconfiguration:
re-parameterization, re-instantiation, rewiring, and relocation. The modeling lan-
guage is accompanied by a modeling methodology based on MAPE-K and uses
feedbackloopsinthesystemmodeltomodelruntimereconfiguration.System-level
characteristics, i.e., KPIs are introduced allowing system designers to evaluate
systemdesignsandpickthemostpromisingone.Specialattentionispaidtothefact
thattheavailabilityofaruntimeredesigncapabilityinasystemrequiresKPIstobe
derived and evaluated at runtime. Only then can the redesign be guided properly.
Chapter 2 discusses design methodologies that are specific for adaptive net-
worked embedded systems. This chapter discusses design-time/runtime trade-offs,
designpatternsforreconfigurablereal-timemonitoringandcontrol,runtimedesign
space exploration of adaptive systems and a systems engineering process for run-
time reconfigurable systems. We draw guidelines for all stages of the architectural
process and help system and software designers in choosing wisely specific algo-
rithmsandtechniques.Insummary,weshowcasestate-of-the-artdesigntechniques
that are directly addressing the adaptivity.
Chapter 3 discusses how to build up a model-oriented tool chain and its most
important activity flows: model editing, model visualization and transformation;
model validation and evaluation; and finally, (semi-)automatic system implemen-
tationbasedonthesystemmodel.Inaddition,foreachactivityemphasisgoesalso