100% found this document useful (8 votes)
29 views85 pages

Embedded System Design Embedded Systems Foundations of Cyber Physical Systems and the Internet of Things 3rd Edition by Peter Marwedel ISBN 331956045X 9783319560458 - Download the full set of chapters carefully compiled

The document promotes various eBooks related to embedded systems, cyber-physical systems, and the Internet of Things available for instant download at ebookball.com. It highlights multiple titles, including 'Embedded System Design' by Peter Marwedel and 'Security Engineering for Embedded and Cyber Physical Systems' by Saad Motahhir, among others. The content emphasizes the importance of embedded systems in modern technology and the educational resources available for students and professionals in the field.

Uploaded by

gdyniamaruam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (8 votes)
29 views85 pages

Embedded System Design Embedded Systems Foundations of Cyber Physical Systems and the Internet of Things 3rd Edition by Peter Marwedel ISBN 331956045X 9783319560458 - Download the full set of chapters carefully compiled

The document promotes various eBooks related to embedded systems, cyber-physical systems, and the Internet of Things available for instant download at ebookball.com. It highlights multiple titles, including 'Embedded System Design' by Peter Marwedel and 'Security Engineering for Embedded and Cyber Physical Systems' by Saad Motahhir, among others. The content emphasizes the importance of embedded systems in modern technology and the educational resources available for students and professionals in the field.

Uploaded by

gdyniamaruam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 85

Quick and Easy Ebook Downloads – Start Now at ebookball.

com for Instant Access

Embedded System Design Embedded Systems


Foundations of Cyber Physical Systems and the
Internet of Things 3rd Edition by Peter Marwedel
ISBN 331956045X 9783319560458

https://ebookball.com/product/embedded-system-design-
embedded-systems-foundations-of-cyber-physical-systems-and-
the-internet-of-things-3rd-edition-by-peter-marwedel-
isbn-331956045x-9783319560458-15824/

OR CLICK BUTTON

DOWLOAD NOW

Instantly Access and Download Textbook at https://ebookball.com


Your digital treasures (PDF, ePub, MOBI) await
Download instantly and pick your perfect format...

Read anywhere, anytime, on any device!

Security Engineering for Embedded and Cyber Physical


Systems 1st edition by Saad Motahhir, Yassine Maleh
1000644235 9781000644234
https://ebookball.com/product/security-engineering-for-embedded-and-
cyber-physical-systems-1st-edition-by-saad-motahhir-yassine-
maleh-1000644235-9781000644234-20190/

ebookball.com

Internet of Things and Cyber Physical Systems Security and


Forensics 1st edition by Kaushik Keshav, Dahiya Susheela,
Bhardwaj Akashdeep, Maleh Yassine 1000820130 9781000820133
https://ebookball.com/product/internet-of-things-and-cyber-physical-
systems-security-and-forensics-1st-edition-by-kaushik-keshav-dahiya-
susheela-bhardwaj-akashdeep-maleh-
yassine-1000820130-9781000820133-19986/
ebookball.com

The Art of The Art of Designing Embedded Systems 1st


edition by Jack Ganssle 9780080499352 008049935X

https://ebookball.com/product/the-art-of-the-art-of-designing-
embedded-systems-1st-edition-by-jack-
ganssle-9780080499352-008049935x-8874/

ebookball.com

Embedded Systems Design Based on Formal Models of


Computation 1st Edition by Ivan Radojevic, Zoran Salcic
ISBN 9789400715943
https://ebookball.com/product/embedded-systems-design-based-on-formal-
models-of-computation-1st-edition-by-ivan-radojevic-zoran-salcic-
isbn-9789400715943-8954/

ebookball.com
Real Time Embedded Systems Design Principles and
Engineering Practices 1st Edition by Xiaocong Fan
0128015071 9780128015070
https://ebookball.com/product/real-time-embedded-systems-design-
principles-and-engineering-practices-1st-edition-by-xiaocong-
fan-0128015071-9780128015070-17208/

ebookball.com

Systems Controls Embedded Systems Energy and Machines 1st


Edition by Richard Dorf 0849373476 9780849373473

https://ebookball.com/product/systems-controls-embedded-systems-
energy-and-machines-1st-edition-by-richard-
dorf-0849373476-9780849373473-17526/

ebookball.com

Design of Embedded Robust Control Systems Using MATLAB


Simulink 1st edition by Petko Petkov, Tsonyo Slavov,
Jordan Kralev 1785613308 9781785613302
https://ebookball.com/product/design-of-embedded-robust-control-
systems-using-matlab-simulink-1st-edition-by-petko-petkov-tsonyo-
slavov-jordan-kralev-1785613308-9781785613302-18398/

ebookball.com

Design of Embedded Robust Control Systems Using MATLAB


Simulink 1st Edition by Petko Petkov, Tsonyo Slavov,
Jordan Kralev 1785613308 978-1785613302
https://ebookball.com/product/design-of-embedded-robust-control-
systems-using-matlab-simulink-1st-edition-by-petko-petkov-tsonyo-
slavov-jordan-kralev-1785613308-978-1785613302-25350/

ebookball.com

First Steps with Embedded Systems 1st Edition by Byte


Craft Limited ISBN

https://ebookball.com/product/first-steps-with-embedded-systems-1st-
edition-by-byte-craft-limited-isbn-12312/

ebookball.com
Embedded Systems

Peter Marwedel

Embedded System
Design
Embedded Systems, Foundations of
Cyber-Physical Systems, and the
Internet of Things
Third Edition
Embedded Systems

Series editors
Nikil D. Dutt, Irvine, CA, USA
Grant Martin, Santa Clara, CA, USA
Peter Marwedel, Dortmund, Germany
This Series addresses current and future challenges pertaining to embedded
hardware, software, specifications and techniques. Titles in the Series cover a
focused set of embedded topics relating to traditional computing devices as well as
high-tech appliances used in newer, personal devices, and related topics. The
material will vary by topic but in general most volumes will include fundamental
material (when appropriate), methods, designs and techniques.

More information about this series at http://www.springer.com/series/8563


Peter Marwedel

Embedded System Design


Embedded Systems, Foundations
of Cyber-Physical Systems,
and the Internet of Things

Third Edition

123
Peter Marwedel
TU Dortmund
Dortmund
Germany

ISSN 2193-0155 ISSN 2193-0163 (electronic)


Embedded Systems
ISBN 978-3-319-56043-4 ISBN 978-3-319-56045-8 (eBook)
DOI 10.1007/978-3-319-56045-8
Library of Congress Control Number: 2017938320

1st edition: © Springer 2006


2nd edition: © Springer Science+Business Media B.V. 2011
3rd edition: © Springer International Publishing AG 2018
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part
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
or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this
publication does not imply, even in the absence of a specific statement, that such names are exempt from
the relevant protective laws and regulations and therefore free for general use.
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
authors or the editors give a warranty, express or implied, with respect to the material contained herein or
for any errors or omissions that may have been made. The publisher remains neutral with regard to
jurisdictional claims in published maps and institutional affiliations.

Printed on acid-free paper

This Springer imprint is published by Springer Nature


The registered company is Springer International Publishing AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
This book is dedicated to my family members
Veronika, Malte, Gesine, and Ronja.
Preface

What Does This Book Present?

“Information technology (IT) is on the verge of another revolution. … networked


systems of embedded computers … have the potential to change radically the way
people interact with their environment by linking together a range of devices and
sensors that will allow information to be collected, shared, and processed in
unprecedented ways. … The use … throughout society could well dwarf previous
milestones in the information revolution.”
This citation from a report of the National Research Council in the USA [392]
describes very nicely the dramatic impact of information technology in embedded
systems. Such systems can be understood as information processing embedded into
an enclosing product [355], such as a car or an airplane. This revolution has already
had a major impact and is still continuing. For example, the availability of mobile
devices has had an impact on societies. Due to the increasing integration of com-
puting and physical objects, the term cyber-physical systems (CPS) has been
introduced. Such systems “are engineered systems that are built from and depend
upon the synergy of computational and physical components” [394]. Objects or
“things” play a key rule in the definition of the popular term “Internet of Things”
(IoT). IoT “… describes … a variety of devices … able to interact and cooperate
with each other to reach common goals” [179]. Terms such as pervasive and
ubiquitous computing, ambient intelligence, and “Industry 4.0” are also referring to
the dramatic impact of changes caused by information technology. More changes
like the use of self-driving cars and more remotely controlled airborne devices are
on the horizon.
This importance of embedded/cyber-physical systems and IoT is so far not well
reflected in many of the current curricula. Designing the mentioned systems
requires knowledge and skills from areas beyond traditional programming and
algorithm design. Obtaining an overview of such knowledge is very difficult, due to
the wide range of relevant areas. This book aims at facilitating the acquisition of
knowledge from the relevant areas. It provides material for a first course on such

vii
viii Preface

systems and includes an overview of key concepts for the integration of information
technology with physical objects. It covers hardware as well as software aspects.
This is in-line with the ARTIST guidelines for curricula of embedded systems: “The
development of embedded systems cannot ignore the underlying hardware char-
acteristics. Timing, memory usage, power consumption, and physical failures are
important” [86].
This book has been designed as a textbook. However, this book provides more
references than typical textbooks do and also helps to structure the area. Hence, this
book should also be useful for faculty members and engineers. For students, the
inclusion of a rich set of references facilitates access to relevant sources of
information.
This book focuses on the fundamental bases of software and hardware. Specific
products and tools are mentioned only if they have outstanding characteristics.
Again, this is in-line with the ARTIST guidelines: “It seems that fundamental bases
are really difficult to acquire during continuous training if they haven’t been ini-
tially learned, and we must focus on them” [86]. As a consequence, this book goes
beyond teaching embedded system design by programming microcontrollers. This
book presents the fundamentals of embedded systems design which are needed
for the design of CPS and IoT systems. With this approach, we would like to
make sure that the material taught will not be outdated too soon. The concepts
covered in this book should be relevant for a number of years to come.
The proposed positioning of the current textbook in computer science and
computer engineering curricula is explained in a paper [356]. We want to relate the
most important topics in this area to each other. This way, we avoid a problem
mentioned in the ARTIST guidelines: “The lack of maturity of the domain results in
a large variety of industrial practices, often due to cultural habits. … curricula …
concentrate on one technique and do not present a sufficiently wide perspective. …
As a result, industry has difficulty finding adequately trained engineers, fully aware
of design choices” [86].
This book should also help to bridge the gap between practical experiences with
programming microcontrollers and more theoretical issues. Furthermore, it should
help to motivate students and teachers to look at more details. While this book
covers a number of topics in detail, others are covered only briefly. These brief
sections have been included in order to put a number of related issues into per-
spective. Furthermore, this approach allows lecturers to have appropriate links in
this book for adding complementary material of their choice. Due to the rich set of
references, this book can also be used as a comprehensive tutorial, providing
pointers for additional reading. Such references can also stimulate taking benefit of
this book during laboratories, projects, and independent studies as well as a starting
point for research.
The scope of this book includes specification techniques, hardware components,
system software, application mapping, evaluation and validation, as well as
exemplary optimizations and test methods. This book covers embedded systems
and their interface to the physical environment from a wide perspective, but cannot
cover every related area. Legal and socioeconomic aspects, human interfaces, data
Preface ix

analysis, application-specific aspects, and a detailed presentation of physics and


communication are beyond the scope of this book. The coverage of the Internet of
Things is limited to areas linked to embedded systems.

Who Should Read the Book?

This book is intended for the following audience:


• Computer science (CS), computer engineering (CE), and electrical engineering
(EE) students as well as students in other information and communication
technology (ICT)-related areas who would like to specialize in
embedded/cyber-physical systems or IoT. This book should be appropriate for
third-year students who do have a basic knowledge of computer hardware and
software. This means that this book primarily targets senior undergraduate
students1. However, it can also be used at the graduate level if embedded system
design is not part of the undergraduate program or if the discussion of some
topics is postponed. This book is intended to pave the way for more advanced
topics that should be covered in follow-up courses. This book assumes a basic
knowledge of computer science. EE students may have to read some additional
material in order to fully understand the topics of this book. This should be
compensated by the fact that some material covered in this book may already be
known to EE students.
• Engineers who have so far worked on systems hardware and who have to move
more toward software of embedded systems. This book should provide enough
background to understand the relevant technical publications.
• Ph.D. students who would like to get a quick, broad overview of key concepts in
embedded system technology before focusing on a specific research area.
• Professors designing a new curriculum for the mentioned areas.

How Is This Book Different from Earlier Editions?

The first edition of this book was published in 2003. The field of embedded systems
is moving fast, and many new results have become available since then. Also, there
are areas for which the emphasis has shifted. In some cases, a more detailed
treatment of the topic became desirable. New developments have been taken up
when the first German edition of this book was published in 2007. Therefore, it
became necessary to publish a second English edition in late 2010/early 2011. Since

1
This is consistent with the curriculum described by T. Abdelzaher in a recent report on CPS
education [393].
x Preface

then, some technological changes occurred. There was a clear shift from single core
systems toward multi-core systems. Cyber-physical systems (CPS) and the Internet
of Things (IoT) gained more attention. Power consumption and thermal issues have
become more important, and many designs now have tight power and thermal
constraints. Furthermore, safety and security have gained importance as well.
Overall, it became necessary to publish the current third edition.
The changes just described had an impact on several chapters. We are now
including and linking those aspects of embedded systems that provide foundations
for the design of CPS and IoT systems. The preface and the introduction have been
rewritten to reflect these changes. (a) The chapter on specifications and modeling
now includes partial differential equations and transaction-level modeling (TLM).
The use of this book in flipped-classroom-based teaching led to the consideration of
more details, in particular of specification techniques. (b) The chapter on embedded
system hardware now includes multi-cores, a rewritten section on memories, more
information on the conversion between the analog and the digital domain, including
pulse-width modulation (PWM). There are updated descriptions of field pro-
grammable gate arrays (FPGAs) and a brief section on security issues in embedded
systems. (c) The chapter on system software now contains a section on Linux in
embedded systems and more information on resource access protocols. (d) In the
context of system evaluation, there are new subsections on quality metrics, on
safety/security, on energy models, and on thermal issues. (e) The chapter on
mapping to execution platforms has been restructured: A standard classification of
scheduling problems has been introduced, and multi-core scheduling algorithms
have been added. There is now a clearer distinction between jobs and tasks. The
description of hardware/software codesign has been dropped. (f) The chapter on
optimizations has been updated. Some information on compilation for specialized
processors has been dropped.
All chapters have been carefully reviewed and updated if required. There are
also an improved integration of (color) graphics, more assignments (problems), as
well as a clearer distinction between definitions, theorems, proofs, code, and
examples. We adopted the Springer book layout style.
For this edition, it is typically not feasible to cover the complete book in a single
course for undergraduates and lecturers can select a subset which fits the local needs
and preferences.

Dortmund, Germany Peter Marwedel


February 2017
Acknowledgements

My Ph.D. students, in particular Lars Wehmeyer, did an excellent job in proof-


reading the second edition of this book. The same applies to Michael Engel for
the third edition. Also, the students attending my courses provided valuable
help. Corrections were contributed by David Hec, Thomas Wiederkehr, Thorsten
Wilmer, and Henning Garus. In addition, the following colleagues and students gave
comments or hints which were incorporated into this book: R. Dömer, N. Dutt
(UC Irvine), A.B. Kahng (UC San Diego), T. Mitra (Nat. Univ. Singapore),
W. Kluge, R. von Hanxleden (U. Kiel), P. Buchholz, J.J. Chen, M. Engel,
H. Krumm, K. Morik, O. Spinczyk (TU Dortmund), W. Müller, F. Rammig
(U. Paderborn), W. Rosenstiel (U. Tübingen), L. Thiele (ETH Zürich), and
R. Wilhelm (Saarland University). Material from the following persons was used to
prepare this book: G.C. Buttazzo, D. Gajski, R. Gupta, J.P. Hayes, H. Kopetz,
R. Leupers, R. Niemann, W. Rosenstiel, H. Takada, L. Thiele, and R. Wilhelm.
M. Engel provided invaluable help during various iterations of our course, including
the generation of videos which are now available on YouTube. Ph.D. students of my
group contributed to the assignments included in this book. Of course, the author is
responsible for all errors and mistakes contained in the final manuscript.
I do acknowledge the support of the European Commission through projects
MORE, Artist2, ArtistDesign, Hipeac(2), PREDATOR, MNEMEE, and MADNESS.
Furthermore, support by Deutsche Forschungsgemeinschaft (DFG) with grants for
the Collaborative Research Center SFB 876 and the FEHLER (grant Ma 943/10)
project is also acknowledged. These projects provided an excellent context for writing
the third edition of this book. Synopsys Inc. provided access to their Virtualizer virtual
platform.
This book has been produced using the LATEX typesetting system from the
TeXnicCenter user interface. Some functions have been plotted with GNU Octave.
I would like to thank the authors of this software for their contribution to this work.
Acknowledgments also go to all those who have patiently accepted the author’s
additional workload during the writing of this book and his resulting reduced
availability for professional as well as personal partners.

xi
xii Acknowledgements

Names used in this book without any reference to copyrights or trademarks may
still be legally protected.
Please enjoy reading the book!
Contents

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 History of Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Opportunities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Common Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5 Curriculum Integration of Embedded Systems . . . . . . . . . . . . . . . 16
1.6 Design Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.7 Structure of This Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2 Specifications and Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Models of Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3 Early Design Phases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.1 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.2 (Message) Sequence Charts and Time/Distance
Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.3 Differential Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4 Communicating Finite State Machines (CFSMs) . . . . . . . . . . . . . 44
2.4.1 Timed Automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.4.2 StateCharts: Implicit Shared Memory
Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4.3 Synchronous Languages . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.4.4 Message Passing: SDL as an Example . . . . . . . . . . . . . . 58
2.5 Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.5.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.5.2 Kahn Process Networks . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.5.3 Synchronous Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.5.4 Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

xiii
xiv Contents

2.6 Petri Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72


2.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.6.2 Condition/Event Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.6.3 Place/Transition Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.6.4 Predicate/Transition Nets . . . . . . . . . . . . . . . . . . . . . . . . 80
2.6.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.7 Discrete Event-Based Languages . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.7.1 Basic Discrete Event Simulation Cycle . . . . . . . . . . . . . . 83
2.7.2 Multi-valued Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.7.3 Transaction-Level Modeling (TLM) . . . . . . . . . . . . . . . . 89
2.7.4 SpecC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.7.5 SystemC™ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.7.6 VHDL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
2.7.7 Verilog and SystemVerilog . . . . . . . . . . . . . . . . . . . . . . . 104
2.8 Von-Neumann Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.8.1 CSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.8.2 Ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.8.3 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
2.8.4 Communication Libraries . . . . . . . . . . . . . . . . . . . . . . . . 110
2.8.5 Additional Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
2.9 Levels of Hardware Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
2.10 Comparison of Models of Computation . . . . . . . . . . . . . . . . . . . . 114
2.10.1 Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.10.2 UML™ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
2.10.3 Ptolemy II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
2.11 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3 Embedded System Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.2 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
3.2.1 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
3.2.2 Discretization of Time: Sample-and-Hold Circuits . . . . . 129
3.2.3 Fourier Approximation of Signals . . . . . . . . . . . . . . . . . . 129
3.2.4 Discretization of Values: Analog-to-Digital
Converters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
3.3 Processing Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
3.3.1 Application-Specific Circuits (ASICs) . . . . . . . . . . . . . . . 139
3.3.2 Processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3.3.3 Reconfigurable Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
3.4 Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
3.4.1 Conflicting Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
3.4.2 Memory Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
3.4.3 Register Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
3.4.4 Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
3.4.5 Scratchpad Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Contents xv

3.5 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169


3.5.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
3.5.2 Electrical Robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
3.5.3 Guaranteeing Real-Time Behavior . . . . . . . . . . . . . . . . . 172
3.5.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
3.6 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
3.6.1 Digital-to-Analog Converters . . . . . . . . . . . . . . . . . . . . . 176
3.6.2 Sampling Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
3.6.3 Pulse-width Modulation . . . . . . . . . . . . . . . . . . . . . . . . . 182
3.6.4 Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
3.7 Electrical Energy: Energy Efficiency, Generation,
and Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
3.7.1 Energy Efficiency of Hardware Components. . . . . . . . . . 185
3.7.2 Sources of Electrical Energy . . . . . . . . . . . . . . . . . . . . . . 188
3.7.3 Energy Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
3.8 Secure Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
3.9 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4 System Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
4.1 Embedded Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4.1.1 General Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4.1.2 Real-Time Operating Systems . . . . . . . . . . . . . . . . . . . . . 201
4.1.3 Virtual Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
4.2 Resource Access Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
4.2.1 Priority Inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
4.2.2 Priority Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
4.2.3 Priority Ceiling Protocol . . . . . . . . . . . . . . . . . . . . . . . . . 209
4.2.4 Stack Resource Policy . . . . . . . . . . . . . . . . . . . . . . . . . . 211
4.3 ERIKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
4.4 Embedded Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
4.4.1 Embedded Linux Structure and Size . . . . . . . . . . . . . . . . 217
4.4.2 Real-Time Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
4.4.3 Flash Memory File Systems . . . . . . . . . . . . . . . . . . . . . . 220
4.4.4 Reducing RAM Usage . . . . . . . . . . . . . . . . . . . . . . . . . . 221
4.4.5 uClinux—Linux for MMU-Less Systems . . . . . . . . . . . . 222
4.4.6 Evaluating the Use of Linux in Embedded Systems . . . . 224
4.5 Hardware Abstraction Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
4.6 Middleware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
4.6.1 OSEK/VDX COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
4.6.2 CORBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
4.6.3 POSIX Threads (Pthreads) . . . . . . . . . . . . . . . . . . . . . . . 227
4.6.4 UPnP, DPWS, and JXTA . . . . . . . . . . . . . . . . . . . . . . . . 227
4.7 Real-Time Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
4.8 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
xvi Contents

5 Evaluation and Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.1.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.1.2 Multi-objective Optimization . . . . . . . . . . . . . . . . . . . . . 232
5.1.3 Relevant Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
5.2 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
5.2.1 Early Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
5.2.2 WCET Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
5.2.3 Real-Time Calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
5.3 Quality Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
5.3.1 Approximate Computing . . . . . . . . . . . . . . . . . . . . . . . . . 244
5.3.2 Simple Criteria of Quality . . . . . . . . . . . . . . . . . . . . . . . . 245
5.3.3 Criteria for Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . 247
5.4 Energy and Power Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
5.4.1 General Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
5.4.2 Analysis of Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
5.4.3 Analysis of Instructions and Inter-Instruction Effects . . . 251
5.4.4 Analysis of Major Functional Processor Units . . . . . . . . 252
5.4.5 Analysis of Processor and Memory Energy
Consumption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 252
5.4.6 Analysis of an Entire Application . . . . . . . . . . . . . . . . .. 254
5.4.7 Analysis of Multiple Applications
with Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
5.4.8 Analysis for Communication in an Android Phone . . . . . 256
5.4.9 Worst Case Energy Consumption . . . . . . . . . . . . . . . . . . 258
5.5 Thermal Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
5.6 Dependability and Risk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 265
5.6.1 Aspects of Dependability . . . . . . . . . . . . . . . . . . . . . . . . 265
5.6.2 Safety Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
5.6.3 Security Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
5.6.4 Reliability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
5.6.5 Fault Tree Analysis, Failure Mode and Effect
Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
5.7 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
5.8 Rapid Prototyping and Emulation . . . . . . . . . . . . . . . . . . . . . . . . 277
5.9 Formal Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
5.10 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
6 Application Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
6.1 Definition of Scheduling Problems . . . . . . . . . . . . . . . . . . . . . . . . 283
6.1.1 Elaboration on the Design Problem . . . . . . . . . . . . . . . . 283
6.1.2 Types of Scheduling Problems . . . . . . . . . . . . . . . . . . . . 285
6.2 Scheduling for Uniprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
6.2.1 Independent Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
6.2.2 Scheduling with Precedence Constraints . . . . . . . . . . . . . 298
Contents xvii

6.2.3 Periodic Scheduling Without Precedence Constraints . .. 299


6.2.4 Periodic Scheduling with Precedence Constraints . . . . .. 307
6.2.5 Sporadic Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 307
6.3 Scheduling for Independent Jobs on Identical
Multiprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 307
6.3.1 Partitioned Scheduling of Implicit-Deadline Tasks . . . .. 308
6.3.2 Global Dynamic-Priority Scheduling for Implicit
Deadlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 311
6.3.3 Global Fixed-Job-Priority Scheduling for Implicit
Deadlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 313
6.3.4 Global Fixed-Task-Priority Scheduling for Implicit
Deadlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
6.4 Dependent Jobs on Homogeneous Multiprocessors . . . . . . . . . . . 318
6.4.1 As-Soon-As-Possible Scheduling . . . . . . . . . . . . . . . . . . 319
6.4.2 As-Late-As-Possible Scheduling . . . . . . . . . . . . . . . . . . . 320
6.4.3 List Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
6.4.4 Optimal Scheduling with Integer Linear
Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
6.5 Dependent Jobs on Heterogeneous Multiprocessors . . . . . . . . . . . 325
6.5.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
6.5.2 Static Scheduling with Local Heuristics . . . . . . . . . . . . . 325
6.5.3 Static Scheduling with Integer Linear Programming . . . . 329
6.5.4 Static Scheduling with Evolutionary Algorithms . . . . . . . 329
6.5.5 Dynamic and Hybrid Scheduling . . . . . . . . . . . . . . . . . . 334
6.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
7 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
7.1 High-Level Optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
7.1.1 Simple Loop Transformations . . . . . . . . . . . . . . . . . . . . . 338
7.1.2 Loop Tiling/Blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
7.1.3 Loop Splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
7.1.4 Array Folding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
7.1.5 Floating-Point to Fixed-Point Conversion . . . . . . . . . . . . 345
7.2 Task Level Concurrency Management . . . . . . . . . . . . . . . . . . . . . 346
7.3 Compilers for Embedded Systems . . . . . . . . . . . . . . . . . . . . . . . . 349
7.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
7.3.2 Energy-Aware Compilation . . . . . . . . . . . . . . . . . . . . . . . 350
7.3.3 Memory-Architecture Aware Compilation . . . . . . . . . . . 351
7.3.4 Reconciling Compilers and Timing Analysis . . . . . . . . . 359
7.4 Power and Thermal Management . . . . . . . . . . . . . . . . . . . . . . . . . 361
7.4.1 Dynamic Voltage and Frequency Scaling (DVFS) . . . . . 361
7.4.2 Dynamic Power Management (DPM) . . . . . . . . . . . . . . . 364
7.4.3 Thermal Management for MPSoCs . . . . . . . . . . . . . . . . . 364
7.5 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
xviii Contents

8 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
8.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
8.2 Test Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
8.2.1 Test Pattern Generation for Gate Level Models . . . . . . . 368
8.2.2 Self-Test Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
8.3 Evaluation of Test Pattern Sets and System Robustness. . . . . . . . 370
8.3.1 Fault Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
8.3.2 Fault Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
8.3.3 Fault Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
8.4 Design for Testability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
8.4.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
8.4.2 Scan Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
8.4.3 Signature Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
8.4.4 Pseudo-Random Test Pattern Generation . . . . . . . . . . . . 376
8.4.5 The Built-In Logic Block Observer (BILBO) . . . . . . . . . 377
8.5 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Appendix A: Integer Linear Programming . . . . . . . . . . . . . . . . . . . . . . . 379
Appendix B: Kirchhoff’s Laws and Operational Amplifiers . . . . . . . . . . 381
Appendix C: Paging and Memory Management Units . . . . . . . . . . . . . . 387
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
About the Author

Peter Marwedel was born in Hamburg, Germany. He


received a Dr. rer. nat. degree in Physics in 1974 and a
Dr. habil. degree in Computer Science in 1987, both
from the University of Kiel (Germany). From 1974 to
1989, he was a faculty member of the Institute for
Computer Science and Applied Mathematics at the
same university. He has been a professor at TU
Dortmund, Germany, since 1989. He held a chair for
embedded systems at the Computer Science
Department from 1989 until 2014. He is chairing ICD
e.V., a local company specializing in technology
transfer. Dr. Marwedel was a visiting professor of the
University of Paderborn in 1985/1986 and of the
University of California at Irvine in 1995. He served as
Dean of the Computer Science Department from 1992
to 1995. Dr. Marwedel has been active in making the
DATE conference and the WESE workshop successful
and in initiating the SCOPES series of workshops.
He started to work on high-level synthesis in 1975
(in the context of the MIMOLA project) and focused on
the synthesis of very long instruction word (VLIW)
machines. Later, he added efficient compilation for
embedded processors to his scope, with an emphasis on
retargetability, the memory architecture, and optimiza-
tion for the worst-case execution time. His scope also
includes synthesis of self-test programs for processors,
reliable computing, multimedia-based teaching, and
cyber-physical systems. He served as a cluster leader for
ArtistDesign, a European Network of Excellence on
Embedded and Real-Time Systems. He was the
vice-chair of the collaborative research center SFB

xix
xx About the Author

876 on resource-constrained machine learning2 until


2015. He is an IEEE and a DATE Fellow. Dr. Marwedel
won the teaching award of his university, the
ACM SIGDA Distinguished Service Award, the EDAA
Lifetime Achievement Award, and the ESWEEK
Lifetime Achievement Award. Dr. Marwedel is a
member of IEEE, ACM and the Gesellschaft für
Informatik (GI).
He is married and has two daughters and a son. His
hobbies include hiking, photography, bike riding, and
model railways.
E-mail: [email protected]
Web sites: https://www.marwedel.eu/peter,
http://ls12-www.cs.tu-dortmund.de/*marwedel

2
See http://www.sfb876.tu-dortmund.de
Frequently Used Mathematical Symbols

Due to covering many areas in this book, there is a high risk of using the same
symbol for different purposes. Therefore, symbols have been selected such that the
risk of confusion is low. This table is supposed to help maintaining a consistent
notation.

a Weight
a Allocation
A Availability (! reliability)
A Area
A Ampere
b:: Communication bandwidth
B Communication bandwidth
cR Characteristic vector for Petri net
cp Specific thermal capacitance
cv Volumetric heat capacity
Ci Execution time
C Capacitance
C Set of Petri net conditions
Cth Thermal capacity
C Celsius
di Absolute deadline
Di Relative deadline
eð t Þ Input signal
e Euler’s number (2.71828..)
E Energy
E Graph edge
f Frequency
f( ) General function
f Probability density
fi Finishing time of task/job i

xxi
xxii Frequently Used Mathematical Symbols

F Probability distribution
F Flow relation of Petri net
g Gravity
g Gain of operational amplifier
G Graph
h Height
i Index, task/job number
I Current
j Index, dependent task/job
J Set of jobs
J Joule
Jj Job j
J Jitter
k Index, processor number
k Boltzmann constant ð  1:3807  1023 J/KÞ
K Kelvin
l Processor number
li Laxity of task/job i
L Processor type
L Length of conductor
Li Lateness of task si
Lmax Maximum lateness
m Number of processors
m Mass
m Meter
m Milli-prefix
M Marking of Petri net
MSmax Makespan
n Index
n Number of tasks/jobs
N Net
N Natural numbers
O( ) Landauer’s notation
pi Priority of task si
pi Place i of Petri net
P Power
P(S) Semaphore operation
Q Resolution
Q Charge
ri Release time of task/job i
R Reliability
Rth Thermal resistance
R Real numbers
s Time index
Frequently Used Mathematical Symbols xxiii

s Restitution
sj Starting time of task/job j
s Second
S State
S Semaphore
S Schedule
Sj Size of memory j
t Time
ti Transition i of Petri net
T Period
T Timer (for SDL)
Ti Period of task si
T Temperature
ui Utilization of task si
U:: Utilization
Umax Maximum utilization
v Velocity
wðtÞ Signal
V Graph nodes
V Voltage
V Volt
Vt Threshold voltage
VðSÞ Semaphore operation
V Volume
w(t) Signal
W(p,t) Weight in Petri net
W Watt
x Input variable
x(t) Signal
X:: Decision variable
Y:: Decision variable
zðtÞ Signal
Z High impedance
Z Integer numbers
a:: Arrival curve in real-time calculus
a Switching activity
a 1st component in Pinedo’s triplet
b:: Service function in real-time calculus
b 2nd component in Pinedo’s triplet
b Reciprocal of max. utilization
c:: Work load in real-time calculus
c 3rd component in Pinedo’s triplet
D Time interval
j Thermal conductivity
xxiv Frequently Used Mathematical Symbols

k Failure rate
p Number pi (3.1415926..)
p Set of processors
pi Processor i
q Mass density
si Task si
s Set of tasks
n Threshold for RM-US scheduling
Chapter 1
Introduction

This chapter presents terms used in the context of embedded systems together
with their history as well as opportunities, challenges and common characteristic
of embedded and cyber-physical systems. Furthermore, educational aspects, design
flows and the structure of this book are introduced.

1.1 History of Terms

Until the late 1980s, information processing was associated with large mainframe
computers and huge tape drives. Later, miniaturization allowed information process-
ing with personal computers (PCs). Office applications were dominating, but some
computers were also controlling the physical environment, typically in the form of
some feedback loop.
Later, Mark Weiser created the term “ubiquitous computing” [548]. This term
reflects Weiser’s prediction to have computing (and information) anytime, anywhere.
Weiser also predicted that computers are going to be integrated into products such
that they will become invisible. Hence, he created the term “invisible computer.”
With a similar vision, the predicted penetration of our day-to-day life with computing
devices led to the terms “pervasive computing” and “ambient intelligence.” These
three terms focus on only slightly different aspects of future information technology.
Ubiquitous computing focuses more on the long-term goal of providing information
anytime, anywhere, whereas pervasive computing focuses more on practical aspects
and the exploitation of already available technology. For ambient intelligence, there
is some emphasis on communication technology in future homes and smart buildings.
Miniaturization also enabled the integration of information processing and the
physical environment using computers. This type of information processing has been
called an “embedded system”:

© Springer International Publishing AG 2018 1


P. Marwedel, Embedded System Design, Embedded Systems,
DOI 10.1007/978-3-319-56045-8_1
2 1 Introduction

Definition 1.1 (Marwedel [355]): “Embedded systems are information processing


systems embedded into enclosing products”.

Examples include embedded systems in cars, trains, planes, and telecommunica-


tion or fabrication equipment. Such systems come with a large number of common
characteristics, including real-time constraints, and dependability as well as effi-
ciency requirements. For such systems, the link to physics and physical systems is
rather important. This link is emphasized in the following citation [316]:
“Embedded software is software integrated with physical processes. The technical
problem is managing time and concurrency in computational systems.”
This citation could be used as a definition of the term “embedded software”
and could be extended into a definition of “embedded systems” by just replacing
“software” by “system”.
However, the strong link to physics has recently been stressed even more by the
introduction of the term “cyber-physical systems” (CPS for short). CPS can be
defined as follows:

Definition 1.2 (Lee [317]): “Cyber-Physical Systems (CPS) are integrations of com-
putation and physical processes”.

The new term emphasizes the link to physical quantities such as time, energy, and
space. Emphasizing this link makes sense, since it is frequently ignored in a world of
applications running on servers and on PCs. For CPS, we may be expecting models
to include models of the physical environment as well. In this sense, we may think
of CPS to comprise embedded systems (the information processing part) and the
physical environment, or CPS = ES + physics. This is also reflected in Fig. 1.1.

Fig. 1.1 Relationship


Cyber-physical system (CPS)
between embedded systems
and CPS according to Lee’s
Embedded system Physics
definition

In their call for proposals, the National Science Foundation in the US mentions
also communication [394]:
“Emerging CPS will be coordinated, distributed, and connected, and must be
robust and responsive.”
This is also done in the acatech report on CPS [11]: CPS … “represent net-
worked, software-intensive embedded systems in a control loop, provide networked
and distributed services.”
Interconnection and collaboration are also explicitly mentioned in a call for pro-
posals by the European Commission [149]: “Cyber-Physical Systems (CPS) refer to
next generation embedded ICT systems that are interconnected and collaborating
including through the Internet of Things, and providing citizens and businesses with
a wide range of innovative applications and services.”
The importance of communication was visualized by the European Commission
earlier, as shown in Fig. 1.2.
1.1 History of Terms 3

Fig. 1.2 Importance of


communication
(© European Commission) Communication Embedded
Technology Systems
- networking - robots
- distributed - control systems
applications - real-time
- quality of service - dependability

Pervasive/
Ubiquitous Computing
- information
anytime, anywhere

From these citations, it is clear that the authors do not only associate the integration
of the cyber- and the physical world with the term CPS. Rather, there is also a
strong communication aspect. Actually, the term CPS is not always used consistently.
Some authors emphasize the integration with the physical environment, and others
emphasize communication.
Communication is more explicit in the term “Internet of Things” (IoT), which
can be defined as follows:

Definition 1.3 ([179]): The term Internet of Things “… describes the pervasive pres-
ence of a variety of devices – such as sensors, actuators, and mobile phones – which,
through unique addressing schemes, are able to interact and cooperate with each
other to reach common goals.”

This term is linking sensors (such that sensed information is available on the
Internet) and actuators (such that things can be controlled from the Internet). Sensor
examples include smoke detectors, heaters, and refrigerators. The Internet of Things
is expected to allow the communication between trillions of devices in the world.
This vision affects a large amount of businesses.
The exploitation of IoT technology for production has been called “Industry 4.0”
[70]. Industry 4.0 targets a more flexible production for which the entire life cycle
from the design phase onward is supported by the IoT.
To some extent, it is a matter of preferences whether the linking of physical objects
to the cyber-world is called CPS or IoT. Taken together, CPS and IoT include most
of the future applications of IT.
The design of these future applications requires knowing fundamental design
techniques for embedded systems. This book focuses on such fundamental tech-
niques and foundations of embedded system design. Please remember that these
are used in IoT and CPS designs though this is not repeatedly stated in each and
every context. This book discusses interfaces of embedded systems to CPS and
IoT systems. However, application-specific aspects of CPS and IoT are usually not
covered.
4 1 Introduction

1.2 Opportunities

There is a huge potential for applications of information processing in the context of


CPS and IoT. The following list demonstrates this potential and the large variation
of corresponding areas:

• Transportation and mobility:


– Automotive electronics: Modern cars can be sold in technologically advanced
countries only if they contain a significant amount of electronics [396]. These
include air bag control systems, engine control systems, anti-braking sys-
tems (ABS), electronic stability programs (ESP) and other safety features, air-
conditioning, GPS systems, anti-theft protection, driver assistance systems, and
many more. In the future, self-driving cars may be a reality. These systems can
help to reduce accidents and the impact on the environment.
– Avionics: A significant amount of the total value of airplanes is due to the infor-
mation processing equipment, including flight control systems, anti-collision
systems, pilot information systems, autopilots, and others. Dependability is of
utmost importance. Embedded systems can decrease emissions (such as carbon
dioxide) from airplanes. Autonomous flying is also becoming reality, at least
for drones.
– Railways: For railways, the situation is similar to the one discussed for cars
and airplanes. Again, safety features contribute significantly to the total value
of trains, and dependability is extremely important. Advanced signaling aims
at safe operation of trains at high speed and short intervals between trains.
The European Train Control System (ETCS) [422] is one step in this direction.
Autonomous rail-based transportation is already used in restricted contexts like
shuttle trains at airports.
– Ships, ocean technology, and maritime systems: In a similar way, modern
ships use large amounts of IT-equipment, e.g., for navigation, for safety, for
optimizing the operation in general, and for bookkeeping (see, e.g., http://www.
smtcsingapore.com/ and https://dupress.deloitte.com/dup-us-en/focus/internet-
of-things/iot-in-shipping-industry.html).
• Factory automation: Fabrication equipment is a very traditional area in which
embedded systems have been employed for decades. In order to optimize produc-
tion technologies further, CPS/IoT technology can be used. CPS/IoT technology
is the key toward a more flexible production, being the target of “Industry 4.0”
[70].
Factory automation is enabled by logistics. There are several ways in which CPS
and IoT systems can be applied to logistics [285]. For example, radio frequency
identification (RFID) technology provides easy identification of each and every
object, worldwide. Mobile communication allows unprecedented interaction.
• Health sector: The importance of healthcare products is increasing, in particular in
aging societies. Opportunities start with new sensors, detecting diseases faster and
more reliably. Available information can be stored in patient information systems.
1.2 Opportunities 5

New data analysis techniques can be used to detect increased risks and improve
chances for healing. Therapies can be supported with personalized medication.
New devices can be designed to help patients, e.g., handicapped patients. Also,
surgery can be supported with new devices. Embedded system technologies also
allow for a significantly improved result monitoring, giving doctors much better
means for checking whether or not a certain treatment has a positive impact. This
monitoring also applies to remotely located patients. Lists of projects in this area
can be found, for example, at http://cps-vo.org/group/medical-cps and at http://
www.nano-tera.ch/program/health.html.
• Smart buildings: Information processing can be used to increase the comfort
level in buildings, can reduce the energy consumption within buildings, and can
improve safety and security. Sub-systems which traditionally were unrelated must
be connected for this purpose. There is a trend toward integrating air-conditioning,
lighting, access control, accounting, safety features, and distribution of informa-
tion into a single system. Tolerance levels of air-conditioning sub-systems can be
increased for empty rooms, and the lighting can be automatically reduced. Air con-
dition noise can be reduced to a level required for the actual operating conditions.
Intelligent usage of blinds can also optimize lighting and air-conditioning. Avail-
able rooms can be displayed at appropriate places, simplifying ad hoc meetings
and cleaning. Lists of non-empty rooms can be displayed at the entrance of the
building in emergency situations (provided the required power is still available).
This way, energy can be saved on cooling, heating, and lighting. Also, safety can
be improved. Initially, such systems might mostly be present in high-tech office
buildings, but the trend toward energy-efficient buildings also affects the design
of private homes. One of the goals is to design so-called zero-energy-buildings
(buildings which produce as much energy as they consume) [404]. Such a design
would be one contribution toward a reduction of the global carbon dioxide footprint
and global warming.
• Smart grid: In the future, the production of energy is supposed to be much more
decentralized than in the past. Providing stability in such a scenario is difficult. IT
technology is required in order to achieve a sufficiently stable system. Information
on the smart grid can be found, for example, at https://www.smartgrid.gov/the_
smart_grid and at http://www.smartgrids.eu/.
• Scientific experiments: Many contemporary experiments in sciences, in particular
in physics, require the observation of experiment outcomes with IT devices. The
combination of physical experiments and IT devices can be seen as a special case
of CPS.
• Public safety: The interest in various kinds of safety is also increasing. Embedded
and cyber-physical systems and the Internet of Things can be used to improve
safety in many ways. This includes identification/authentication of people, for
example with fingerprint sensors or face recognition systems.
• Structural health monitoring: Natural and artificial structures such as mountains,
volcanoes, bridges, and dams (see, e.g., Fig. 1.3) are potentially threatening lives.
We can use embedded system technology to enable advance warnings in case of
increased dangers like avalanches or collapsing bridges.
6 1 Introduction

Fig. 1.3 Example of a dam to be monitored (Möhnesee dam), © P. Marwedel

• Disaster recovery: In the case of major disasters such as earthquakes or flooding,


it is essential to save lives and provide relief to survivors. Flexible communication
infrastructures are essential for this.
• Robotics:Robotics is also a traditional area in which embedded/cyber-physical
systems have been used. Mechanical aspects are very important for robots. Robots,
modeled after animals or human beings, have been designed. Figure 1.4 shows such
a robot.

Fig. 1.4 Robot “Johnnie”


(courtesy H. Ulbrich, F.
Pfeiffer, Lehrstuhl für
Angewandte Mechanik, TU
München), © TU München
1.2 Opportunities 7

• Agriculture and breeding: There are many applications in these areas. For exam-
ple, the “regulations for traceability of agricultural animals and their movements
require the use of technologies like IoT, making possible the real-time detection of
animals, for example, during outbreaks of (a) contagious disease” [493].
• Military applications: Information processing has been used in military equip-
ment for many years. In fact, some of the very first computers analyzed military
radar signals.
• Telecommunication: Mobile phones have been one of the fastest growing markets
in the recent years. For mobile phones, radio frequency (RF) design, digital signal
processing, and low-power design are key aspects. Telecommunication is a key
aspect of IoT. Other forms of telecommunication are also important.
• Consumer electronics: Video and audio equipment is a very important sector of
the electronics industry. The information processing integrated into such equip-
ment is steadily growing. New services and better quality are implemented using
advanced digital signal processing techniques. Many TV sets (in particular, high-
definition TV sets), multimedia phones, and game consoles comprise powerful
high-performance processors and memory systems. They represent special cases
of embedded systems.

Even more applications are listed in a report on opportunities and challenges of the
IoT [493]. The large set of examples demonstrates the huge variety of embedded
systems with applications in CPS and IoT systems. In a way, many of the future
applications of IT technology can be linked to such systems.
The long list of application areas of embedded systems is resulting in a corre-
sponding economic importance of such systems. The acatech report [11] mentions
that at the time of writing the report, 98% of all microprocessors are used in these
systems. In a way, embedded system design is an enabler for many products and has
an impact on the combined market volume size of all the areas mentioned. How-
ever, it is difficult to quantify the size of the CPS/IoT market since the total market
volume of all these areas is significantly larger than the market volume of their IT
components. Referring to the value of semiconductors in the CPS/IoT market would
also be misleading, since that value is only a fraction of the overall value.
The economic importance of CPS and the IoT is reflected in calls for proposals by
funding organizations, such as the NSF [394] and the European Commission [149].

1.3 Challenges

Unfortunately, the design of embedded systems and their integration in CPS and
IoT systems comes with a large number of difficult design issues. Commonly found
issues include the following:

• Cyber-physical and IoT systems must be dependable.

Definition 1.4: A system is dependable if it provides its intended service with a


high probability and does not cause any harm.
8 1 Introduction

A key reason for the need of being dependable is that these systems are directly
connected to the physical environment and have an immediate impact on that
environment. The issue needs to be considered during the entire design process.
Dependability encompasses the following aspects of a system:
1. Safety:

Definition 1.5: “Safety is the state of being ‘safe’ (from French sauf), the condition
of being protected from harm or other non-desirable outcomes” [557].

Typically, we consider harm or threats from within the system we are using during
its normal operation. For example, no software malfunction should be a threat to
lives.
2. Security:

Definition 1.6: A system is secure if it is protected against harm caused by attacks


originating from outside the system.

Connecting components in IoT systems enables attacks from the outside. Cyber-
crime and cyber-warfare are special cases of such attacks, with significant amounts
of potential damages. Connecting more and more components enables even more
attacks and leads to more damages. This has become a serious issue in the design
and proliferation of IoT systems.
The only really secure solution is to disconnect components, which contradicts
the original motivation of using connected systems. Related research is therefore
expected to be one of the fastest growing areas in IT-related research.
According to Ravi et al. [289], the following typical elements of security require-
ments exist:
– A user identification process validates users before allowing them to use the
system.
– Secure network access provides a network connection or service access only if
the device is authorized.
– Secure communications include a number of communication-related features.
– Secure storage requires confidentiality and integrity of data.
– Content security enforces usage restrictions.
3. Confidentiality:

Definition 1.7: A system provides confidentiality if information can only be


accessed by the intended recipients.

Confidentiality is typically implemented using techniques which are found in


secure systems, i.e., encryption.
4. Reliability: This term refers to malfunctions of systems resulting from compo-
nents not working according to their specification at design time. Lack of relia-
bility can be caused by breaking components. Reliability is the probability that
1.3 Challenges 9

a system will not fail1 . For an evaluation of reliability, we are not considering
malicious attacks from the outside but only effects occurring within the system
itself during normal, intended operation.
5. Repairability: Repairability (also spelled reparability) is the probability that a
failing system can be repaired within a certain time.
6. Availability: Availability is the probability that the system is available. Reliability
and repairability must be high and security hazards absent in order to achieve a
high availability.
Designers may be tempted to focus just on the functionality of systems initially,
assuming that dependability can be added once the design is working. Typically,
this approach does not work, since certain design decisions will not allow achieving
the required dependability in the aftermath. For example, if the physical partitioning
is done in the wrong way, redundancy may be impossible. Therefore, “making the
system dependable must not be an after-thought,” it must be considered from the
very beginning [292]. Good compromises achieving an acceptable level of safety,
security, confidentiality, and reliability have to be found [284].
Even perfectly designed systems can fail if the assumptions about the workload
and possible errors turn out to be wrong [292]. For example, a system might fail if it
is operated outside the initially assumed temperature range.
• If we look closely at the interface between the physical and the cyber-world, we
observe a mismatch between physical and cyber-models. The following list
shows examples:
– Many cyber-physical systems must meet real-time constraints. Not completing
computations within a given time frame can result in a serious loss of the quality
provided by the system (e.g., if the audio or video quality is affected) or may
cause harm to the user (e.g., if cars, trains, or planes do not operate in the
predicted way). Some time, constraints are called hard time constraints:
Definition 1.8 (Kopetz [292]): “A time-constraint is called hard if not meeting that
constraint could result in a catastrophe”.
All other time constraints are called soft time constraints.
Many of today’s information processing systems are using techniques for
speeding-up information processing on the average. For example, caches improve the
average performance of a system. In other cases, reliable communication is achieved
by repeating certain transmissions. These cases include Ethernet protocols: They
typically rely on resending messages whenever the original messages have been lost.
On average, such repetitions result in a (hopefully only) small loss of performance,
even though for a certain message the communication delay can be orders of mag-
nitude larger than the normal delay. In the context of real-time systems, arguments
about the average performance or delay cannot be accepted. “A guaranteed system
response has to be explained without statistical arguments” [292]. Many modeling
techniques in computer science do not model real time. Frequently, time is modeled

1A formal definition of this term is provided in Definition 5.35 on p. 270 of this book.
10 1 Introduction

without any physical units attached to it, which means that no distinction is made
between picoseconds and centuries. The resulting problems are very clearly formu-
lated in a statement made by E. Lee: “The lack of timing in the core abstraction (of
computer science) is a flaw, from the perspective of embedded software” [318].

– Many embedded systems are hybrid systems in the sense that they include analog
and digital parts. Analog parts use continuous signal values in continuous time,
whereas digital parts use discrete signal values in discrete time. Many physical
quantities are represented by a pair, consisting of a real number and a unit. The set of
real numbers is uncountable. In the cyber-world, the set of representable values for
each number is finite. Hence, almost all physical quantities can only be approx-
imated in digital computers. During simulations of physical systems on digital
computers, we are typically assuming that this approximation gives us meaningful
results. In a paper, Taha considered consequences of the non-availability of real
numbers in the cyber-world [499].
– Physical systems can exhibit the so-called Zeno effect. The Zeno effect can be
introduced with the help of the bouncing ball example. Suppose that we are drop-
ping a bouncing ball onto the floor from a particular height. After releasing the
ball, it will start to fall, being accelerated by the gravitation of the earth. When
it hits the floor, it will bounce, i.e., it will start to move in the opposite direction.
However, we assume that bouncing will have some damping effect and that the
initial speed of the ball after the bouncing will be reduced by a factor of s < 1,
compared to the speed right before the bouncing. s is called the restitution. Due
to this, the ball will not reach its initial height. Furthermore, the time to reach
the floor a second time will be shorter than for the initial case. This process will
be repeated, with smaller and smaller intervals between the bounces. However,
according to the ideal model of partially elastic bounces, this process will go on
and on. Figure 1.5 visualizes the trajectory (the height as a function of time) of the
bouncing ball.

Fig. 1.5 Trajectory of a bouncing ball (© Openmodelica)


1.3 Challenges 11

Now, let  be an arbitrary time interval, anywhere in the time domain. Would
there be an upper bound on the number of bounces in this time interval? No, there
would not be an upper bound, since bouncing is repeated in shorter and shorter
intervals.
This is a special case of the Zeno effect. A system is said to exhibit a Zeno effect,
when it is possible to have an unlimited number of events in an interval of finite
length [386]. Mathematically speaking, this is feasible since infinite series may
be converging to a finite value. In this case, the infinite series of times at which
bouncing occurs is converging to a finite instance in time. In the ideal model,
bouncing happens again and again, but intervals between bounces get shorter and
shorter. See the discussion on p. 43 for more details.
On digital computers, the unlimited number of events can only be approximated.
– Many CPS comprise control loops, like the one shown in Fig. 1.6.

- Plant
periodic sampling
t
Feedback

Fig. 1.6 Control loop

Control theory was initially based on analog feedback systems. For digital, discrete
time feedback, periodic sampling of signals has been the default assumption for
decades and it worked reasonably well. However, periodic sampling is possibly not
the best approach. We could save resources if we would extend sampling intervals
during times of relatively constant signals. This is the idea of adaptive sampling.
Adaptive sampling is an area of active research [202].
– Traditional sequential programming languages are not the best way to describe
concurrent, timed systems.
– Traditionally, the process of verifying whether or not some product is a correct
implementation of the specification is generating a Boolean result: either the prod-
uct is correct or not. However, two physically existing products will never be
exactly identical. Hence, we can only check with some level of imprecision whether
a product is a correct implementation of the design. This introduces fuzziness, and
Boolean verification is replaced by fuzzy verification [178, 424].
– Edward Lee pointed out that the combination of a deterministic physical model
and a deterministic cyber-model will possibly be a non-deterministic model [314].
Non-deterministic sampling can be one reason for this.

Overall, we observe a mismatch between the physical and the cyber-world. Effec-
tively, we are still looking for appropriate models for CPS, but cannot expect to
completely eliminate the mismatch.
• Embedded systems must be resource aware. The following resources can be
considered:
12 1 Introduction

1. Energy: Electronic information processing technology (IT) uses electrical


energy for information processing. The amount of electrical energy used is
frequently called “consumed energy.” Strictly speaking, this term is not cor-
rect, since the total amount of energy is invariant. Actually, we are converting
electrical energy into some other form of energy, typically thermal energy.
For embedded systems, the availability of electrical power and energy (as the
integral of power over time) is a deciding factor. This was already observed
in a Dutch road mapping effort: “Power is considered as the most important
constraint in embedded systems” [144].
Why should we care about the amount of electrical energy converted, i.e.,
why should there be energy-awareness? There are many reasons for this. Most
reasons are applicable to most types of systems, but there are exceptions, as
shown in Table 1.1.

Table 1.1 Relevance of reasons to be energy-aware


System type example Relevant during use?
Plugged factory Charged laptop Unplugged
sensor network
Global warming Yes Hardly No
Cost of energy Yes Hardly Typically not
Increasing performance Yes Yes Yes
Problems with cooling, avoiding hot spots Yes Yes Yes
Avoiding high currents, metal migration Yes Yes Yes
Energy a very scarce resource No Hardly Yes

Global warming is of course a very important reason for trying to be energy-


aware. However, typically, very limited amounts of energy are available to
unplugged systems, and hence, their contribution to global warming is small.
The cost of energy is relevant whenever the amount of energy needed is expen-
sive. For plugged systems, this could happen due to large amounts of consumed
energy. For unplugged systems, these amounts are typically small, but there
could be cases for which it is very expensive to provide even a small amount.
Increased computing performance usually requires additional energy and,
hence, has an impact on the resulting energy consumption.
Thermal effects are becoming more important and have to be considered as
well. The reliability of circuits decreases with increasing temperatures. Hence,
increased energy consumptions are typically decreasing the reliability.
In some cases (like remote sensor nodes), energy is a really scarce resource.
It is interesting to look at those cases where certain reasons to save energy can
be considered irrelevant: Unplugged systems, due to the limited capacity of
1.3 Challenges 13

batteries, consume very small amounts of energy and are therefore not relevant
for global warming. For systems connected to the power grid, energy is not a
really scarce resource. Systems which are only temporarily connected to the
power grid are somewhere between their plugged and unplugged counterparts.
The importance of power and energy efficiency was initially recognized for
embedded systems. The focus on these objectives was later taken up for general-
purpose computing as well and led to initiatives such as the green computing
initiative [10].

2. Run-time: Embedded systems should exploit the available hardware architec-


ture as much as possible. Inefficient use of execution time (e.g., wasted proces-
sor cycles) should be avoided. This implies an optimization of execution times
across all levels, from algorithms down to hardware implementations.
3. Code size: For some embedded systems, code typically has to be stored on
the system itself. There may be tight constraints on the storage capacity of
the system. This is especially true for systems on a chip (SoCs), systems for
which all the information processing circuits are included on a single chip. If
the instruction memory is to be integrated onto this chip, it should be used
very efficiently. For example, there may be medical devices implanted into the
human body. Due to size and communication constraints of such devices, code
has to be very compact.
However, the importance of this design goal might change, when dynamically
loading code becomes acceptable or when larger memory densities (measured in
bits per volume unit) become available. Flash-based memories and new memory
technologies will potentially have a large impact.
4. Weight: All portable systems must be lightweight. A low weight is frequently
an important argument for buying a particular system.
5. Cost: For high-volume embedded systems in mass markets, especially in con-
sumer electronics, competitiveness on the market is an extremely crucial issue,
and efficient use of hardware components and the software development budget
are required. A minimum amount of resources should be used for implementing
the required functionality. We should be able to meet requirements using the
least amount of hardware resources and energy. In order to reduce the energy
consumption, clock frequencies and supply voltages should be as low as pos-
sible. Also, only the necessary hardware components should be present, and
overprovisioning should be avoided. Components which do not improve the
worst-case execution time (such as many caches or memory management units)
can sometimes be omitted.

Due to resource awareness targets, software designs cannot be done independently


of the underlying hardware. Therefore, software and hardware must be taken into
account during the design steps. This, however, is difficult, since such integrated
approaches are typically not taught at educational institutes. The cooperation between
electrical engineering and computer science has not yet reached the required level.
14 1 Introduction

A mapping of specifications to custom hardware would provide the best energy


efficiency. However, hardware implementations are very expensive and require long
design times. Therefore, hardware designs do not provide the flexibility to change
designs as needed. We need to find a good compromise between efficiency and
flexibility.
• CPS and IoT systems are frequently collecting huge amounts of data. These large
amounts of data have to be stored, and they have to be analyzed. Hence, there is
a strong link between the problems of big data and CPS/IoT. This is exactly the
topic of our collaborative research center SFB 8762 . SFB 876 focuses on machine
learning under resource constraints.
• Impact beyond technical issues: Due to the major impact on society, legal, eco-
nomic, social, human, and environmental impacts must be considered as well:
– The integration of many components, possibly by different providers, raises seri-
ous issues concerning liability. These issues are being discussed, for example,
for self-driving cars. Also, ownership issues must be solved. It is unacceptable
to have one of the involved companies own all rights.
– Social issues include the impact of new IT devices on society. Currently, this
impact is frequently only detected long after the technology became available.
– Human issues comprise user-friendly man–machine interfaces.
– Contributions to global warming and the production of waste should be at an
acceptable level. The same applies to the consumption of resources.
• Real systems are concurrent. Managing concurrency is therefore another major
challenge.
• Cyber-physical and IoT systems are typically consisting of heterogeneous hard-
ware and software components from various providers and have to operate in a
changing environment. The resulting heterogeneity poses challenges for the cor-
rect cooperation of components. It is not sufficient to consider only software or only
hardware design. Design complexity requires adopting a hierarchical approach.
Furthermore, real embedded systems consist of many components, and we are
interested in compositional design. This means we would like to study the impact
of combining components. For example, we would like to know whether we could
add a GPS system to the sources of information in a car without overloading the
communication bus.
• Embedded system design involves knowledge from many areas.
It is difficult to find staff members with a sufficient amount of knowledge in all
relevant areas. Even organizing the knowledge transfer between relevant areas is
already challenging. Designing a curriculum for a program in embedded system
design is even more challenging, due to the tight ceilings for the total workload
for students. Overall, tearing down walls between disciplines and departments
or at least lowering them would be required.
A list of challenges is also included in a report on IoT by Sundmaeker et al. [493].

2 See http://www.sfb876.tu-dortmund.de.
1.4 Common Characteristics 15

1.4 Common Characteristics

In addition to the challenges listed above, there are more common characteristics of
embedded, cyber-physical, and IoT systems, independently of the application area.
• CPS and IoT systems use sensors and actuators to connect the embedded system
to the physical world. For IoT, these components are connected to the Internet.

Definition 1.9: Actuators are devices converting numbers into physical effects.

• Typically, embedded systems are reactive systems, which are defined as follows:

Definition 1.10 (Bergé [542]): “A reactive system is one that is in continual inter-
action with its environment and executes at a pace determined by that environment.”

Reactive systems are modeled as being in a certain state, waiting for an input.
For each input, they perform some computation and generate an output and a new
state. Hence, automata are good models of such systems. Mathematical functions,
describing the problems solved by most algorithms, would be an inappropriate model.
• Embedded systems are underrepresented in teaching and in public discussions.
Real embedded systems are complex. Hence, comprehensive equipment is required
for realistically teaching embedded systems design. However, teaching CPS design
can be appealing, due to the visible impact on the physical behavior.
• These systems are frequently dedicated toward a certain application.
For example, processors running control software in a car or a train will typically
always run that software, and there will be no attempt to run a game or spreadsheet
program on the same processor. There are mainly two reasons for this:
1. Running additional programs would make those systems less dependable.
2. Running additional programs is only feasible if resources such as memory are
unused. No unused resources should be present in an efficient system.
However, the situation is slowly changing. For example, the AUTOSAR initiative
[26] demonstrates more dynamism in the automotive industry.
• Most embedded systems do not use keyboards, mice, and large computer monitors
for their user interface. Instead, there is a dedicated user interface consisting
of push buttons, steering wheels, pedals, etc. Because of this, the user hardly
recognizes that information processing is involved. This is consistent with the
introduction of the term disappearing computer.
Table 1.2 highlights some distinguishing features between the design of PC-like or
data center server-like systems and embedded systems.
Compatibility with traditional instruction sets employed for PCs is less important
for embedded systems, since it is typically possible to compile software applications
for architectures at hand. Sequential programming languages do not match well
with the need to describe concurrent real-time systems, and other ways of modeling
applications may be preferred. Several objectives must be considered during the
16 1 Introduction

Table 1.2 Distinction between PC-like and embedded system design


Embedded PC-/Server-like
Architectures Frequently heterogeneous very Mostly homogeneous not
compact compact (×86 etc.)
×86 compatibility Less relevant Very relevant
Architecture fixed? Sometimes not Yes
Model of computation (MoCs) C+multiple models (data flow, Mostly von Neumann
discrete events, …) (C, C++, Java)
Optimization objectives Multiple (energy, size, …) Average performance
dominates
Safety-critical? Possibly Usually not
Real-time relevant Frequently Hardly
Applications Guarantees for several Best effort approaches to run
concurrent apps. needed application
Apps. known at design time Yes, for real-time systems Only some (e.g., WORD)

design of embedded/cyber-physical systems. In addition to the average performance,


the worst-case execution time, energy consumption, weight, reliability, operating
temperatures, etc., may have to be optimized. Meeting real-time constraints is very
important for CPS, but hardly so for PC-like systems. Time constraints can be verified
at design time only if all the applications are known at this time. Also, it must be
known, which applications should run concurrently. For example, designers must
ensure that a GPS-application, a phone call, and data transfers can be executed at
the same time without losing voice samples. For PC-like systems, knowledge about
concurrently running software is almost never available and best effort approaches
are typically used.
Why does it make sense to consider all types of embedded systems in one book?
It makes sense because information processing in embedded systems has many com-
mon characteristics, despite being physically so different.
Actually, not every embedded system will have all the above characteristics. We
can define the term “embedded system” also in the following way:
Definition 1.11: Information processing systems meeting most of the character-
istics listed above are called embedded systems.
This definition includes some fuzziness. However, it seems to be neither necessary
nor possible to remove this fuzziness.

1.5 Curriculum Integration of Embedded Systems

Unfortunately, embedded systems are hardly covered even in the latest edition of the
Computer Science Curriculum, as published by ACM and the IEEE Computer Soci-
ety [9]. However, the growing number of applications results in the need for more
education in this area. This education should help to overcome the limitations of cur-
rently available design technologies for embedded systems. For example, there is still
1.5 Curriculum Integration of Embedded Systems 17

a need for better specification languages, models, tools generating implementations


from specifications, timing verifiers, system software, real-time operating systems,
low-power design techniques, and design techniques for dependable systems. This
book should help teaching the essential issues and should be a stepping stone for
starting more research in the area. Additional information related to the book can
be obtained from the following Web page:
http://ls12-www.cs.tu-dortmund.de/~marwedel/es-book
This page includes links to slides, videos, simulation tools, error corrections, and
other related material. Videos are directly accessible from
https://www.youtube.com/user/cyphysystems
Users of this material who discover errors or who would like to make comments
on how to improve the material should send an e-mail to:
[email protected]
Due to the availability of this book and of videos, it is feasible and recommended
to try out flipped classroom teaching [358]. With this style of teaching, students
are requested to watch the videos (or read the book) at home. The presence of the
students in the classroom is then used to interactively solve problems. This helps to
strengthen problem-solving competences, team work, and social skills. In this way,
the availability of the Internet is exploited to improve teaching methods for students
actually present at their university. Assignments could use the information in this or
in complementary books (e.g., [82, 168, 565]).
With flipped classroom teaching, existing laboratory session slots can be com-
pletely dedicated to gaining some practical experience with CPS. Toward this end,
a course using this textbook should be complemented by an exciting laboratory,
using, for example, small robots, such as Lego Mindstorms™ or microcontrollers
(e.g., Raspberry Pie, Arduino, or Odroid). For microcontroller boards which are
available on the market, educational material is typically available. Another option
is to let students gain some practical experience with finite state machine tools.
Prerequisites

The book assumes a basic understanding in several areas:


• electrical networks at the high-school level (e.g., Kirchhoff’s laws),
• operational amplifiers (optional),
• computer organization, for example, at the level of the introductory book by
J.L. Hennessy and D.A. Patterson [204],
• fundamental digital circuits such as gates and registers,
• computer programming (including foundations of software engineering),
• fundamentals of operating systems,
• fundamentals of computer networks (important for IoT!),
• finite state machines,
18 1 Introduction

• some first experience with programming microcontrollers,


• fundamental mathematical concepts (tuples, integrals, and linear)
• algorithms (graph algorithms and optimization algorithms such as branch and
bound), and
• the concept of NP-completeness.
Knowledge in statistics and Fourier series would be useful.
These prerequisites can be grouped into courses as shown in the top row in Fig. 1.7.

pro- computer OS & math EE funda-


gramming algorithms education mentals
organization networks

lab
+courses
for minor embedded system fundamentals of project
cyber-physical and IoT systems
undergraduates thesis

control digital signal machine real-time robotics appli- middle- data


systems processing vision systems cations ware analysis

graduates ....

Fig. 1.7 Positioning of the topics of this book

Recommended Additional Teaching

The book should be complemented by follow-up courses providing a more special-


ized knowledge in some of the following areas (see the bottom row in Fig. 1.7)3 :
• control systems,
• digital signal processing,
• machine vision,
• real-time systems, real-time operating systems, and scheduling,
• robotics,
• application areas such as telecommunications, automotive, medical equipment,
and smart homes,
• middleware,
• specification languages and models for embedded systems,
• sensors and actuators,
• security and dependability of computer systems,
• data analysis techniques for CPS and IoT systems,
• low-power design techniques,
• physical aspects of CPS,
• computer-aided design tools for application-specific hardware,
• formal verification of hardware systems,

3 The partitioning between undergraduate courses and graduate courses may differ between
universities.
1.5 Curriculum Integration of Embedded Systems 19

• testing of hardware and software systems,


• performance evaluation of computer systems,
• ubiquitous computing,
• advanced communication techniques for IoT,
• the Internet of Things (IoT),
• impact of embedded, CPS, and IoT systems, and
• legal aspects of embedded CPS and IoT systems.

1.6 Design Flows

The design of embedded/cyber-physical systems and the Internet of Things is a rather


complex task, which has to be broken down into a number of sub-tasks to be tractable.
These sub-tasks must be performed one after the other, and some of them must be
repeated.
The design information flow starts with ideas in people’s heads. These ideas should
incorporate knowledge about the application area. They must be captured in a design
specification. In addition, standard hardware and system software components are
typically available and should be reused whenever possible (see Fig. 1.8).

specification design repository design


application
knowledge

application test
HW-components mapping

optimization
system software
evaluation & validation
(RTOS, ...)
test

Fig. 1.8 Simplified design information flow

In Fig. 1.8 (as well as in other similar diagrams in this book), we are using boxes
with rounded corners for stored information and rectangles for transformations
on data. In particular, information is stored in the design repository. The repository
allows keeping track of design models. In most cases, the repository should provide
version management or “revision control,” such as CVS [88], SVN [108], or “git” (see
https://www.git-scm.com). A good design repository should also come with a design
management interface which would also keep track of the applicability of design tools
and sequences, all integrated into a comfortable graphical user interface (GUI). The
design repository and the GUI can be extended into an integrated development
environment (IDE), also called design framework (see, e.g.,[329]). An integrated
development environment keeps track of dependencies between tools and design
information.
Using the repository, design decisions can be taken in an iterative fashion. At
each step, design model information must be retrieved. This information is then
considered.
20 1 Introduction

During design iterations, applications are mapped to execution platforms and


new (partial) design information is generated. The generation comprises the mapping
of operations to concurrent tasks, the mapping of operations to either hardware or
software (called hardware/software partitioning), compilation, and scheduling.
Designs should be evaluated with respect to various objectives including per-
formance, dependability, energy consumption, and manufacturability. At the current
state of the art, usually none of the design steps can be guaranteed to be correct.
Therefore, it is also necessary to validate the design. Validation consists of check-
ing intermediate or final design descriptions against other descriptions. Thus, each
design decision should be evaluated and validated.
Due to the importance of the efficiency of embedded systems, optimizations
are important. There is a large number of possible optimizations, including high-
level transformations (such as advanced loop transformations) and energy-oriented
optimizations.
Design iterations could also include test generation and an evaluation of the
testability. Testing needs to be included in the design iterations if testability issues
are already considered during the design steps. In Fig. 1.8, test generation has been
included as optional step of design iterations (see the dashed box). If test generation
is not included in the iterations, it must be performed after the design has been
completed.
At the end of each step, the repository should be updated.
Details of the flow between the repository, application mapping, evaluation, val-
idation, optimization, testability considerations, and storage of design information
may vary. These actions may be interleaved in many different ways, depending on
the design methodology used.
This book presents embedded system design from a broad perspective, and it is
not tied toward particular design flows or tools. Therefore, we have not indicated a
particular list of design steps. For any particular design environment, we can “unroll”
the loop in Fig. 1.8 and attach names to particular design steps. For example, this
leads to the particular case of the SpecC [167] design flow shown in Fig. 1.9.

Specification Architecture Communication Implementation


model model model model
communication synthesis
architecture exploration
evaluation validation

evaluation validation

evaluation validation
hardware compilation
software compilation
simulation

simulation

simulation

manufacturing

Fig. 1.9 Design flow for SpecC tools (simplified)


1.6 Design Flows 21

In this case, a particular set of design steps, such as architecture exploration,


communication synthesis, and software and hardware compilation, are included. The
precise meaning of these terms is not relevant in this book. In the case of Fig. 1.9,
validation and evaluation are explicitly shown for each of the steps, but are wrapped
into one larger box.
A second instance of an unfolded Fig. 1.8 is shown in Fig. 1.10. It is the V-model
of design flows [527], which has to be adhered to for many German IT projects,
especially in the public sector, but also beyond.

Requirements analysis Acceptance & use

System architecture System integration

System design Integration testing

Software architecture Unit tests

Software design

Fig. 1.10 Design flow for the V-model

Figure 1.10 very clearly shows the different steps that must be performed. The
steps correspond to certain phases during the software development process (the
precise meaning is again not relevant in the context of this book). Note that taking
design decisions, evaluating and validating designs are lumped into a single box in
this diagram. Application knowledge, system software, and system hardware are not
explicitly shown. The V-model also includes a model of the integration and testing
phase (right “wing”) of the diagram. This corresponds to an inclusion of testing in the
loop of Fig. 1.8. The shown model corresponds to the V-model version “97”. The more
recent V-model XT allows a more general set of design steps. This change matches
very well our interpretation of design flows in Fig. 1.8. Other iterative approaches
include the waterfall model and the spiral model. More information about software
engineering for embedded systems can be found in a book by J. Cooling [109].
Our generic design flow model is also consistent with flow models used in hard-
ware design. For example, Gajski’s Y-chart [165] (see Fig. 1.11) is a very popular
model.

Fig. 1.11 Gajski’s Y-chart Behavioral Structural


and design path (red, bold)
design path
high level of abstraction
low level of abstraction

Geometrical
22 1 Introduction

Gajski considers design information in three dimensions: behavior, structure, and


layout. The first dimension just reflects the behavior. A high-level model would
describe the overall behavior, while finer-grained models would describe the behav-
ior of components. Models at the second dimension include structural information,
such as information about hardware components. High-level descriptions in this
dimension could correspond to processors and low-level descriptions to transistors.
The third dimension represents geometrical layout information of chips. Design
paths will typically start with a coarse-grained behavioral description and finish with
a fine-grained geometrical description. Along this path, each step corresponds to
one iteration of our generic design flow model. In the example of Fig. 1.11, an initial
refinement is done in the behavioral domain. The second design step maps the behav-
ior to structural elements, and so on. Finally, a detailed geometrical description of
the chip layout is obtained. The previous three diagrams demonstrate that a number
of design flows are using the iterative flow of Fig. 1.8. The nature of the iterations in
Fig. 1.8 can be a source of discussions. Ideally, we would like to describe the prop-
erties of our system, and then, let some smart tool do the rest. Automatic generation
of design details is called synthesis.

Definition 1.12 (Marwedel [354]): Synthesis is the process of generating the


description of a system in terms of related lower-level components from some high-
level description of the expected behavior.

Automatic synthesis is assumed to perform this process automatically. Automatic


synthesis, if successful, avoids many manual design steps. The goal of using auto-
matic synthesis for the design of systems has been considered in the “describe-and-
synthesize” paradigm by Gajski [166]. This paradigm is in contrast to the more
traditional “specify-explore-refine” approach, also known as “design-and-simulate”
approach. The second term stresses the fact that manual design typically has to be
combined with simulation, for example, for catching design errors. In the traditional
approach, simulation is more important than in automatic synthesis.

1.7 Structure of This Book

Consistent with the design information flow shown above, this book is structured as
follows: Chap. 2 provides an overview of specification techniques, languages, and
models. Key hardware components of embedded systems are presented in Chap. 3.
Chap. 4 deals with system software components, particularly embedded operating
systems. Chap. 5 contains the essentials of embedded system design evaluation and
verification. Mapping applications to execution platforms is one of the key steps in
the design process of embedded systems. Standard techniques (including scheduling)
for achieving such a mapping are listed in Chap. 6. Due to the need for generating effi-
cient designs, many optimization techniques are needed. From among the abundant
set of available optimization techniques, several groups are mentioned in Chap. 7.
1.7 Structure of This Book 23

Chap. 8 contains a brief introduction to testing mixed hardware/software systems.


The Appendix comprises prerequisites for understanding the book, and it can be
skipped by students familiar with the topics covered there.
It may be necessary to design special purpose hardware or to optimize processor
architectures for a given application. However, hardware design is not covered in
this book. Coussy and Morawiec [112] provide an overview of high-level hardware
synthesis techniques.
The content of this book is different from the content of most other books on
embedded systems design. Traditionally, the focus of many books on embedded
systems is on explaining the use of microcontrollers, including their memory, I/O,
and interrupt structure. There are many such books [34, 35, 38, 39, 169–171, 201,
267, 303, 403].
We believe that due to the increasing complexity of embedded and cyber-physical
systems, this focus has to be extended to include at least different specification
paradigms, fundamentals of hardware building blocks, the mapping of applications
to execution platforms, as well as evaluation, validation, and optimization techniques.
In the current book, we will be covering all these areas. The goal is to provide students
with an introduction to embedded systems, enabling students to put the different areas
into perspective.
For further details, we recommend a number of sources (some of which have also
been used in preparing this book):

• There is a large number of sources of information on specification languages. These


include earlier books by Young [581], Burns and Wellings [81], Bergé [542], and
de Micheli [119]. There is a huge amount of information on languages such as
SystemC [390], SpecC [167], and Java [16, 73, 126, 258, 549].
• A book written by Edward Lee et al. also includes physical aspects of cyber-
physical systems [320].
• Approaches for designing and using real-time operating systems (RTOSes) are
presented in a book by Kopetz [292].
• Real-time scheduling is covered comprehensively in the books by Buttazzo [82],
by Krishna and Shin [297], and by Baruah et al. [40].
• Other sources of information about embedded systems include books by Laplante
[308], Vahid [529], and the ARTIST road map [65], the “Embedded Systems
Handbook” [586], and books by Gajski et al. [168], and Popovici et al. [432].
• Approaches for embedded system education are covered in the Workshops on
Embedded Systems Education (WESE); see [183] for results from the workshop
held in 2015.
• The Web site of the European network of excellence on embedded and real-time
systems [23] provides numerous links for the area.
• The Web page of a special interest group of ACM [8] focuses on embedded systems.
• Symposia dedicated toward embedded/cyber-physical systems include the Embed-
ded Systems Week (see http://www.esweek.org) and the Cyber-Physical Systems
Week (see http://www.cpsweek.org).
24 1 Introduction

• Robotics is an area that is closely linked to embedded and cyber-physical systems.


We recommend the book by Siciliano et al. [462] for information on robotics.
• There are specialized books and articles on the Internet of Things [179, 185, 186].

1.8 Problems

We suggest solving the following problems either at home or during a flipped class-
room session:

1.1 Please list possible definitions of the term “embedded system”!

1.2 How would you define the term “cyber-physical system (CPS)”? Do you see any
difference between the terms “embedded systems” and “cyber-physical systems”?

1.3 What is the “Internet of Things” (IoT)?

1.4 What is the goal of “Industry 4.0”?

1.5 In which way does this book cover CPS and IoT design?

1.6 In which application areas do you see opportunities for CPS and IoT systems?
Where do you expect major changes caused by information technology?

1.7 Use the sources available to you to demonstrate the importance of embedded
systems!

1.8 Which challenges must be overcome in order to fully take advantage of the
opportunities?

1.9 What is a hard timing constraint? What is a soft timing constraint?

1.10 What is the “Zeno effect”?

1.11 What is adaptive sampling?

1.12 Which objectives must be considered during the design of embedded systems?

1.13 Why are we interested in energy-aware computing?

1.14 What are the main differences between PC-based applications and embed-
ded/CPS applications?

1.15 What is a reactive system?

1.16 On which Web sites do you find companion material for this book?
1.8 Problems 25

1.17 Compare the curriculum of your educational program with the description of
the curriculum in this introduction. Which prerequisites are missing in your program?
Which advanced courses are available?

1.18 What is flipped classroom teaching?

1.19 How could we model design flows?

1.20 What is the “V-model”?

1.21 How could we define the term “synthesis”?


Chapter 2
Specifications and Modeling

How can we describe the system which we would like to design and how can we rep-
resent intermediate design information? Models and description techniques allowing
us to capture the initial specification as well as intermediate design information will
be presented in this chapter.

2.1 Requirements

Consistent with the simplified design flow (see Fig. 1.8), we will first of all describe
requirements and approaches for specifying embedded systems. Specifications for
embedded systems provide models of the system under design (SUD). Models can
be defined as follows:
Definition 2.1 (Jantsch [256]): “A model is a simplification of another entity, which
can be a physical thing or another model. The model contains exactly those char-
acteristics and properties of the modeled entity that are relevant for a given task. A
model is minimal with respect to a task if it does not contain any other characteristics
than those relevant for the task.”
Models are described in languages. Languages should be capable of representing
the following features1 :
• Hierarchy: Human beings are generally not capable of comprehending systems
containing many objects (states, components) having complex relations with each
other. The description of all real-life systems needs more objects than human beings
can understand. Hierarchy (in combination with abstraction) is a key mechanism

1 Information from the books of Burns et al. [81], Bergé et al. [542], and Gajski et al. [166] is used
in this list.
© Springer International Publishing AG 2018 27
P. Marwedel, Embedded System Design, Embedded Systems,
DOI 10.1007/978-3-319-56045-8_2
Another Random Scribd Document
with Unrelated Content
a rope dancer. To the Captain, Donnelly yielded
implicit obedience; but he would not be dictated to
by his equals—indeed, he was totally unmanageable.
Donnelly was extremely fond of a joke; and upon a
porter coming to him, soon after his arrival in
England, late one evening, at the Castle Tavern,
Holborn, informing Dan that his wife would be glad
to see him at the White Horse in Fetter Lane, as soon
as possible, Donnelly asked, with great eagerness,
“What sort of a woman she was?” The porter,
surprised at the singularity of such a question,
enquired, “What, sir, don’t you know your own
Wife?” The champion, smiling, replied, “Is she a big
woman? Well, never mind; tell her I’ll come and look,
[25]
just to see if I know her.”
It should seem that Donnelly had a great aversion
to be looked upon as a prize-fighter. In the course of
two or three evenings after his battle with Oliver,
Dignam’s long room was crowded with his
countrymen, anxious to congratulate him on his
recent victory. Donnelly, who was dining with some
swells above stairs, was informed of the
circumstance, and solicited to go down and to walk
through the room. To which Donnelly replied, “Sure,
now, do they take me for a baste, to be made a show
of? I’m no fighting man, and I won’t make a staring
stock of myself to plase anybody.” This was spoken
angrily, and it required the utmost persuasions of his
friend Dignam to induce him to comply with so
reasonable a request. Dan at length conceded, and
upon entering the room he was received with the
loudest cheers.
In short, poor Dan was a creature of the moment.
He was most excellent company, creating mirth and
laughter all around him. His sayings were droll in the
extreme, and his behaviour was always decorous.
Forethought was no ingredient in his composition;
“to-morrow,” with him, might or might not be
provided for: that never created any uneasiness in his
mind, and was left entirely to chance, or, as Dan
would express it, “Divil may care!” Such was the
character of Donnelly. He was an Irishman every
inch of him—generous, good-natured, and highly
grateful. As a pugilist, it is true, he did not raise
himself in the estimation of the English amateurs by
his battle with Oliver; nor did the Irish fancy in
London think so much of his capabilities as they had
anticipated; indeed, those gentlemen who came from
Ireland to witness the battle expressed themselves
surprised at the deficiency of boxing talent displayed
by their favourite. This, however, will astonish no one
who has perused the few preceding paragraphs of his
heedless conduct and neglect of training. He was
declared to be unlike the same man who defeated
Cooper. The fact is, that our Hibernian friends either
undervalue or thoughtlessly neglect those
precautions, without which strength, pluck, and skill
must succumb to more ordinary physical
qualifications, if backed by temperance. In fact, the
fight was won by Donnelly by his wrestling
superiority, rather than his hitting.
We now quit the living Sir Dan to note the public
and literary honours bestowed upon his decease.
Foremost amongst these comes Blackwood’s
Magazine, for May, 1820, wherein twenty closely
printed pages are devoted to a most amusing
collection of “solemn dirges,” letters of condolence,
lamentations, plaintive ballads, odes and songs, an
eloquent funeral oration, etc., and scraps of Hebrew,
Greek, and Latin poems in honour of the heroic
deceased. The scholar will be delighted, and the
general reader amused, by the genuine humour and
erudite pleasantry therein displayed. Our space
forbids us more than a selection of a few of these
serio-comic effusions of Christopher North and his
coadjutors.
“Recollections of Sir Daniel Donnelly, Knt., P.C.I.[26]

“When green Erin laments for her hero, removed


From the isle where he flourished, the isle that he loved,
Where he entered so often the twenty-foot lists,
And, twinkling like meteors, he flourished his fists,
And gave to his foes more set-downs and toss-overs,
Than ever was done by the great philosophers,
In folio, in twelves, or in quarto.

“Majestic O’Donnelly! proud as thou art,


Like a cedar on top of Mount Hermon,
We lament that death shamelessly made thee depart,
With the gripes, like a blacksmith or chairman.
Oh! hadst thou been felled by Tom Cribb in the ring,
Or by Carter been milled to a jelly,
Oh! sure that had been a more dignified thing,
Than to “kick” for a pain in thy belly.

“A curse on the belly that robbed us of thee,


And the bowels unfit for their office;
A curse on the potheen you swallowed so free,
For a stomach complaint, all the doctors agree,
Far worse than a headache or cough is.
Death, who like a cruel and insolent bully, drubs
All those he thinks fit to attack,
Cried, ‘Dan, my tight lad, try a touch of my mulligrubs,’
Which laid him flat on his back.

“Great spirits of Broughton, Jem Belcher, and Fig,


Of Corcoran, Pearce, and Dutch Sam;
Whether ‘up stairs’ or ‘down,’ you kick up a rig,
And at intervals pause, your blue ruin to swig,
Or with grub your bread-basket to cram;
Or whether, for quiet, you’re placed all alone,
In some charming retired little heaven of your own,
Where the turf is elastic—in short just the thing
Where the turf is elastic in short, just the thing
That Bill Gibbons would choose when he’s forming a ring;
That, whenever you wander, you still may turn to,
And thrash, and be thrashed, till you’re black and blue;
Where your favourite enjoyments for ever are near,
And you eat and you drink, and you fight all the year;
Ah! receive, then, to join in your milling delight,
The shade of Sir Daniel Donnelly, Knight,
With whom a turn-up is no frolic;
His is no white or cold liver,
For he beat O-liver,
Challenged Carter, and—died of the colic!”
“Sorrow is Dry.

“A PLAINTIVE BALLAD.

“When to Peggy Bauldie’s daughter first I told Sir Daniel’s death,


Like a glass of soda-water, it took away her breath;
It took away your breath, my dear, and it sorely dimm’d your sight,
And aye ye let the salt, salt tear down fall for Erin’s knight;
For he was a knight of glory bright, the spur ne’er deck’d a bolder,
Great George’s blade itself was laid upon Sir Daniel’s shoulder.
Sing hey ho, the Sheddon,
etc.

“I took a turn along the street, to breathe the Trongate air,


Carnegie’s lass I chanced to meet, with a bag of lemons fair;
Says I, ‘Gude Meg, ohone! ohone! you’ve heard of Dan’s disaster—
If I’m alive, I’ll come at five, and feed upon your master;—
A glass or two no harm will do to either saint or sinner.
And a bowl with friends will make amends for a so-so sort of dinner.’

“I found Carnegie in his nook, upon the old settee,


And dark and dismal was his look, as black as black might be,
Then suddenly the blood did fly, and leave his face so pale,
That scarce I knew, in altered hue, the bard of Largo’s vale;
But Meg was winding up the Jack, so off flew all my pains,
For, large as cocks, two fat earocks I knew were hung in chains.

“Nevertheless, he did express his joy to see me there—


Meg laid the cloth, and, nothing loth, I soon pull’d in my chair;
The mutton broth and bouilli both came up in season due.
The grace is said, when Provan’s head at the door appears in view;
The bard at work, like any Turk, first nods an invitation,
For who so free as all the three from priggish botheration?

“Ere long the Towdies deck the board with a cod’s head and
shoulders,
And the oyster sauce it surely was great joy to all beholders.
To George our king a jolly can of royal port is poured—
Our gracious king who knighted Dan with his own shining sword;
The next we sip with trembling lip—’tis of the claret clear—
To the hero dead that cup we shed, and mix it with a tear.

“’Tis now your servant’s turn to mix the nectar of the bowl;
Still on the ring our thoughts we fix, while round the goblets roll,
Great Jackson, Belcher, Scroggins, Gas, we celebrate in turns,
Each Christian, Jew, and Pagan, with the fancy’s flame that burns;
Carnegie’s finger on the board a mimic circle draws,
And, Egan-like, h’ expounds the rounds and pugilistic laws.

“’Tis thus that worth heroic is suitably lamented—


Great Daniel’s shade, I know it, dry grief had much resented.
What signify your tear and sigh? A bumper is the thing
Will gladden most the generous ghost of a champion of the king.
The tear and sigh, from voice and eye, must quickly pass away,
But the bumper good may be renewed until our dying day.”
“A Dirge over Sir Daniel Donnelly.

“Tune—‘Molly Astore.’

“As down Exchequer Street[27] I strayed, a little time ago,


I chanced to meet an honest blade, his face brimful of woe;
I asked him why he seem’d so sad, or why he sigh’d so sore?
‘O Gramachree, och, Tom,’ says he, ‘Sir Daniel is no more!’

“With that he took me straight away, and pensively we went


To where poor Daniel’s body lay, in wooden waistcoat pent;
And many a yard before we reached the threshold of his door,
We heard the keeners, as they screeched, ‘Sir Daniel is no more!’

“We entered soft, for feelings sad were stirring in our breast,
To take our farewell of the lad who now was gone to rest;
We took a drop of Dan’s potheen,[28] and joined the piteous roar;
Oh, where shall be his fellow seen, since Daniel is no more?

“His was the fist, whose weighty dint did Oliver defeat,
His was the fist that gave the hint it need not oft repeat.
His was the fist that overthrew his rivals o’er and o’er;
But now we cry, in phillalu, ‘Sir Daniel is no more!’

“Cribb, Cooper, Carter, need not fear great Donnelly’s renown,


For at his wake we’re seated here, while he is lying down;
For Death, that primest swell of all, has laid him on the floor,
And left us here, alas! to bawl, ‘Sir Daniel is no more!’

“EPITAPH.

“Here lies Sir Daniel Donnelly, a pugilist of fame,


In Ireland bred and born was he, and he was genuine game;
Then if an Irishman you be, when you have read this o’er,
Go home and drink the memory of him who is no more.”
“Childe Daniel—A Lament.

“In Fancy-land there is a burst of woe,


The spirit’s tribute to the fallen; see
On each scarr’d front the cloud of sorrow glow,
Bloating its sprightly shine. But what is he
For whom grief s mighty butt is broach’d so free?
Were his brows shadow’d by the awful crown,
The bishop’s mitre, or high plumery
Of the mail’d warrior? Won he his renown
On pulpit, throne, or field, whom Death hath now struck down?

“He won it in the field, where arms are none,


Save those the mother gives to us. He was
A climbing star, which had not fully shone;
Yet promised, in his glory, to surpass
Our champion star ascendant: but, alas!
The sceptred shade that values early might,
And pow’r, and pith, and bottom, as the grass,
Gave with his fleshless fist a buffet slight—

.tb

“’Tis done. Green-mantled Erin


May weep; her hopes of milling sway past by,
And Cribb, sublime, no lowlier rival fearing,
Before, sole Ammon of the fistic sky,
Concerted, quaffing his blue ruin high,
Till comes the swell that come to all men must,
By whose ‘foul blow’ Sir Daniel low doth lie,
Summons the champion to resign his trust,
And mingles his with kings’, slaves’, chieftains’, beggars’ dust!”

The Funeral.
On Sunday, February 27, 1820, the remains of this
celebrated character were borne, with all due pomp
and solemnity, from his family residence in Greek
Street to the last asylum at Bully’s Acre, where his
ancestors lie quietly inurned. An immense concourse,
some in carriages and some on horseback, moving in
slow and measured pace, formed part of the
procession. There was a strong muster of the fancy.
The gloves were carried on a cushion in front of the
hearse, from which the horses had been unyoked by
the crowd, and multitudes contended for the honour
of assisting in drawing it. The procession took its
route through the leading streets of the city, and the
numbers, as it passed, increased until the body of the
champion was lodged in its last resting-place. It is for
posterity to do justice to the prowess of Sir Daniel
Donnelly. Not the least remarkable feature in his
eventful history is, that he was the last person who
received the honour of knighthood during the
regency: there might have been, and probably were,
worse men among those who received that honour
before him. Although last, he did not deserve to be
held as least, among the knights of our day.
“What dire misfortune has our land o’erspread?
Our Irish Champion’s numbered with the dead;
And he who never did to mortal bend,
By Death’s cut short, and Ireland’s lost her friend.
Ah! cruel Death, why were you so unkind,
To take Sir Dan, and leave such trash behind
As Gregson, Cooper, Carter—such a clan
To leave behind, and take so great a man?
Oh! Erin’s daughters, come and shed your tears
On your bold Champion’s grave, whose shortened years
Have made Erin’s sons this day a day of sorrow—
Who have we now that will defend our Curragh?”

To the Blackwood collection we again resort for the


proposed inscription for an obelisk to Sir Daniel’s
memory:—
“The Epitaph.

“Underneath this pillar high


Lies Sir Daniel Donnelly:
He was a stout and handy man,
And people called him ‘Buffing Dan;’
Knighthood he took from George’s sword,
And well he wore it, by my word!
He died at last, from forty-seven
Tumblers of punch he drank one even;
O’erthrown by punch unharmed by fist,
He died unbeaten pugilist!
Such a buffer as Donnelly,
Ireland never again will see.

“OBIIT XIIIo KAL. MARTII, MDCCCXX. ÆTAT SUÆ XXXII.”


CHAPTER VIII.
JACK CARTER, “THE LANCASHIRE HERO”—
1812–1832.[29]

The reputation of Jack Carter as a pugilist suffered


unduly from two causes. First, from ridiculously
exaggerated press flourishes about his prowess, skill,
and formidable qualities by partizan scribes; and,
secondly, by a factious band of provincial supporters
and adherents, who spoilt their man by their
indiscriminate support and attempts, by clamour and
intimidation, to carry their protégé to the topmost
position, in despite of the interposition of better men.
Poor Carter, too, an unstable, self-conceited, and,
when excited, an offensive and bullying rough, was
spoilt for his calling as well as for decent society, by
his injudicious “following.” Pierce Egan, who
prematurely dubs him in his first volume “the
Lancashire hero(?)” furnishes us with the only
account of the early life of Bob Gregson’s protégé,
which, its magniloquence notwithstanding, reveals
the secret that Jack Carter was a mere “Lancashire
rough,” and not a whit too courageous; nor, for that
matter, commonly honest; though Shakespeare says,
“to be honest, as this world goes, is to be one man
picked out of ten thousand.” In his second and third
volumes (for Carter figures in each) stubborn facts
reduce Carter’s dimensions and character as “a
champion(?);” and in the last Pierce prefaces his
jeremiad over this perverted “navvy” by misusing the
Miltonic motto, “How are the mighty fallen!” though
when or how Carter was “mighty” is a puzzler. This
he follows with an array of gasconading
advertisements, challenges, and thrasonical
handbills. Here, with some pruning of redundances,
is the story of Jack’s early days as detailed in
“Boxiana”:—
“Carter was born at Manchester, September 13,
1789, of respectable parents, who apprenticed him to
a shoemaker, but being a strong, healthy lad, and not
liking the confinement of the trade, left it to give a
lending hand towards the improvement of his
country, by commencing navigator, and working
upon the canals in that neighbourhood. It was among
those rough-hewn, hardy sons of the creation, that
Carter began to exhibit his feats of strength by
milling several of the best considered men in their
whole phalanx. Jack was in height about five feet ten
inches and a half, and weighed about thirteen stone;
and it was the following droll and singular
circumstance that brought him into notice, both as a
pedestrian and a pugilist. The navigators, in one of
their moments of hilarity, proposed a jackass race,
and entered into subscriptions for that purpose; the
stakes were held by a Mr. Merryman, belonging to a
mountebank, who was then gammoning the flats in
that part of the country. Mr. Merryman was a good
tumbler, full of fun, and could fight a bit, and had
rendered himself an attractive personage to the
numerous Johnny Raws by whom he was
surrounded. Upon the day arriving for the race to
take place, no neddy was entered to run for the
stakes, except one belonging to Mr. Merryman. This
circumstance created surprise; in fact, much
disappointment. Jack Carter instantly entered
himself as a jackass. At first, some little argument
took place as to the oddness of the attempt, but at
length it was logically determined that Carter was a
jackass, and that he should be entered as such, upon
which they started. Away went neddy with all the
fleetness of a prime donkey, kicking and snorting
over the ground; and the jackass set out in fine style,
amidst the shouts and laughs of the multitude, who
now began to bet in all manner of shapes—Christian
against donkey, and neddy against jackass. The
distance was four miles, producing considerable
wagers and much diversion among the spectators.
The jackass possessing rather more knowledge than
the neddy, made the best of his way, leaving the
donkey behind him, came in first and claimed the
stakes. No jackass was ever so much caressed before
for winning a race. But Mr. Merryman now treated it
as only a joke, observing that he only let Carter run to
increase the sport, and disputed his claim as a
jackass. It was certain that all the words in Johnson’s
Dictionary would not have satisfactorily explained
this knotty point; and there not being logicians
enough present to place the question in a proper
point of view, a nearer road was taken to settle the
matter. Carter gave Mr. Merryman to understand
that, if he did not instantly hand over the stakes, that
it should be milled out of his carcass. Merryman
received this threat with a smile of contempt,
entertaining an idea that as this jackass had been
running four miles, his wind could not be good for
much, and agreed that the fist should decide it. A ring
being formed, Merryman was soon made to laugh on
the wrong side of his mouth; and he who had hitherto
tumbled for the pleasure of the crowd, was now, in
spite of his antics, knocked down often, and punished
so severely that he was compelled, not only to give in,
but to give up the money.”
Carter’s fame as a boxer and racer was soon spread
abroad, and he entered the lists in a short time
afterwards with a heavy strong man, a navigator, at
Preston, who had gained some good battles in his
time. It was a truly severe conflict, and occasioned
considerable conversation in Lancashire. He was
matched in several races, in one of which he beat the
celebrated Abraham Wood, though, from Pierce
Egan’s own showing, in another page, this seems to
have been not only after his coming to London, but
subsequently to his first fight with Boone, the soldier.
It was while working at the Highgate Tunnel that
Bob Gregson first met Carter. He was a Lancashire
man, and that was enough to recommend him to
Bob, who we have proof sufficient was neither a good
fighter himself nor much of a judge of what
constitutes one, like his modern double, Ben Caunt.
“Upon inquiry,” adds “Boxiana,” “it was found that
Carter had proved himself a trump!” and says, “all
that he wanted was experience, science(!), and
introduction.” “He shall have that,” cried Bob, and
instantly, at his own expense, took care of Carter, and
placed him under the “Rolands” (whose
distinguished skill in fencing and as pugilistic
teachers was then in its zenith). Pierce continues, “It
is but justice to Carter to observe that, under such
tuition, he soon made considerable progress in the
art, and when it was judged a proper time to give
publicity to his attempt, Bob introduced him at the
Fives Court.” Carter’s appearance is thus flatteringly
described in the Morning Advertiser of Wednesday,
July 29, 1812:—
“Sparring.—The last sparring exhibition took
place yesterday at the Fives Court, for the benefit of
Power, a pugilist, who, as a professor of the science,
is inferior to none on the boxing list, but his
exhibitions have been rare. The greatest novelty on
this occasion was an exhibition between a trial-man
of Gregson’s, named Carter, from Lancashire, a
candidate of first-rate weight for fighting fame, and
Fuller, a scientific pupil of Richmond’s. A ruffianing
match took place, and, not to give superiority to
either, it was a match which afforded much diversion,
and it will cause a considerable sensation in the
sporting world. Gregson’s man, who is under the best
tuition, will prove a tremendous teazer, if he be gifted
with the best of pugilistic favours—game—which
remains to be tried. He is a fine weighty left-handed
hitter, and, if game be in him, he can beat anything
now on the list.”
With such a character, though the “if” in respect to
his “game” looks very like a misgiving, Carter was
matched against Boone, the soldier, for an unknown
stake. Boone (made Bone in “Boxiana”) has not a
single fight to his credit in “Fistiana,” except that
with Crockey, a wretched affair, four years after this
exhibition. The battle came off on Friday, September
18, 1812, near Ealing, Middlesex, when, after twelve
rounds, in seventeen minutes, Boone gave in. Egan
says it was “a severe contest,” and adds, “In this
battle Carter’s patrons thought he had made good his
pretensions to milling, and looked forward anxiously
to place him nearly, if not quite, at the top of the
boxing list.” They accordingly matched him against
Jack Power. (See Power, in Appendix.) The stake
was the handsome sum of 200 guineas, subscribed by
Gregson’s friends, and on the 16th of November,
1812, the fight came off at Rickmansworth, Herts.
The battle will be found in the Life of Power, who,
despite the recent rupture of a blood-vessel, and
incapacity for severe training, thrashed Carter in
thirty-nine rounds, occupying one hour and five
minutes. “Boxiana” says, with edifying naïvete,
“Carter attributed the loss of this battle to his second
(Isaac Bittoon) placing a Belcher handkerchief over
his mouth, which tended rather to deprive him of his
wind (query, courage) than to do anything to increase
that necessary quality in a boxer.” He adds, “If Carter
in his battle with Power did not exhibit those traits of
finished elegance which characterise the skilful
pugilist, he nevertheless portrayed that he was not
ignorant of the principles of boxing, and his patrons
were perfectly satisfied with the bottom which he
manifested upon the occasion,” which shows they
were thankful for very small mercies, as Carter
brought youth, weight, length, and strength to the
losing side.
After much cavilling a match was made between
Carter and Molineaux. Poor Molineaux, having been
twice beaten by Cribb, was now on his downward
course (see vol. i., pp. 282–285, ante), yet, in this
contest, which took place at Remington,
Gloucestershire, on Friday, the 2nd of April, 1813,
Carter was disgracefully beaten by the once
formidable nigger. Of this affair, on which we have
commented in the life of Molineaux, a contemporary
writes:—“It was the opinion of the most experienced
pugilists that such a set-to was never before
witnessed; one ‘was afraid, and the other dared not.’
Carter was the best man after the battle began, and
continued so throughout the fight. Molineaux was
wretched in the extreme, and at one time positively
bolted from his second. But to the great
astonishment of all the spectators, when Molineaux
was dead beat, Carter fainted and dropped his head
as he sat on the knee of his second. All the exertions
of Richmond could not arouse Carter from his
lethargic state, and he thus lost the battle.”
In the next paragraph we find “Boxiana” stating,
“as a boxer, and even as a scientific pugilist, Carter
was entitled to considerable prominency (whatever
that may mean); and, if viewed as a fibber (was the
historian unconsciously writing autobiography?), it
would be difficult to find a better one. In point of
hitting and getting away, he is little inferior, if not
equal, to Richmond, and very good and active upon
his legs. With his left hand he dealt out severe
punishment; and although in his former contests his
right hand appeared but of little service to him, yet he
seemed to have rather improved in the use of it. One
objection which had been warmly argued against
Carter by many of the fancy was, that he was soft
about the head, afraid of the coming blow, and
shrank from punishment; while, on the contrary, it
was roundly asserted by the other part that, if he
behaved correctly, his game was unimpeachable.”
After his defeat by Molineaux, Carter exhibited the
art of self-defence in Ireland, Scotland, and most of
the provincial towns in England, with great success;
and from his continual practice in those trials of skill,
aided by considerable intuitive knowledge upon the
subject of boxing, he returned to the metropolis an
active and improved fighter. Upon his arrival in
London, Carter, without hesitation, declared himself
ready to enter the lists with any man in the kingdom;
and this public challenge, as might be supposed, was
not suffered to remain long unanswered, and
Richmond, in consequence, catered a fine, strong,
healthy black, of the name of Joseph Stephenson,
weighing upwards of fourteen stone, from Havre de
Grace, Maryland, in America, as a likely opponent.
The Pugilistic Club gave a purse of twenty-five
guineas, and the combatants put down twenty-five
also a-side. On Tuesday, February 6, 1816, the above
heroes(!) met at Coombe Warren. This battle excited
considerable interest throughout the pugilistic
circles; and, notwithstanding the torrents of rain that
deluged the roads, from seven in the morning till
seven at night without intermission, thousands of
spectators braved the elements with the utmost
nonchalance. The men entered the ring about one
o’clock; Cribb and Shelton acting as seconds to
Carter, and Richmond and Oliver for Stephenson.
Two to one in many instances upon Carter.

THE FIGHT.
Round 1.—On setting-to, Carter had scarcely placed himself in a
fighting position when, with much dexterity, he gave Stephenson a
desperate nobber. The man of colour seemed rather surprised at this
sudden attack, but he bored his way into a sharp rally. The pink first
appeared on Carter’s face. The latter, in closing, fibbed Stephenson,
but he was undermost when down. (Seven to four against the Black.)
2.—Carter again commenced offensive operations with his left
hand, and the Black’s head was completely open to him. Some blows
were exchanged, and, in closing, Carter found his way to the ground.
3.—It was evident the man of colour was the strongest, and that
Carter might have come into the ring better prepared for action.
Stephenson endeavoured to put in some heavy blows, but the science
of Carter was too much for him. The latter hit and got away in good
style; but, in a sharp rally, the Black showed tolerable resolution. In
struggling to obtain the throw, both went down.
4.—Carter showed bad condition, and was much in want of wind;
but Stephenson did not appear to avail himself of this opportunity of
turning it to account. Carter, with great dexterity, not only nobbed
his opponent successfully with his left hand, without experiencing
any return, but made use of his right better than usual. The Black,
however, in closing, endeavoured to fib his adversary; but Carter
extricated himself with much adroitness, and went down. (Two to
one was now offered on Carter with great confidence.)
5.—Stephenson did not appear eager to commence the attack, and
some little sparring was also necessary, that Carter might recover his
wind. The Black knew more about receiving than any other part of
the science, and Carter milled him on the retreat with great sang
froid. Stephenson, rather passionate from this sort of treatment,
endeavoured to bore in upon his adversary, but Carter stopped short
upon him, and, measuring his distance well, the man of colour
measured his length on the grass in a twinkling.
6.—The strength of the Black at times gave him rather the
advantage, and, in finishing this round, Carter was thrown. (Seven to
two on the latter, but no takers.)
7.—Stephenson seemed almost tired of the battle, and got down in
the best manner he was able. (Any odds upon Carter.)
8.—Stephenson readied the scratch greatly distressed, and Carter
sent him down from a slight touch.
9.—The left hand of Carter was again in motion, but Stephenson
caught hold of it, and the word “stop,” it was understood, had
escaped from his lips. Carter instantly made his exit from the ring,
and upon his seconds preparing to follow him, Stephenson insisted it
was a mistake, and that he was determined to continue the contest.
Nearly half an hour had now elapsed, and Carter immediately
resumed offensive operations.
10.—Carter, somewhat angry at this disappointment, went to work
in sharp style, and the Black again felt the severity of his left hand. In
closing, both went down.
It would be superfluous to detail the succeeding rounds of this
battle. It was perfectly ridiculous on the part of Stephenson to
resume the fight, as not the slightest chance appeared to turn it to his
account. At the expiration of forty-four minutes, victory was declared
in favour of Carter. From the well-known science of the latter, it was
expected that he would have been able to dispose of Stephenson in
much less time; but Carter, it seemed, looked upon the event so
certain as to be indifferent respecting his appearance in the ring in
good condition. Stephenson had merely to boast of strength; in other
respects he was little better than a novice.

Three months had scarcely elapsed, when a


formidable man of colour, of the name of Robinson,
who had acquired some celebrity from the execution
he had performed among second-rate boxers, and
ambitiously eager to achieve conquests of greater
importance, agreed to enter the lists with Carter, at
Moulsey Hurst, on Wednesday, April 24, 1816, for a
stake of fifty guineas, and also a purse of twenty-five,
given by the P. C., in a twenty-feet roped ring.
Vehicles of all descriptions were in requisition at an
early hour to reach the destined spot; and the
curiosity of the fancy was so strongly excited to
witness this mill that, by twelve o’clock, it might be
fairly stated the Hurst contained little short of
20,000 people. Robinson was a fancied article,
declared capable of performing pugilistic wonders.
[30]
He had beaten Crockey in prime twig, and Butcher
he had also vanquished in decent style; and when the
match was first made between Robinson and Carter,
the Black was rather the favourite with those
characters who are always eager for novelty, and
considerable bets were laid in his favour; and even
some of the knowing ones were doubtful on the
subject. It cannot be denied that Carter never stood
A1 in the esteem of the fancy. They knew he did not
want for science; they knew he did not want for
strength and activity; and they also were acquainted
that he could run and jump well, and that he was a
boxer above mediocrity. Still there was an
inexpressible something that seemed to pervade their
opinions, which kept many from going that length
upon Carter they might otherwise have done; added
to which, Robinson talked confidently of his
capabilities of sarving-out, which blinded the too
credulous as to the real state of things. But the flash
side, upon looking into the chances and comparing
notes upon the subject, soon became awake as to the
issue likely to ensue, and previously to the fight, six
to four first came forward, five to three, and lastly
seven to four upon Carter. A few minutes before one
the Black showed in the ring, and tossed up his hat.
Carter soon followed and did the same, and
immediately came up to Robinson and shook hands
with him. Soon after their seconds appeared—
Paddington Jones and Dick Whale for Robinson, and
Painter and Harry Harmer for Carter—when they
stripped and commenced

THE FIGHT.
Round 1.—Carter had scarcely set-to, when he gave Blacky a severe
facer with his left hand, and quick as lightning put in two more
tremendous hits upon the same cheek, and got away with much
dexterity before the man of colour was able to return. The Black, in
closing, got somewhat fibbed, and went down. (Seven to four
generally was offered, but no takers appeared. Two to one in many
places.)
2.—The Black’s nob was completely at Carter’s service, and the
latter put in five tremendous facers again with his left hand. The
Black, notwithstanding, bored in and got Carter against the ropes,
but did no execution, when, after an awkward struggle in a close,
Carter went down. (It was now ten to two against the man of colour.)
3.—The Black, at this early stage of the fight, seemed not only
damaged, but rather shy, and he sparred cautiously to recover his
wind. Carter again made the same successful use of his left hand, by
planting three more hits upon the old place. A short rally took place,
in which Blacky endeavoured to make a change in the appearance of
things, but without effect, and he ultimately went down. The
superiority of Carter appeared manifest in every round. In fact, the
Black was dead beat, and when on his second’s knee called out for
“brandy.”
4.—Carter hit short, but the Black gained nothing by it. In closing,
the punishment which Carter served out to his opponent was
tremendous in the extreme; he held the Black up with one arm, and
with the other fibbed him so severely that he went down quite
exhausted. The Black’s consequence as a first-rate miller was all
gone. His fanciers now began to look rather blue, and found, too late,
that their judgment had proved erroneous.
5.—The distressed state of the Black was conspicuous to all parties,
and he left his second’s knee in a tottering state. He, however,
endeavoured to make the best of it, and attacked Carter rather
furiously, but the latter soon spoiled his intention, and again fibbed
him down. (Five pounds to five shillings.)
6.—Carter, full of gaiety, smiled at the impotent efforts of his
opponent, and punished him with the utmost sang froid. Blacky put
in a body blow, but received such a staggerer in return that he was
quite abroad, and at length went down.
7.—The left hand of Carter was again busy with the mug of his
antagonist. However, the Black endeavoured to make something like
a rally, but he displayed more of desperation than judgment, and
paid dearly for his temerity by again going down. This was the best
round in the fight.
8.—The nob of the Black, from the severe punishment he had
received, now assumed a terrific aspect, and in his endeavour to
plant a hit, Carter stopped it dexterously, and returned so severe a
facer that Blacky’s pimple appeared to go round upon his shoulders,
like the movement of a harlequin; he went reeling away like a
drunken man, and fell.
9.—The Black reluctantly appeared at the mark, when Carter, as
fresh as a daisy, added more dreadful left-handed hits to his already
disfigured nob. In closing, both down, but Blacky undermost.
10.—It was almost up with the man of colour; he made a running
hit and fell. Some disapprobation now manifested itself.
11.—The game of the Black, if he ever had any, was now all
exhausted, and he went down from a mere push. It was thought
rather currish.
12 and last.—The Black, in a state bordering on frenzy,
endeavoured to follow Carter, but the latter punished him at every
step, fibbed him terribly, and, in closing, both down, but Blacky
undermost. So complete a finish in seventeen minutes and a half was
scarcely to be expected, from the high milling qualities the Black was
said to possess; and even the most knowing upon the subject offered
to bet, previous to the fight, that it continued upwards of forty
minutes.
Remarks.—Blacky, from the above display, lost ground in the
opinion of the amateurs; his strength was more prominent than any
other pugilistic quality. He left the ring apparently much distressed
in body and mind from the punishment he had experienced. Carter
was in good condition and in high spirits, and disposed of his
opponent in first-rate style, and positively retired from the contest
without a scratch, excepting upon his back, which, it is said, occurred
either from a bite or a pinch given him by the man of colour. Carter
showed himself evidently improved as a scientific pugilist: there was
nothing hurried in his manner of attack; he viewed his antagonist
with much fortitude, and scarcely made a hit without doing material
execution. He adopted the milling on the retreat system, and hit and
got away with all the celerity of Richmond. Two Blacks he has thus
completely vanquished; and it is generally considered to the above
might be added a third(?). It must certainly be admitted that Carter
gained a step or two on the pugilistic roll of fame from the above
contest, and perhaps removed many doubts that hitherto existed
respecting his pretensions as a first-rate boxer. An opinion was now
entertained that he had only to look well to himself, and something
higher was still within his reach.

Gregson now made a rather odd and suspicious


match on behalf of Carter, which “Boxiana” calls a
“Nouvelle feature in the Prize Ring, namely, a
Match against Time!” This was, that Carter should
beat Robinson within half an hour.
Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about books and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!

ebookball.com

You might also like