DDNA-based Embedded Systems - Nova

Transcription

DDNA-based Embedded Systems - Nova
Experience-Oriented Smart
Embedded System
By
Haoxi Zhang
MEng (Software Engineering)
A Thesis submitted in fulfilment of the requirements for the degree of
Doctor of Philosophy
The University of Newcastle
Faculty of Engineering and Built Environment
School of Engineering
Newcastle, Australia
March 2013
STATEMENT OF ORIGINALITY
This thesis contains no material which has been accepted for
an award of any other degree or diploma in any university or
other tertiary institution and, to the best of my knowledge and
belief, contains no material previously published or written by
another person, except where due reference has been made in the
text. I give consent to this copy of my thesis, when deposited in
the University Library**, to be made available for loan and
photocopying subject to the provisions of the Copyright Act 1968.
**Unless an Embargo has been approved for a determined period.
(Signed):__________________________________
I
STATEMENT OF AUTHORSHIP
I hereby certify that components of the work embodied in this
thesis are from published papers of which I am a joint author.
My contribution to these papers warrants inclusion of their parts
in the body of my thesis.
Signed (PhD Candidate):__________________________________
Endorsed (Supervisor):____________________________________
II
ACKNOWLEDGEMENTS
This research could not have been possible without the help
and support of some very important and special people. First and
foremost, I would like to take this opportunity to gratefully
acknowledge my supervisors: Professor Edward Szczerbicki and
Dr Cesar Sanin for patiently taking me through this difficult task
of research. Their expertise and knowledge improved my research
skills and prepared me for future challenges. I am also very
appreciative of the generous assistance, support, care and time
that they provided and devoted to my studies during the past
four years.
Deepest gratitude to the University of Newcastle, School of
Engineering, Faculty of Engineering and Built Environment, the
Office Graduate Studies, and Australian Academy of Science for
all their assistances and support provided in different ways
throughout my studies. Thanks to the Vicomtech Institute in
Spain, for allowing me to experience alternative ways of doing
research, as well as to all of the members of Vicomtech for
providing me a warm environment and pleasant experience.
I am grateful for the friendship of those who brought their own
unique talents and perspectives to my personal and professional
life. Thanks to Dr Carlos Toro, Dr Luis Unzueta, and Dave Jones
for their time, kindness, patience, and advice. Special thanks also
to my fellow PhD students, Leonardo Mancilla Amaya and Peng
Wang for their friendship, and fresh ideas. Thanks to all my other
III
friends and all the great people that became part of my life during
the last few years.
Finally, I want to express my love and gratitude to my family.
Thanks to my parents, because without their unconditional
support and love I could never achieve this. And I wish to thank
my parents in law for their understanding and support. I must
thank my wife, Lulu, for her continued support and motivation.
She kept me sane during this effort and tolerated me using her as
my sporadic but repeated debate partner. Thanks to my son and
daughter for bringing me endless happiness and joy. I love you
all.
IV
TABLE OF CONTENTS
STATEMENT OF ORIGINALITY ..................................................................................................... I
STATEMENT OF AUTHORSHIP ................................................................................................... II
ACKNOWLEDGEMENTS ............................................................................................................... III
TABLE OF CONTENTS.................................................................................................................... V
LIST OF FIGURES ........................................................................................................................ VIII
LIST OF TABLES............................................................................................................................... X
LIST OF ACRONYMS ..................................................................................................................... XI
LIST OF PUBLICATIONS DURING PHD CANDIDATURE .................................................XIV
ABSTRACT .................................................................................................................................... XVII
PREFACE ........................................................................................................................................XIX
1 INTRODUCTION: RESEARCH FOUNDATIONS ....................................................................... 23
1.1 EMBEDDED SYSTEMS............................................................................................................... 24
1.1.1
Application Areas of Embedded Systems................................................................. 24
1.1.2
State-of-the-art Embedded Systems.......................................................................... 27
1.2 KNOWLEDGE AND EXPERIENCE ............................................................................................... 30
1.2.1
Knowledge Management .......................................................................................... 31
1.2.2
Smart Knowledge Management System, SOEKS, and DDNA ................................ 34
1.3 RESEARCH OBJECTIVES ........................................................................................................... 35
1.4 SUMMARY ............................................................................................................................... 37
2 EXPERIENCE-ORIENTED SMART EMBEDDED SYSTEM ..................................................... 38
2.1 OVERVIEW OF EOSES ............................................................................................................. 41
2.2 MAIN FEATURES OF EOSES .................................................................................................... 43
2.3 CONCEPTUAL ARCHITECTURE OF EOSES ............................................................................... 45
2.4 CONCEPTUAL MODELS OF EOSES .......................................................................................... 48
2.4.1
The Server-based Model ........................................................................................... 48
V
2.4.2
The Stand-alone Model ............................................................................................ 51
2.5 SUMMARY ............................................................................................................................... 53
3 EXPERIENTIAL KNOWLEDGE MANAGEMENT IN EOSES .................................................. 54
3.1 DECISIONAL DNA: STANDARD KNOWLEDGE REPRESENTATION IN EOSES ............................ 55
3.2 EXPERIENTIAL KNOWLEDGE MANAGEMENT IN EOSES’S 4-LAYER ARCHITECTURE ............... 57
3.3 CONCEPTUAL ARCHITECTURE OF EOSES IN DETAILS ............................................................. 59
3.3.1
Application Layer ..................................................................................................... 60
3.3.2
Interface Layer .......................................................................................................... 62
3.3.3
Management Layer ................................................................................................... 64
3.3.4
Knowledge Repository Layer ................................................................................... 66
3.4 INITIAL TESTS AND RESULTS ................................................................................................... 67
3.4.1
Experiment Goal and Design .................................................................................... 67
3.4.2
Experimental Results ................................................................................................ 69
3.5 SUMMARY ............................................................................................................................... 71
4 A SERVER-BASED APPLICATION: EOSES APPLIED TO ROBOTICS .................................. 73
4.1 BACKGROUND AND MOTIVATION ............................................................................................ 75
4.1.1
What is a robot and what is robotics? ....................................................................... 75
4.1.2
Experience-based Robot Learning ............................................................................ 76
4.2 EOSES APPLIED TO ROBOTICS ................................................................................................ 78
4.2.1
Application Description ............................................................................................ 78
4.2.2
Robot Hardware ........................................................................................................ 79
4.2.3
System Design and Implementation ......................................................................... 81
4.3 EXPERIMENTS AND RESULTS ................................................................................................... 84
4.3.1
Experiment Goal and Design .................................................................................... 85
4.3.2
Experimental Results ................................................................................................ 87
4.4 SUMMARY ............................................................................................................................... 91
5 A STAND-ALONE APPLICATION: EOSES APPLIED TO DIGITAL TV ................................. 93
5.1 BACKGROUND AND MOTIVATION ............................................................................................ 95
VI
5.1.1
Digital TV ................................................................................................................. 95
5.1.2
Interactive Television ............................................................................................... 98
5.2 EOSES APPLIED TO DIGITAL TV .......................................................................................... 100
5.3 DDNA DTV PROTOTYPE 1.0 ................................................................................................ 103
5.3.1
Application Description .......................................................................................... 103
5.3.2
Simulation and Experiments ................................................................................... 105
5.4 DDNA DTV PROTOTYPE 2.0 ................................................................................................ 109
5.4.1
Application Description .......................................................................................... 110
5.4.2
System Design ........................................................................................................ 111
5.4.3
Implementation and Experiments ........................................................................... 112
5.5 DDNA DTV PROTOTYPE 3.0 ................................................................................................ 117
5.5.1
Fuzzy Logic ............................................................................................................ 118
5.5.2
Application Description .......................................................................................... 119
5.5.3
Implementation and Initial Tests ............................................................................ 120
5.6 SUMMARY ............................................................................................................................. 122
6 CONCLUSIONS AND FUTURE WORK .................................................................................... 125
6.1 EXPERIENCE-ORIENTED SMART EMBEDDED SYSTEM (EOSES) ............................................ 126
6.2 ACHIEVEMENTS OVERVIEW ................................................................................................... 127
6.3 FUTURE WORK ...................................................................................................................... 130
ANNEXES ......................................................................................................................................... 132
ANNEX 1.
CLASS DIAGRAM FOR LINE FOLLOWER................................................................. 132
ANNEX 2.
SOEKS CLASS DIAGRAM FOR LINE FOLLOWER ................................................. 133
ANNEX 3.
A SAMPLE SOEKS FOR LINE FOLLOWER ............................................................ 134
ANNEX 4.
CLASS DIAGRAM FOR DDNA DTV 2 .................................................................... 135
ANNEX 5.
API CLASS DIAGRAM FOR DDNA DTV 2 ............................................................ 136
ANNEX 6.
SOEKS CLASS DIAGRAM FOR DDNA DTV 2 ..................................................... 137
ANNEX 7.
A SAMPLE SOEKS FOR DDNA DTV 2 ................................................................ 138
REFERENCES ................................................................................................................................ 140
VII
LIST OF FIGURES
FIGURE 1. OVERVIEW OF THE EXPERIENCE-ORIENTED SMART EMBEDDED SYSTEM ... 42
FIGURE 2. ARCHITECTURE OF THE EXPERIENCE-ORIENTED SMART EMBEDDED SYSTEM
............................................................................................................................ 46
FIGURE 3. CONCEPTUAL SERVER-BASED MODEL FOR EOSES .................................... 49
FIGURE 4. CONCEPTUAL STAND-ALONE MODEL FOR EOSES ..................................... 52
FIGURE 5. RELATION BETWEEN EOSES LAYERS AND KM CONCERNS ....................... 58
FIGURE 6. ARCHITECTURE OF EOSES IN DETAILS ...................................................... 60
FIGURE 7. THE TEST MAP ........................................................................................... 68
FIGURE 8. TIME CONSUMPTION OF THE TEST PROGRAM IN BEST CASES ..................... 70
FIGURE 9. TIME CONSUMPTION OF THE TEST PROGRAM IN WORST CASES ................. 71
FIGURE 10. SYSTEM COMPOSITION OF THE LINE FOLLOWER APPLICATION ................ 80
FIGURE 11. SYSTEM ARCHITECTURE OF THE LINE FOLLOWER APPLICATION .............. 82
FIGURE 12. SIMPLIFIED CLASS DIAGRAM FOR LINE FOLLOWER .................................. 83
FIGURE 13. EXPERIMENT MAPS FOR LINE FOLLOWER................................................. 86
FIGURE 14. TIME CONSUMPTION COMPARISON ON MAP 1 .......................................... 88
FIGURE 15. TIME CONSUMPTION OVERALL COMPARISON ON MAP 1 .......................... 88
FIGURE 16. TIME CONSUMPTION COMPARISON ON MAP 2 .......................................... 89
FIGURE 17. TIME CONSUMPTION OVERALL COMPARISON ON MAP 2 .......................... 89
FIGURE 18. SYSTEM ARCHITECTURE OF DDNA DTV............................................... 101
FIGURE 19. SIMPLIFIED CLASS DIAGRAM FOR DDNA DTV PROTOTYPE 1.0 ............ 104
FIGURE 20. SCREENSHOT OF THE DEFAULT MOVIE SUGGESTION INTERFACE ........... 105
FIGURE 21. A SOEKS OF A WATCHED MOVIE .......................................................... 106
VIII
FIGURE 22. A NEWLY GENERATED MOVIE RECOMMENDATION LIST FOR TOM ........ 109
FIGURE 23. SIMPLIFIED CLASS DIAGRAM FOR DDNA DTV PROTOTYPE 2.0 ............ 112
FIGURE 24. IMPLEMENTATION OF THE DDNA DTV PROTOTYPE 2 ........................... 113
FIGURE 25. THE NEXT-12-HOUR PROGRAMME GUIDE .............................................. 115
FIGURE 26. SCREENSHOT OF THE INTERFACE OF TVHGUIDE WITH A CHANNEL LIST
LOADED ............................................................................................................ 116
FIGURE 27. A PROGRAMME NOTIFICATION SENT BY DDNA DTV WHILE LIVE TV IS
PLAYING ........................................................................................................... 117
FIGURE 28. THE ARCHITECTURE OF A FUZZY INFERENCE SYSTEM ........................... 121
FIGURE 29. RESULTS OF THE FUZZIFICATION TESTS.................................................. 122
IX
LIST
OF
TABLES
TABLE 1. RESPONSE TIME OF LINE FOLLOWER ........................................................... 91
TABLE 2. RESPONSE TIME COMPARISON ..................................................................... 91
TABLE 3. TOM’S MOVIE VIEWING RECORDS ............................................................. 107
X
LIST OF ACRONYMS
ABS
Anti-Braking Systems
AI
Artificial Intelligence
API
Application Programming Interface
ARIB
Association of Radio Industries and Business
ATSC
Advanced Television Systems Committee
DMB
Digital Multimedia Broadcasting
DNA
Deoxyribonucleic Acid
DSL
Digital Subscriber Line
DSS
Decision Support System
DTT
Digital Terrestrial Television
DTV
Digital television
DVB
Digital Video Broadcasting Project
DVB-H
Digital Video Broadcasting - Handheld
EM
Experience Management
EOSES
Experience-Oriented Smart Embedded System
ERPP
Experience-based Randomized Path Planner
ES
Embedded System
ETSI
European Telecommunication Standard Institute
FIS
Fuzzy Inference System
HDTV
High-definition Television
IC
Integrated Circuit
IPTV
Internet Protocol TV
XI
ISDB
Integrated Services Digital Broadcasting Standards
IT
Information Technology
JCTEA
Japan Cable Television Engineering Association
JVM
Java Virtual Machine
KBS
Knowledge-based System
KBES
Knowledge-based Embedded System
KE
Knowledge Engineering
KM
Knowledge Management
KMS
Knowledge Management System
KR
Knowledge Representation
MHP
Multimedia Home Platform
MMDS
Multichannel Multipoint Distribution Service
OWL
Web Ontology Language
POS
Point of Sale
RPP
Random Path Planner
SCTE
Society of Cable Telecommunications Engineers
SDTV
Standard Definition Television
SKMS
Smart Knowledge Management System
SoC
System-on-Chip
SOE
Set of Experience
SOEKS
Set of Experience Knowledge Structure
SOEKS-OWL
Set of Experience Knowledge Structure OWL Configuration
SOEKS-XML
Set of Experience knowledge structure XML Configuration
UAV
Unmanned Aerial Vehicle
W3C
World Wide Web Consortium
XII
WWW
World Wide Web
XML
Extensible Markup Language
XSD
XML Schema Definition
XIII
LIST OF PUBLICATIONS DURING PHD
CANDIDATURE
Journal Publications
1.
Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2013): Implementing
Fuzzy Logic to Generate User Profile in Decisional DNA Television: The
Concept and Initial Case, Cybernetics and Systems: An International Journal,
44:2-3, pp. 275-283.
2.
Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2012): Making Digital TV
Smarter: Capturing and Reusing Experience in Digital TV, Cybernetics and
Systems: An International Journal, 43:2, pp. 127-135.
3.
Haoxi Zhang, Cesar Sanin, & Edward Szczerbicki (2010): Gaining
Knowledge Through Experience: Developing Decisional DNA Applications
in Robotics, Cybernetics and Systems: An International Journal, 41:8, pp.
628-637.
4.
Haoxi Zhang, Cesar Sanin & Edward Szczerbicki (2010): Decisional DNAbased Embedded Systems: A New Perspective, Systems Science, Vol. 36, pp.
21-26.
5.
Cesar Sanin, Carlos Toro, Haoxi Zhang, Eider Sanchez, Edward Szczerbicki,
Eduardo Carrasco, Peng Wang, & Leonardo Mancilla-Amaya (2012):
Decisional DNA: A Multi-technology Shareable Knowledge Structure for
Decisional Experience, Neurocomputing, 88:0, pp. 42-53.
6.
Cesar Sanin, Leonardo Mancilla-Amaya, Haoxi Zhang, and Edward
Szczerbicki (2012): Decisional DNA: The Concept and Its Implementation
XIV
Platforms, Cybernetics and Systems: An International Journal, 43:2, pp. 6780.
Book Chapters
7.
Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2012): Applying fuzzy
logic to Decisional DNA digital TV. L. Borzemski et al. (Eds.): Information
Systems Architecture and Technology, Part II, Oficyna Wydawnicza
Politechniki Wroclawskiej, Wroclaw, pp. 107-115.
8.
Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2011): Gaining
Knowledge through Experience in Digital TV. L. Borzemski et al. (Eds.):
Information Systems Architecture and Technology, Part II, Oficyna
Wydawnicza Politechniki Wroclawskiej, Wroclaw, pp. 95–104.
9.
Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2010): Testing the
Usability of Decisional DNA in Robotics. L. Borzemski et al. (Eds.):
Information Systems Architecture and Technology, Part II, Oficyna
Wydawnicza Politechniki Wroclawskiej, Wroclaw, pp.177-187.
10. Cesar Sanín, Leonardo Mancilla-Amaya, Haoxi Zhang, and Edward
Szczerbicki
(2010):
Towards
a Software Platform
for Experience
Administration: Decisional DNA Manager. In Information Systems
Architecture and Technology: IT Models In Management Process, Z.
Wilimowska, L. Borzemski, A. Grzech and J. Swiatek (Eds.). Wroclaw:
Oficyna Wydawnicza Politechniki Wrocławskiej, pp. 19-29.
Conference Publications
11. Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2012): The Development
of Decisional DNA Digital TV, Proceedings of Knowledge-Based Intelligent
Information and Engineering Systems 16th International Conference KES
XV
2012, in Advances in Knowledge-Based and Intelligent Information and
Engineering Systems: Manuel Grana, Carlos Toro, Jorge Posada, Robert J.
Howlett, Lakhmi C. Jain (Eds.), San Sebastian, Spain, September, 2012, pp.
1500-1508.
12. Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2011): Decisional DNA
applied to digital TV, Lecture Notes in Artificial Intelligence Proceedings of
Knowledge-Based Intelligent Information and Engineering Systems 15th
International Conference KES 2011, Robert J. Howlett Lakhmi C. Jain (Eds.),
Germany, September, 2011, Springer-Verlag Berlin Heidelberg, LNAI 6882,
pp. 667-676.
13. Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2011): Decisional DNA
Digital TV: Concept and Initial Experiments, P. Jedrzejowicz at al. (Eds):
LNCS 6922, Proceedings of ICCCI 2011 3rd International Conference on
Computational Collective Intelligence - Technologies and Applications, 2123 September 2011, Gdynia, Poland, Springer-Verlag Berlin Heideberg (2011)
pp. 507-516.
14. Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2010): Decisional DNA
applied to robotics, Lecture Notes in Artificial Intelligence Proceedings of
Knowledge-Based Intelligent Information and Engineering Systems 14th
International Conference KES 2010, Robert J. Howlett Lakhmi C. Jain (Eds.),
UK, September 8-10, 2010, Springer-Verlag Berlin Heidelberg, LNAI6277,
pp. 563-571.
15. Haoxi Zhang, Cesar Sanín, & Edward Szczerbicki (2010): Towards
Decisional DNA-based Cognitive Embedded Systems, The 2nd International
Conference on Computer Engineering and Technology (ICCET 2010), April
16 - 18, 2010, Chengdu, Sichuan, China, pp. 277-281.
XVI
ABSTRACT
Embedded systems have been in use since the 1970’s. For most of their history
embedded systems were seen simply as small computers designed to accomplish one
or a few dedicated functions; and they were usually working under limited resources
i.e. limited memories, limited processing power, and limited energy sources. As
such, embedded systems have not drawn much attention from researchers, especially
from those in the artificial intelligence area.
However, things have changed as today the drive for innovation is stronger than
ever. Thanks to the efforts of scientists over recent years, great progress has been
made in both computer hardware and software, which enables us to have much more
powerful computers in very small sizes and with many more functions.
Consequently, new needs and expectations for Embedded Systems (ESs) have
increased dramatically. The current market demands embedded systems to be built
smart so that they can finish tasks automatically, and assist users to make decisions
more efficiently and effectively. Thus, how to make embedded systems smart is
becoming one of researchers’ new challenges. Knowledge Management (KM) is a
discipline that promotes a systematic approach to capturing, storing, distributing, and
reusing information of an organization in order to make it available, actionable, and
valuable to others. The prospects for applying KM technologies to embedded
systems to meet these demands are very promising.
The Experience-Oriented Smart Embedded System (EOSES) is proposed as a new
XVII
technological platform providing a common knowledge management approach that
allows mass embedded systems for experiential knowledge capturing, storage,
involving, and sharing. Knowledge in the EOSES is represented as SOEKS, and
organized as Decisional DNA. The platform is mainly based on conceptual principles
from Embedded Systems and Knowledge Management. The objective behind this
research is to offer large-scale support for intelligent, autonomous, and coordinated
KM on various embedded systems.
Several conceptual elements of this research have been implemented in testing
prototypes, and the experimental results that were obtained show that the EOSES
platform can provide active knowledge management to different embedded systems,
and it can also enable various systems to learn from their daily operations in many
different fields to gather valuable knowledge, assist decision making, reduce human
workers’ workload, and improve the system itself. Consequently, the EOSES has
great potential for meeting today’s demands for embedded systems, and providing a
universe knowledge management platform for mass autonomous mechanisms.
XVIII
PREFACE
Computers and software are becoming an inescapable part of our daily life: we
use them to write thesis (like this one), communicate through the Internet, search for
information on the web, play PC games and store data. Aside from these most visible
uses, the vast majority of computers and software in use, however, are much less
visible. They control your microwave oven, dishwasher, and refrigerator. They run
trains, ships, and aircrafts. They command traffic lights in a city, power generation in
a power plant, and elevators in a building. They control the brakes, seatbelts, airbags,
air conditioner and engine in your car. They run your digital camera, enabling you to
take photos without any knowledge of photography. They run network switches,
printers, and cashier machines. They administrate man-made satellites to handle
hundreds of billions of voice, video, picture and data transmission tasks across all
countries and continents. These less visible computers are called embedded systems,
and the software they run is called embedded software.
Embedded systems have been in use since the 1970’s. For most of their history
embedded systems were seen simply as small computers designed to accomplish one
or a few dedicated functions; and they were usually working under limited resources
i.e. limited memories, limited processing power, and limited energy sources. As
such, embedded systems have not drawn much attention from researchers, especially
from those in the artificial intelligence area. However, things have changed. Thanks
to the efforts of scientists over recent years, great progress has been made in both
computer hardware and software, which enables us to have much more powerful
XIX
computers in very small sizes and with many more functions.
Thus, how to make embedded systems smart is becoming one of researchers’ new
challenges as IT technology progresses. One approach for making embedded systems
smart is based upon experiential knowledge management: by collecting and reusing
experiences, this approach enables embedded systems to capture and/or store their
experiential knowledge through day-to-day tasks, and allows them to index relevant
pieces of knowledge and apply such knowledge to the concerned circumstance for
further use, such as supporting decision making.
To achieve experiential knowledge management in embedded systems requires
new methodologies and tools to be developed. The work I am presenting here was
carried out during my Ph.D. in Mechanical Engineering at The University of
Newcastle, and under the supervision of Professor Edward Szczerbicki and Doctor
Cesar Sanin.
My research was applied to the development of the Experience-Oriented Smart
Embedded System (EOSES). In this thesis, I shall show (1) the need for building
smart embedded systems; (2) a smart experiential knowledge administration platform
for embedded systems; (3) what is Experience-Oriented, and why experienceoriented? ; (4) an effective implemented knowledge representation structure
applicable for managing experiential knowledge for embedded systems; (4) a
procedure for the integration, solving, and selection of a holistic knowledge
representation structure; and (5) two case studies of the Experience-Oriented Smart
Embedded System. To this end, I divided the plan of this document into four parts,
which structures a total of six chapters:
XX
The first part is a guided tour of relevant literature.
Chapter 1 – Introduction: Research Foundations. This chapter consists of three
parts. In the first part, I shall describe embedded systems. In the second part, I shall
discuss knowledge, knowledge management and intelligent technologies. In the third
part, I shall show the need for building smart embedded systems.
The second part concentrates on the Experience-Oriented Smart Embedded
System (EOSES). It is presenting the design rationale of the whole EOSES, as well
as a general perspective of its mechanisms in one chapter. It consists of two chapters.
Chapter 2 – Experience-Oriented Smart Embedded System (EOSES). This
chapter identifies the features, architecture and conceptual models of the EOSES. It
also shows that its requirements can match with the established needs for smart
embedded systems. I shall describe and justify the overall solution envisioned and
the implementation choices by explaining every main stage.
Chapter 3 – Experiential Knowledge Management in EOSES. This chapter
presents
EOSES’s
conceptual
architecture
and
knowledge
management
methodologies in details. It also introduces the knowledge representation used in
EOSES – the SOEKS and Decisional DNA; and why I chose them for EOSES.
The third part shows the case studies of EOSES. It consists of two chapters.
Chapter 4 – A Server-based Application: EOSES Applied to Robotics. In this
chapter, I apply EOSES to a robot. With the help of EOSES, this robot is capable of
learning maps, and reusing its knowledge about these maps to make decisions.
XXI
Chapter 5 – A Stand-alone Application: EOSES Applied to Smart TV. In this
chapter, I integrate smart TV with EOSES in order to allow the smart TV to capture
and store its user’s watching habits, and re-use these habits in the user’s future
watching.
The fourth part outlines the lessons learned and the perspectives. It discusses
the evaluation and return on experience of the EOSES, describing improvements and
future work.
Chapter 6 – Conclusions and Future Work. This chapter outlines the current
research and implementation status of the EOSES. I shall present the result of my
work, and discuss the work remaining to be done in the EOSES, some of them have
already started to be implemented and tested, while others are shallow specifications
of future work. I provide considerations on extensions that could be imagined to go
towards a complete real-world solution and I give long-term perspectives that can be
considered as my future research interests.
Finally, I have to say that this document does not fully develop all the aspects of the
platform. However, it establishes the theoretical concerns underpinning it.
Additionally, due to the numerous topics involved in this research and the
development of the platform, a general literature review was included in chapter one;
nevertheless, more specific literature reviews and state-of-the-art advances in related
areas are included in some chapters in order to offer a better understanding of the
concepts discussed.
Haoxi Zhang
XXII
1
Introduction: Research Foundations
Today the drive of innovation is stronger than ever. Novel technologies and
applications are reaching into every corner of our lives. Consequently, new needs
and expectations for Embedded Systems (ESs) have increased dramatically (Akhras
2000). The current market demands embedded systems to be built smart so that they
can finish tasks automatically, and assist users to make decisions more efficiently
and effectively. The booming market for “smart products” is the evidence for this
like Smart TV, Smart phones, and even Smart House. However, these ‘smart
23
products’ are not really smart, or not smart enough. Knowledge Management (KM)
is a discipline that promotes a systematic approach to capturing, storing, distributing,
and reusing information of an organization in order to make it available, actionable,
and valuable to others (Davenport 1994; Duhon 1998). The prospects for applying
KM technologies to embedded systems to meet these demands are very promising.
This chapter introduces the general background for the Experience-Oriented
Smart Embedded System, starting with the concept and state of the art advances in
embedded systems. Then, the definition and theories of experience and knowledge
are presented. Subsequently, some of the KM technologies are reviewed, and a novel
knowledge management platform, the Smart Knowledge Management System, is
introduced. Finally, research objectives and a brief summary on this chapter are
presented.
1.1
Embedded Systems
Embedded systems are computer systems created to implement one or a few
specific functions (Steve 2002), such as the control system in an elevator, or the ABS
(anti-lock braking systems) in a car. They are usually embedded as part of a complete
system. Nowadays, any electronic product that includes a microprocessor (one or
more) and software to carry out some constituent function within a larger entity can
be regarded as an embedded system (Kleidermacher & Kleidermacher 2012).
1.1.1
Application Areas of Embedded Systems
Embedded Systems are present in quite diverse areas: from household appliances
like microwave ovens and washing machines, to industrial applications like
24
automatic production lines and network switches; from portable devices such as MP3
players to very big equipment like nuclear power plants. The following list outlines
the main areas in which embedded systems are used (Marwedel 2010).
• Consumer electronics: As a very important sector of the electronics industry,
consumer electronics integrated with Information Technology (IT) is steadily
growing. Better quality and new features are implemented using advanced
digital techniques. Many game consoles, digital TV sets, digital cameras, and
tablets have powerful high-performance processors and memory systems.
• Telecommunication: Mobile phones have been a very fast growing as well as
rapidly changing market in the recent years. Novel cyber technologies are
having a remarkable effect on this market. Actually, on all forms of embedded
systems.
• Transport: Embedded systems are widely used in all kinds of transport systems.
The Anti-Braking Systems (ABS) is a very common example of embedded
systems used in small vehicles. While the flight control systems, pilot
information systems, and anti-collision systems are embedded systems used on
airplanes. Furthermore, there are similar systems for railway transport and
sailing.
• Security: Security is always critical for all kinds of systems. There are more and
more embedded systems being developed and used in improving security. For
example, with finger print sensors or face recognition systems, we can identify
people much quicker and more precisely.
25
• Robotics: Robotics is a very typical application of embedded systems.
Embedded processors, sensors, and other control units work together to run the
robots. The improvement of embedded system technology directly affects
robotics.
• Health sector: It is very obvious that health is essential and vitally important for
us. Healthcare products have drawn a lot attention from researchers because
there is a huge potential for improving healthcare services by taking advantage
of embedded systems and information technology. There are a number of
techniques that can be applied to this area.
• Military applications: Embedded systems have been used in military
equipment for many years. They control the latest missiles, fly Unmanned Aerial
Vehicles (UAV), and they run military radar systems. Today, the importance of
embedded system technology for military purpose is increasing.
• Smart buildings: Sensors, processors and computers have been used in some
buildings to make the building ‘intelligent’. At the entrances, there are cameras,
sensors and other equipment that work together to ensure safety and security of
the building. Inside, there are many other embedded systems taking care of the
comfort level of the building, and helping to reduce the energy consumption
within these buildings. There is a trend towards integrating access control,
lighting, air-conditioning, distribution of information and accounting into a
single system. Sensors can easily detect empty rooms, and for those empty
rooms, air conditioning subsystems can be either turned off or increased the
tolerance levels, and the same applies to lighting systems. ‘Smart’ use of blinds
26
can also optimise air-conditioning and lighting in order to reduce energy
consumption.
1.1.2
State-of-the-art Embedded Systems
Embedded systems have been linked with poor capability and low functionality
for a long time. However, recent advances in microelectronics, Integrated Circuit
(IC), communications, computing, software and other information technologies are
now forcing embedded systems to be composed of a large set of processing elements,
and the trend is towards significant enhanced capability, complexity, and
functionality. Also through wireless or wired networks more and more embedded
systems are being connected together to create large-scale distributed embedded
systems. Such embedded information processing and computing technology has
become at the same time a transformer of organizations and markets as well as a
cornerstone for future manufacturing enterprises (Pereira & Carro 2007).

Hardware
Microprocessors, memories and many other hardware components are becoming
smaller and extremely powerful. According to the Moore’s law (Pereira & Carro
2007), the capacity of microprocessors doubles about every two years. Let’s take
Apple’s iPhone for example: in 2010 customers could buy an iPhone 3GS with an
ARM Cortex A8 600 MHz processor inside (Miller 2010), while in 2012 the
processor in the new released iPhone 5 has been upgraded to 1.3GHz (Powell 2012).
In fact, microprocessors with more than 1 GHz clock rates like the PowerPC G3
(1.1GHz) have been used in embedded systems for a few years (Perls 2009).
Likewise, memory’s performance is progressing rapidly too. For instance, SanDisk
27
released its 32 GB SDHC Plus cards in January 2008, and four years later, the 128
GB SanDisk Extreme® SDXC™ UHS-I card is introduced in 2012 (SanDisk 2012).
Apart from innovation of single hardware elements, another trend for embedded
systems is to build all the constituents of a computer or other electronic system into a
sole integrated circuit (microchip). This is called System-on-Chip (SoC)
(Bergamaschi et al. 2001). A SoC allows engineers to contain analog, digital, mixedsignal, and often radio-frequency functions onto a microchip, and even building one
or several different processors on a single SoC. For instance, the portable phone is a
typical application of such technology (Reinaldo et al. 2001; Rajsuman 2000).
In addition, reconfigurable hardware, as a novel evolution, provides another level
of
programmability that
could
significantly improve
embedded
systems’
performance. Moreover, the innovation of wireless networking enables seamless
communication and Internet connection for embedded systems. Due to these
improvements of hardware technology, embedded systems are growing into more
complex, smaller, and powerful elements. Meanwhile, the power consumption and
price of embedded systems are reducing.

Software and Programming Language
In comparison with embedded hardware technology, embedded software/firmware
and middleware technologies are making notable progress too. As the core
component, embedded operating systems are making big progresses on reliability,
configurability, portability, adaptability, and robustness (Pereira & Carro 2007). For
example, μC/OS II, as a classic embedded real-time operating system, has
successfully been applied in multiple high level safety-critical devices, including
28
those certified for avionics (EUROCAE ED-12B and DO-178B Level A), medical
devices (Pre-Market Approval – PMA, medical FDA pre-market notification 510(k)), and for nuclear systems and transportation (SIL 3/SiL4 IEC) (Micrium
2012).
Embedded Linux is another example. Mobile devices running a Linux operating
system are rapidly increasing these days. This is mainly because embedded Linux is
an open source, free, robust and stable operating system supported by a large
community of developers. Google Android (Android 2012) is one of the most
successful embedded software in the history that benefits from the advantages of
embedded Linux. Android is an open-source software stack that consists of a Linuxbased operating system, a set of key applications and middleware (Meier 2012).
Moreover, the functionality of Android devices can be easily extended by installing
applications ("apps"). There is a large community of developers writing applications
for Android devices. Those applications are primarily written in a customized
version of Java (Shankland 2007). Even though Android is initially designed for
mobile devices such as smartphones and tablets, its features of being open and
customizable enable Android to be used on many other electronics and to provide a
consistent platform for application development across an increasingly wide range of
devices (Petrovan 2012; Meier 2012).
Programming languages for embedded software development is currently focused
on the C and C++ according to the survey (VDC 2011). Due to the huge progress in
both microprocessors and memories, it has become practical to apply more mature
approaches onto embedded systems, like using a regular C or C++ compiler, which
enables very fast adaption to any task, also it makes the deploying of new
29
applications an easier job (Pereira & Carro 2007). However, the Java programming
language is rapidly gaining momentum in this field. Devices with embedded Java
such as Smartphones, tablets, and other electronics have increased dramatically.
Hugo Bara, Android's director of product management, said, “500 million devices
activated globally, and over 1.3 million added every single day." (Shankland 2012).
In fact, at first Java was created for embedded systems (Cadenhead & Lemay 2002).
A key concept in Java is the Java Virtual Machine (JVM), which encapsulates all
platform-specific services, such as system I/O, networking, etc. It enables Java byte
codes to be run on any architecture for which a customized JVM is available.
To sum up, recent advances in computer hardware, software, and microelectronics
are enhancing embedded systems to be increasingly powerful, robust, smaller and
functional. These advances not only enable embedded systems to comprise a large
set of computing elements and run complex programs, but also allow embedded
systems to be custom made to meet all kinds of demands from our daily life.
1.2
Knowledge and Experience
The Oxford Dictionary (2010) defines Knowledge as “facts, information, and
skills acquired by a person through experience or education; the theoretical or
practical understanding of a subject, or awareness or familiarity gained by
experience of a fact or situation”. While Drucker P. F. (2003) defines it as
“information that changes something or somebody - either by becoming grounds for
actions, or by making an individual (or an institution) capable of different or more
effective action”. Knowledge is not knowledge until the information inside itself has
30
been taken and used by people (O'Dell & Hubert 2011).
Experience, as a general concept, comprises previous knowledge or a skill
obtained through daily life (Sun and Finnie 2003, Sun and Finnie 2004). Usually
experience is understood as a type of knowledge that one has gained from practice
rather than books (Sharma, Singh, and Goyal 2012). In this way, experience or
experiential knowledge can be regarded as a specialization of knowledge that
includes information and strategies obtained from performing previous tasks.
In a business context, knowledge is what a company knows about its mistakes,
successes, products, processes, customers, and competitors. The knowledge has thus
been taken and recognized as a valuable asset (Schreiber et al. 1999). The
globalisation of the economy has put tremendous pressure on companies for
increasing efficiency and adaptability, improving products, innovation, and creating
competitive advantages. The awareness of a company’s own knowledge and the
management of this knowledge are becoming steadily important as they cope with
these pressures (Myers 2012), and companies can greatly benefit from managing
their knowledge (O'Dell & Hubert 2011).
1.2.1
Knowledge Management
Knowledge Management (KM) is a term and a concept that arose approximately
twenty years ago. Davenport (1994) created the still widely cited definition at KM’s
early development stage: “Knowledge management is the process of capturing,
distributing, and effectively using knowledge”. A few years later, another frequently
quoted definition of KM was built by the Gartner Group as “Knowledge
management is a discipline that promotes an integrated approach to identifying,
31
capturing, evaluating, retrieving, and sharing all of an enterprise's information
assets. These assets may include databases, documents, policies, procedures, and
previously un-captured expertise and experience in individual workers” (Duhon
1998).
Both definitions share a very similar idea, which is that KM is a systematic effort
to capture, store, distribute and reuse the information of an organization to make it
available, actionable, and valuable to others. The discipline of KM is about building
up and administrating the processes to deliver the right information to the right
people at the right time, and help people act on information and share this
information in order to improve the performance of organizations (O'Dell & Hubert
2011). This information should be accessed from more than just documents and
databases, but also the experiences of individuals and teams through their day-to-day
work, collaboration and communication.
Knowledge management infrastructure is a development of the digital nervous
system within an organization, which integrates the organization at a deeper level. In
order to accomplish this goal, the tools are required to be involved in every aspect of
an organization, such as:
•
E-mail system
•
Intranet working / administration system
•
Database
•
Documents and resources
32
•
Knowledge repositories
•
Expertise access tools
•
Meeting, discussion, and chat
•
Communications
•
Work flow, procedures
Thus it is obvious that KM would involve many different organizational
processes, and KM can take on various forms. A survey carried out by Liao (2003)
found that there were generally seven categories of KM technologies and
applications developed until 2002. In another study (Matayong & Mahmood 2012),
after analysing 30 published articles between 2003 and 2010 from high quality
journals, found nine core theories in the KM area. These KM technologies,
applications, and theories enable enterprises to manage their knowledge from
different perspectives. However, there are limitations to these technologies. Most of
them are designed for one specific kind of product; they don’t have standard
knowledge presentation; most systems lack the capability for information sharing
and exchange and most of these systems only focus on supporting a particular stage
of a product lifecycle (Li, Xie, & Xu 2011).
Furthermore, due to the advances in IT and cyber technologies, our working and
living environments have been greatly changed. For instance, tablets and
smartphones are changing how we live, study, and work. People now are switching
from desktops to these small computers. These small devices are reaching into every
corner of our lives - even restaurants are getting rid of menus and are using tablets to
33
order dishes). Traditional KM technologies are not designed for this situation. For
example, Expert Systems are too slow for these devices (Mazilescu 2011).
Therefore, it is very urgent and necessary to develop new tools to cope with these
issues in order to establish a knowledge-rich environment that makes seamless
knowledge connection among individuals, organizational processes, and enterprises
possible.
1.2.2
Smart Knowledge Management System, SOEKS, and
DDNA
Smart Knowledge Management System (SKMS), as a novel application of KM
technology, is offering a new approach into AI field. Unlike other existing KBSs,
SKMS is more focused on extracting and evolving explicit knowledge through
experience, and reusing this knowledge to support decision-making (Sanin and
Szczerbicki 2009). Instead of directly using human expertise, the SKMS defines a set
of four macro processes and components required to capture, store, improve, reuse,
and transmit experience through day-to-day tasks (Sanin and Szczerbicki 2008).
The SKMS relies on the concepts of Set of Experience Knowledge Structure
(SOEKS) and Decisional DNA (DDNA). The Decisional DNA is a knowledge
repository approach that stores, organizes and manages formal decision events stored
in the Set of Experience Knowledge Structure (SOEKS) (Sanin et al. 2009).
SOEKS has been developed to acquire and store formal decision events in an explicit
way (Sanin and Szczerbicki 2009). It is a model based upon available and existing
knowledge, which must adapt to the decision event it is built from (i.e. it is a
dynamic structure that depends on the information provided by a formal decision
34
event) (Sanin et al. 2009); besides, it can be represented in XML or OWL as an
ontology in order to make it transportable and shareable (Sanin and Szczerbicki
2006; Sanin and Szczerbicki 2007). The SOEKS has been successfully applied to
industrial applications, specifically for maintenance purposes, in the areas of energy
and finances research (Sanin et al. 2009), and in conjunction with augmented reality
techniques (Toro et al. 2007).
As a promising approach for the next generation of manufacturing systems, KBS
has continuously been expanding, both in depth of knowledge as well as in the area
of applications (Zhou, Wang, & Lou 2010). Consequently, industry, organizations,
and individuals will benefit a lot from smart solutions, improved productivity,
intelligent management and more stable and increased product quality.
The subject of this thesis is focused on applying such technology to ubiquitous
embedded systems to help create a smart cyber environment for our society.
1.3
Research Objectives
This chapter has briefly pointed out that embedded systems are reaching into
every corner of our lives, as well as the importance of knowledge for individuals,
organizations and industry. In order to adapt and react properly to today’s dynamic
environment, new methodologies and tools are required. Consequently, the proposal
presented in this thesis undertakes to systematically capture, create, reuse, and share
decisional experience of work processes in embedded systems, helping the users of
these embedded systems to perform more quickly and efficiently in our daily life,
and supporting a path towards appropriate automation for frequently recurring tasks.
35
There is one overall goal for this research:
Develop a Smart Platform for Embedded Systems that would support decisionmaking through gaining knowledge by experiencing from the day-to-day
operation.
The major significance of this research is highlighted as the creation of such a
platform for different embedded systems to capture, evolve, and share the experience
of every decision made. When this goal is reached, the platform will allow building
up an intelligent cyber environment via the electronics surrounding us, and enable
everyone to benefit from this smart platform.
As the developing of the proposed platform, several significant and innovative
sub-aims will be achieved. In particular, they are:
•
Develop a converter that is able to transform data of decision events within
embedded systems to knowledge (i.e. SOEKS),
•
Design the protocols that allow standard knowledge exchange among
diverse embedded
systems
(they may use different
knowledge
presentations),
•
Establish the application frame to support different embedded systems
using the platform, and enable mass customization approaches through
distribute deployment,
•
Implement DDNA and SOEKS in the integration of different intelligent
and decision-making embedded systems,
•
Create automatic methods to select and analyse SOEKS according to the
36
priorities of the system, and suggest the best solution,
•
Implement
techniques
for
capturing,
generating,
retrieval,
and
management of experienced decision events during the system operation.
•
Establish techniques for manipulation, administration and sharing the
collected experiences among embedded systems.
1.4
Summary
In summary, I propose in my thesis a multi-technology smart platform that is a
combination of Embedded Systems, Knowledge Management Systems, Smart
Knowledge Management Platform, Decisional DNA, Set of Experience Knowledge
Structure, and other techniques.
This proposed smart platform allows embedded systems to capture, store, evolve,
reuse, and share experiential knowledge, and improves embedded systems’
performance in many ways, like reducing the analyzing time, quick start via learning
from similar systems, always up-to-date through knowledge sharing, as well as
decreasing energy consumption.
37
2
Experience-Oriented Smart
Embedded System
As introduced in the previous chapter, the ability to learn from past experience
and reuse such learned knowledge has become a critical factor for individuals’ and
organizations’ success. Experience, as one kind of knowledge, comprises previous
knowledge or skill obtained from practice, and it carries information of the tasks
handled with the results of different handling strategies in the past.
38
Thanks to technological advances in computer processing, storage, and
communication capabilities, together with improving manufacturing techniques,
embedded systems have been made smaller, lower-cost, and more powerful; which
allows the spread of an almost infinity of these embedded systems. The area of
embedded systems and their interconnection is nowadays considered as
fundamentally important (Almeida 2008). In fact, the world we are living in relies on
these small cyber devices.
From a Knowledge Management (KM) perspective, knowledge is useful only if it
is accessible to all users, and can be used to solve problems and make decisions (Lao,
Xiao, Wang, and Qin 2008). Additionally, the active KM is required to cover all
organizational processes. The wide use of embedded systems has thus turned them
into a physical basic for most of knowledge-related activities, because embedded
systems are largely used in organizational processes. By learning from practical
processes such as problem solving and decision-making, experiential knowledge can
be obtained. Subsequently, through proper reusing of knowledge, related embedded
systems can help or complete these processes more efficiently or even automatically.
Hence, embedded systems can be built smart. Most importantly, the acquiring of
knowledge is the creating of asset for such smart embedded systems’ domain; which
allows the domain/organization to know about itself from a systematic view, and
keep its asset (i.e. the knowledge) once employees retire or machines are replaced by
newer models.
Several approaches have been developed to support KM using different
technologies such as expert systems, decision support systems, knowledge-based
systems, and data mining (Matayong & Mahmood 2012; Liao 2003). However, there
39
are three common problems for applying current KM technology to embedded
systems, i.e. 1) they are too specific, 2) they do not have standard knowledge
representation, and 3) they lack information sharing and exchange capabilities.
Therefore, improving KM by means of supporting mass customization autonomous
mechanisms and the use of a domain-independent knowledge representation, still
remains as a research area in need of exploration.
The Experience-Oriented Smart Embedded System (EOSES) is proposed as a new
technological platform based on knowledge management and is designed to provide
a common knowledge management approach that allows mass embedded systems for
experiential knowledge capturing, storage, involving, and sharing. Knowledge in the
EOSES is represented as SOEKS, and organized as Decisional DNA. The platform is
mainly based on conceptual principles from Embedded Systems and Knowledge
Management. The objective behind such combination of elements is to offer support
for intelligent, autonomous, and coordinated KM on a large scale.
This chapter introduces the general elements proposed for the ExperienceOriented Smart Embedded System, starting with its overall view and main features.
Then, the conceptual models and architecture are presented, describing the different
layers and services that comprise the platform. Finally, summary and brief
conclusions on this chapter are presented. The main goal of this chapter is to provide
a general outline of the Experience-Oriented Smart Embedded System. The details of
the platform’s implementation and case studies of using two conceptual models will
be unfolded in the following chapters.
40
2.1
Overview of EOSES
Based upon the principle of KM, the KM infrastructure is a development of the
digital nervous system within an organization, which integrates the organization at a
deeper level (Frid 2000). In an organization, there are many processes with the
purpose of fulfilling a collection of well-defined organizational aims. Due to the
diversity of embedded systems, the hardware and software of digital devices
involved in these processes could be various. Moreover, different companies could
use different devices for similar processes. As a consequence, the ExperienceOriented Smart Embedded System is designed to handle these issues, providing the
means for organizations and individuals to have a common systematic KM tool
within diverse embedded systems.
Figure 1 shows the overview of the Experience-Oriented Smart Embedded
System. The platform integrates different organizations and their devices as
illustrated in three major levels: Device, Process, and Knowledge.
41
Figure 1. Overview of the Experience-Oriented Smart Embedded System
At the bottom level of the platform, devices representing different embedded
systems in knowledge-related organizational processes capture knowledge for the
activities they are involved in. Each embedded system at the bottom level may be
different, and may be involved in different activities. A knowledge-related process
may have one or more activities. By integrating knowledge captured from a process’s
activities, experiential knowledge grows and evolves for that given organization
process. Moreover, devices can interact with each other in order to share knowledge.
At a higher level, there are processes within an organization. In a similar way, by
collecting every process’s knowledge, the knowledge for that organization is formed
and gathered. Also, processes at the middle level can interact with each other to share
42
knowledge. At the top, there is the knowledge level. Cutting-edge technologies, for
example Cloud Computing, may be used to store and enable interaction and
knowledge sharing among organizations. Organizations may create their own clouds
for a specific purpose, like data security. In addition, a large-scale knowledge market
could be formed, in which knowledge is treated as the main asset (Mancilla-Amaya
2010b).
2.2
Main Features of EOSES
In order to enable different embedded systems to capture, reuse, evolve, and share
knowledge in an easier and more standard way, the Experience-Oriented Smart
Embedded System shall provide the following features:
• Experience-Oriented: experience, as one kind of knowledge learned from
practice, is the ideal source for improving performance of processes, in which a
lot of practical activities involve. By reusing experiential knowledge, decision
makers can make decisions faster, and more efficiently base their current
decisions on experiences obtained from previous similar situations. The EOSES
is designed to use such experiential knowledge in supporting individuals and
organizations to make decisions better and more efficiently.
• Adaptability and Cross-platform Portability: Since most embedded systems are
special-purpose designed, the hardware and software for each of them could be
distinctly different from others; thus, adaptability and cross-platform portability
are critical issues for EOSES. For this reason, which causes the first problems of
these three, i.e. they are too specific. In order to work with custom embedded
43
software, most knowledge-related tools are specifically designed only for given
embedded systems or even for a particular stage of a product lifecycle.
Adaptability and cross-platform portability are rarely considered during the
design and development of these tools. For solving this problem, EOSES is
designed to work with specific designed software (applications) without redesigning or re-building. Java is used during the development of EOSES. And
even though Java may be a bit slower than some other programming languages
like C or C++ (Jelovic 2009), its inherent cross-platform capability can make
significant advantages on deployment and maintenance. Moreover, as processing
power soars, the evolution of Java language, and optimizations of JVM
(Georges, Buytaert, and Eeckhout 2007), is not a problem anymore for running
Java applications on embedded systems (Mulchandani 1998).
• Compactness and Efficiency:
Another important element concerning the
application of EOSES is that embedded systems are usually resource-limited,
which means our applications have to be designed in a compact, efficient shape.
As a flexible knowledge representation structure, Decisional DNA can be
customized compactly according to certain system goals. Moreover, it has been
shown in previous case studies (Sanin et al. 2009) that SOEKS is an efficient
knowledge representation structure, which can indeed enhance knowledge
retrieval and experience reusing applications. Thus, SOEKS is used in EOSES as
an efficient compact knowledge representation.
• Configurability: It is common for a system to run under different situations. For
example, the same system may work under different power supply conditions:
connected to a power line or by using batteries. If the system performs always in
44
the same way regardless of its power supply, it will soon run out of power and
shut down when using batteries. Also, a system may work in different modes,
for example it can be trained in training mode and work in an automatic selfcontrol mode. For developers, it may have debugging mode. Thus,
configurability is very desirable as it allows systems to perform properly in
various scenarios according to different settings.
• Security and trust: it is clear that a secure environment is a key requirement for
any distributed system these days, especially when the Internet is used as the
primary communication channel. Also, knowledge, and knowledge sources,
must be reliable to make the right decisions. Therefore, the concept of decisional
trust presented by Sanin and Szczerbicki (2009b) is extended to include more
features that reflect human-like behaviour.
2.3
Conceptual Architecture of EOSES
For carrying these five main features introduced above, the conceptual four-layer
architecture is designed for EOSES. These four layers are: Application Layer,
Interface Layer, Management Layer, and Knowledge Repository Layer. The platform
is conceptualized on the top of embedded systems, to extend the capabilities of the
latter by using DDNA and SOEKS for knowledge representation and exchange.
Figure 2 illustrates the conceptual architecture proposed for the Experience-Oriented
Smart Embedded System.
45
Figure 2. Architecture of the Experience-Oriented Smart Embedded System
Each one of the layers in the conceptual architecture is engaged with a set of
responsibilities and capabilities, as follows:
• Application Layer: This layer offers the platform’s whole functionality access to
the end-user. Mobile applications (APPs) may be used to help facilitate the
interaction among employees or groups to solve problems, make decisions, and
feed the system with information based on their daily activities. Additionally,
customization and complementing technologies are fully supported in the
application layer in order to fulfil different job requirements, which enable
EOSES to capture experiential data from different sources.
46
• Knowledge Repository Layer: Experiential knowledge, as the most valuable
source, is stored and managed at this layer. In EOSES, a single decision event is
captured and represented as a SOE, and a set of SOE is organized as DDNA
carrying the decisional fingerprint of the decision maker. This layer provides
functionality of access, storage, and administration of knowledge.
• Management Layer: This layer is the control central of EOSES. In order to
achieve knowledge capturing, reusing, evolving, storage, and sharing, a range of
functionality and capability are attached to this layer, such as inference, analysis,
knowledge extraction, knowledge retrieval, knowledge exchange, dynamic
process management, inter and intra-system interactions, global policies, and
cooperation amongst other mechanisms.
• Interface Layer: Interface is the component that connects the platform with its
outer environment; which provides a range of interaction, communication, and
knowledge-related services. These services provided by this layer are: system
configuration, input/output, application programming interface (API) service,
query service, knowledge sharing service, and updating service.
• Embedded system hardware and operating system: None of these two sections
is a part of EOSES. However, they comprise the fundamental base for EOSES.
On the top, there is the embedded operating system which manages the
embedded system and runs EOSES and applications. And at the bottom, there is
embedded hardware underlying, which is comprised of memory, computing
elements, and peripherals.
47
All the layers in the conceptual architecture make extensive use of experienceoriented knowledge management to provide appropriate autonomous capabilities to
embedded systems. More detailed discussion about the conceptual architecture will
be presented in Chapter 3.
2.4
Conceptual Models of EOSES
According to knowledge-related activities, different embedded systems may be
involved. For some activities, a single device would be enough to finish the job,
while for some other activities, having a number of devices working together is very
necessary, for example, smart buildings. In order to suit these requirements, make the
EOSES adaptable, and easy-to-apply to different situations, two major conceptual
models are designed for the EOSES. These two models are: the Server-based Model
and the Stand-alone Model.
2.4.1
The Server-based Model
This conceptual server-based model is designed for those systems that have more
than one embedded system working together to acquire information and experience
to perform as one single knowledge-based intelligent system, such as a robot. In this
conceptual mode, involved devices can be divided into three categories: sensors,
terminals, and clients. EOSES integrates data, information, and knowledge from
each of these involved sensors, terminals, and clients.
Figure 3 illustrates the conceptual server-based model. In this conceptual model, a
server is introduced to integrate all the data, information, and knowledge transmitted
from different embedded systems participating in a knowledge related process, and
48
extracting experiential knowledge from integrated information and finally, storing
the knowledge in the server for future reusing.
Figure 3. Conceptual Server-based Model for EOSES
• Sensors: are the simplest input elements in this conceptual model. They have no
capability to run any EOSES applications so that the only action the sensors
perform is to transmit proper signal/data to the server. For example, transmitting
current temperature is the only mission a temperature sensor accomplishes. In
many cases, sensors are used to measure the environment, and by collecting
measurement data from these sensors, the server can relate a decision event with
the environmental situation while the decision is being taken.
49
• Terminals: are sub-embedded systems having input and output capabilities and
can be perceived as sensors-actuators. For example, a garage door controller
receives inputs (i.e. ‘open’ or ‘close’ command) and executes the input as its
outputs.
• Clients: are sub-embedded systems that can run EOSES client applications and
have human-machine interfaces. Users can finish sub-tasks through these clients,
and can have interactions with the server through these clients. For example, in a
smart building, the user may turn on/off a room’s lights outside this building
through an APP running on an iPad (i.e. the client). Also, the server may inform
the user with various forms of information like sending a message to the user’s
smartphone saying ‘Running out of eggs!’ As sub-embedded systems, there may
be sub-knowledge repositories on them. In addition to processing local
information, clients may communicate with each other via wire and/or wireless
connections.
• Server: is the brain for this conceptual model. It is running EOSES server
applications aiming at integrating all the involved embedded systems into an
organic single system. Knowledge-related services provided by the server are
similar to those from the stand-alone application, but the server may run on a PC
rather than on embedded systems, and the algorithms in server-based models
could be more complicated than those in stand-alone models. A more detailed
case study of the conceptual server-based model will be given in Chapter 4.
50
2.4.2
The Stand-alone Model
This conceptual stand-alone model is designed for embedded systems that have
capability to finish tasks alone, like tablets. The difference between a stand-alone
model and a server-based model is: there could be many different embedded systems
involved in one single task in a server-based model, for example, smart building. In
other words, in a server-based model, there must be server software to control the
whole system. Also, knowledge for a given task is captured, and stored by the server
in server-based models. Thus, powerful devices such as computers are recommended
to run the server. However, computers may not available in some special cases, for
instance, robots. While in stand-alone model, there is always only one embedded
system that accomplishes the given tasks.
In recent years, mobile devices like tablets and smartphones have been built
increasingly powerful. They have fast processing units, large memory, and network
capability. Due to their capability, together with Web 2.0 technology and mobile
apps, these embedded systems have been largely used in knowledge-related
activities. For example, a real estate agent might use an iPad to evaluate the state of a
property: The agent checks the apartment, and uses the iPad to fill out forms for
property inspection, and makes decisions on items in need of maintenance, repair, or
replacement. Therefore, tools that can enable active KM on these embedded systems
are demanded. Figure 4 depicts the conceptual stand-alone model for EOSES.
51
Figure 4. Conceptual Stand-alone Model for EOSES
In this conceptual model, user interacts with apps running on embedded systems
to fulfil the tasks. EOSES service runs behind the apps, and supports the apps to
cooperate with knowledge-related activities and remember users’ behaviour. Every
time when the user makes a decision through the app, EOSES catches it, extracts it,
and transmits it into experiential knowledge, and stores it as a SOE. After learning
from the user, this system is able to participate in decision-making processes, and
give suggestions. Moreover, based on decisions the user made, EOSES can create the
user’s decisional fingerprint and the user’s profile, which can be used further in
activities such as knowledge sharing. For this model, a detailed case study is given in
Chapter 5.
52
2.5
Summary
In this chapter, the concept of the Experience-Oriented Smart Embedded System
is introduced at the beginning. The EOSES is a conceptual platform designed
towards smart knowledge management on embedded systems. The EOSES is based
upon the principles of different computing technologies, namely: knowledge
management, embedded systems, and Cloud computing.
Then, five major features of this platform are presented in the second section of
this chapter as the main concern in the work presented in this thesis followed by the
conceptual architecture of the EOSES. At the end, two conceptual models of EOSES
and their difference are addressed. And more detailed case studies for these two
models will be presented in Chapter 4 and Chapter 5 respectively.
53
3
Experiential Knowledge
Management in EOSES
As mentioned in previous chapters, the Experience-Oriented Smart Embedded
System (EOSES) is built to have five main features in order to solve three common
problems for current knowledge-based embedded systems, i.e. 1) too specific, 2)
does not have standard knowledge representation, and 3) lacking of information
sharing and exchange capabilities. These five built-in main features of EOSES are:
54
Experience-Oriented, Adaptability and Cross-platform Portability, Compactness and
Efficiency, Configurability, and Security and Trust. Moreover, the conceptual fourlayer architecture is designed for EOSES based on these five main features. Each of
the layers in the conceptual architecture copes with some of the three problems to
provide appropriate autonomous capabilities to embedded systems.
This chapter first introduces the novel knowledge representation approach –
Decisional DNA. Then it illustrates relation between layers of the EOSES conceptual
architecture and four main KM concerns, followed by details of the EOSES
conceptual architecture and how it solves these three problems of current knowledgebased systems. At the end of this chapter, initial tests and a brief summary on this
chapter are presented. The main goal of this chapter is to provide a detailed
discussion on how the proposed EOSES solves these three problems mentioned
above, and how it handles data, information, and experiential knowledge, in
embedded systems. Two case studies of the platform’s implementation using
different models will be unfolded in the following chapters.
3.1
Decisional
DNA:
Standard
Knowledge
Representation in EOSES
As mentioned at the beginning of this chapter, there are three common problems
remaining for KM tools. In order to solve these three problems and apply KM to
embedded systems, a standard knowledge representation is essential. The Decisional
DNA as a standard, flexible, and domain-independent, experiential knowledge
representation solution, that allows for knowledge to be acquired, reused, evolved,
55
and shared easily.
The Decisional DNA is a knowledge repository that organizes and manages
formal decision events stored in the Set of Experience Knowledge Structure
(SOEKS) (Sanin et al. 2009). The SOEKS has been developed to acquire and store
formal decision events in an explicit way (Sanin and Szczerbicki 2009a). It is a
model based upon available and existing knowledge, which must adapt to the
decision event it is built from (i.e. it is a dynamic structure that depends on the
information provided by a formal decision event) (Sanin et al. 2009); besides, it can
be represented in XML or OWL as an ontology in order to make it transportable and
shareable (Sanin and Szczerbicki 2006; Sanin and Szczerbicki 2007).
SOEKS is composed of variables, functions, constraints, and rules associated in a
DNA shape, permitting the integration of the Decisional DNA of an organization
(Sanin et al. 2009). Variables normally implicate representing knowledge using an
attribute-value language (i.e. by a vector of variables and values) (Sanin and
Szczerbicki 2009a), and they are the centre root of the structure and the starting point
for the SOEKS. Functions represent relationships between a set of input variables
and a dependent variable; moreover, functions can be applied for reasoning optimal
states. Constraints are another way of association among the variables. They are
restrictions of feasible solutions, limitations of possibilities in a decision event, and
factors that restrict the performance of a system. Finally, rules are relationships
between a consequence and a condition linked by the statements IF-THEN-ELSE.
They are conditional relationships that control the universe of variables (Sanin et al.
2009).
56
Additionally, SOEKS is designed similarly to DNA in some important features.
First, the combination of the four components of the SOE gives uniqueness, just as
the combination of four nucleotides of DNA does. Secondly, the elements of SOEKS
are connected with each other in order to imitate a gene, and each SOE can be
classified, and acts like a gene in DNA (Sanin et al. 2009). As the gene produces
phenotypes, the SOE brings values of decisions according to the combined elements.
Then a decisional chromosome storing decisional “strategies” for a category is
formed by a group of SOE of the same category. Finally, a diverse group of SOE
chromosomes comprise what is called the Decisional DNA (Sanin et al. 2009).
In short, Decisional DNA and SOEKS provide an ideal approach which not only
can be very easily applied to various embedded systems (domain-independent), but
also enable standard knowledge communication and sharing among these embedded
systems.
3.2
Experiential Knowledge Management in EOSES’s
4-layer Architecture
As mentioned before, based on the principle of KM, there are four main concerns
for KM tools: capturing, storage, distribution and reusing knowledge. In the EOSES,
the conceptual four-layer architecture is designed to solve these concerns. These four
layers are: Application Layer, Interface Layer, Management Layer and Knowledge
Repository Layer. The relation between EOSES’s four layers and these four main
KM concerns are as follows (see Figure 5):
57
Figure 5. Relation between EOSES Layers and KM Concerns
• Capturing: Knowledge capturing is the central core of the EOSES. It basically
involves three layers: Application Layer, Interface Layer, and Management
Layer. First, when the user uses an APP to make a decision, a decision event is
triggered from Application Layer. Data and information of this decision event
are then sent to Interface Layer to be collected and sorted. Finally, in
Management Layer, experiential knowledge of this decision event is captured.
• Storage: In order to save captured experiential knowledge, the EOSES relies on
the theory of Set of Experience Knowledge Structure (SOEKS) and Decisional
DNA (DDNA). As introduced in section 1.2.2, the Decisional DNA is a
knowledge repository approach that stores, organizes, and manages formal
decision events stored in the Set of Experience Knowledge Structure (SOEKS).
58
SOEKS has been developed to acquire and store formal decision events in an
explicit way. SOEKS can be represented in XML or OWL as ontology in order
to make it transportable and shareable. Also, by saving decision events in
SOEKS, experiential knowledge inside these events becomes readable and
actionable. In EOSES conceptual architecture, the Knowledge Repository Layer
stores experiential knowledge represented as SOEKS.
• Distribution: Knowledge sharing and distribution are key elements for making
knowledge available to others. In EOSES, XML format is chosen for saving
experiential knowledge represented in SOEKS. By using SOEKS and DDNA,
the EOSES provides standard knowledge sharing and distribution. In addition,
the OWL is also supported by SOEKS and DDNA. This involves Interface
Layer and Knowledge Repository Layer in EOSES conceptual architecture.
• Reusing: Only through knowledge reusing, the information inside knowledge
itself will be taken and used by people. Hence, knowledge becomes valuable. In
EOSES conceptual architecture, the Management Layer and Application Layer
are in charge of reusing knowledge. When the user needs to make a decision,
EOSES searches its knowledge repository, and compares current situations with
previous situations saved in SOEKS, then gives a suggestion or makes a decision
for the user based upon its experience gained through previous similar situations.
3.3
Conceptual Architecture of EOSES in Details
As proposed in section 2.3, the conceptual 4-layer architecture is designed for
EOSES. These four layers are: Application Layer, Interface Layer, Management
59
Layer, and Knowledge Repository Layer. Each one of these layers in the conceptual
architecture is engaged with a set of responsibilities and capabilities. This section
discusses the implementation and technique details of this proposed 4-layer
architecture (see Figure 6).
Figure 6. Architecture of EOSES in Details
3.3.1
Application Layer
The Application Layer offers EOSES’s whole functionality access to the end-user.
Also, this layer provides the Adaptability and Cross-platform Portability of EOSES.
60
At this layer, there are applications developed to fulfil different tasks. Instead of
generic applications, custom applications are largely used in embedded systems due
to the diversity of embedded systems’ hardware and software, which causes the first
problems of these three mentioned at the beginning of this chapter, i.e. too specific –
in order to work with custom applications, most knowledge-based tools are
specifically designed only for given embedded systems or even for a particular stage
of a product lifecycle. Adaptability and cross-platform portability thus are rarely
considered during the design and development of these tools. For solving this
problem, EOSES is designed to be capable of working with a range of differentdesigned applications running in various environments without re-designing or redeveloping them. In general, there are three kinds of applications at the Application
Layer:
1) Applications that use EOSES as a third-party software component
By calling EOSES APIs provided at the Interface Layer, any custom application is
able to easily accept knowledge-related services from EOSES which saves a lot of
time and money for companies and allows developers to have ‘knowledge’ and
‘knowledge management’ inside their various applications. A case study using
EOSES as a third-party component in a Smart TV application will be introduced in
Chapter 5.
2) EOSES Applications
Even though applications can access EOSES services via APIs, it is better to mix
EOSES code with applications’ code in some cases. For example, some applications
may have complicated logic, and need to access the EOSES services very frequently;
61
or applications may have restricted limitations, like small memory size. In these
situations, to design and build applications with EOSES code from very beginning of
development may be more efficient and valid. These applications that have been
integrated with EOSES code can be considered as EOSES applications. A case study
of EOSES applications will be presented in Chapter 4.
3) Applications that access EOSES service via Internet.
Apart from calling local APIs, applications can also access EOSES through a set
of Cloud services providing easy-to-use APIs of knowledge capturing, storage,
sharing, and reusing. Developers can easily apply EOSES technology to their own
mobile apps, websites, and products. Also, by using Cloud-computing technology,
applications benefit from the expansion of data processing capability, storage, and
security.
In short, the Application Layer makes accessing EOSES easy and flexible, which
enables various applications (event specifically designed) to have EOSES services
without re-design and re-developing. This layer also brings the Adaptability and
Cross-platform Portability of EOSES.
3.3.2
Interface Layer
The Interface Layer is composed of User Interface, EOSES API, System I/O, and
Integrator. These four components work together to form the interface of EOSES
connecting the platform with its outer environment. This layer not only provides
EOSES APIs of knowledge capturing, storage, sharing, and reusing to applications, it
also offers a range of interaction and communication functionalities. These functions
62
offered by Interface Layer are: system configuration, input/output, query, and system
updating.
• User Interface: The User Interface is developed to enable the interaction
between EOSES and the user. In particular, the user can control, set and
configure the system enabling the Configurability of EOSES, select EOSES
services, give feedback, and interact with the platform by using the User
Interface.
• EOSES API: The EOSES API is designed to allow EOSES to be accessed as a
third-party software component or a Cloud server providing services of
knowledge capturing, storage, sharing, and reusing. Through EOSES API,
knowledge-related services provided by EOSES can be easily applied to mobile
apps, websites, and products. Furthermore, the EOSES API is the key element to
allow the Adaptability and Cross-platform Portability of EOSES provided at the
Application Layer.
• System I/O: The System I/O allows EOSES to communicate with its domain of
operation (i.e. where it is running on). Similar to a PC I/O system, the EOSES
System I/O is designed to enable system input and output to its domain of
operation. Interruptions and memory reading and writing are engaged with
System I/O.
• Integrator: The Integrator works as a data-hub that gathers and organizes data at
the Interface Layer, and then transmits data to the Management Layer for further
processing. There are two kinds of data flowing in the Integrator:
63
(i) Scenario Data. This kind of data is used for capturing experiential
knowledge. In this case, we link each experience with a certain scenario
describing the circumstances under which experience is acquired. Normally, a
scenario comprises values such as the system time, name of a selected service,
ID of the undertaken process/task, user input, outcome, feedback, and other
service information. When a decisional event happens, the Integrator gathers and
organizes the scenario data, and then sends them to the Prognoser for further
processing;
(ii) Messages. Messages are used for communication purposes. When the user
configures the system, the application requests knowledge-related services, the
EOSES responses to the application, the user gives feedback, and all other inner
and outer EOSES interactions are processed as messages. Additionally, the
message may contain scenario data, for example, the Integrator sends scenario
data through messages.
3.3.3
Management Layer
The Management layer is designed as the control central of the EOSES. It is
designed to analyse and route data, manage experiential knowledge, cooperate with
other mechanisms, and administrate the EOSES platform. This layer comprises
EOSES Manager, Configuration Manager, Plug-In Manager, Protocol Manager,
and Prognoser.
• EOSES Manager: It is designed to deal with four main tasks, namely Data
Analysis, Knowledge Exchange Management, Cooperation Management, and
EOSES Platform Management.
64
(i) Data Analysis. It works as a switch that analyses, sorts and routes data. It
transmits data to where data are meant to be according to the type of data (i.e.
Scenario data or Messages), data content, process ID, and system settings.
(ii) Knowledge Exchange Management. It is in charge of knowledge exchange
among different EOSES applications. Cutting-edge technologies, like Cloud
computing, enable different applications to share experiential knowledge.
(iii) Cooperation Management. In order to allow for cooperation among threads
and applications, the cooperation management is designed. For example, in some
knowledge-related activities, there might be more than one thread or one
application involving. The cooperation management is designed to handle this
situation, and enable proper cooperation among threads and applications.
(iv) EOSES Platform Management. It is designed to manage the EOSES
platform including inter and intra-system interaction management, and dynamic
process management. It makes all aspects of EOSES work together.
• Configuration Manager: It is designed to read and write configurations of the
EOSES platform. By working with the User Interface, the Configurability of
EOSES is provided.
• Plug-In Manager: In order to support various applications to use EOSES
services, and expand EOSES functionality, plug-in technology is allowed by
Plug-In Manager, which manages the plug-ins and selects proper plug-ins for
applications.
• Prognoser: The Prognoser is in charge of analysis, inference, knowledge
65
extraction, knowledge creating, knowledge retrieval, and knowledge reusing.
For knowledge capturing, Prognoser captures the decisional event when a
decisional event has occurred, then inferences and extracts the experiential
knowledge in this decisional event, finally creates knowledge and sends the
knowledge to the Knowledge Repository Layer for storage. While in
supporting decision-making by reusing the knowledge, there are three
situations that must be addressed to applications: a) The Prognoser gets the
same scenario in the knowledge repository, and then it will reuse the decision
made previously for its current circumstance; b) The Prognoser does not get the
same scenario, but it gets similar ones. For this situation, the Prognoser will
perform some analyses and then derive a solution to the current circumstance,
apply it and save it as an experience into the knowledge repository; and c) The
Prognoser does not get the same nor similar scenario from the knowledge
repository. It can then ask other similar systems for help if a connection is
available, otherwise, it will return a default result.
3.3.4
Knowledge Repository Layer
Knowledge as the most valuable source is stored and managed at this layer. The
SOEKS and Decisional DNA technology is used to store and organize knowledge of
EOSES. This layer provides functionality of access, storage, and administration of
experiential knowledge of EOSES; also the SOEKS and Decisional DNA technology
offer the features of Compactness and Efficiency, and Security and Trust of EOSES.
There are Repository Manager, Decisional DNA Repository, and Convertor at this
layer:
66
• Repository Manager: The Repository Manager manages the Decisional DNA
Repository, including reading, saving, searching, removing, editing, and
moving experiential knowledge in Decisional DNA Repository. Moreover, it
provides access interface responding queries from the Management Layer.
• Decisional DNA Repository: The Decisional DNA Repository is designed to
store user’s experiential knowledge. It is composed of numerous Decisional
Chromosomes. The Decisional Chromosome is developed to gather and store
Decisional DNA genes within each category, capturing the user’s decisional
“strategies”. A Decisional DNA gene carries a single decisional event (i.e. a
SOE) and can be represented by a set of XML tags introduced by Maldonado
Sanin (2007) to store Decisional DNA in XML files.
• Convertor: In EOSES, as mentioned, experiential knowledge is stored as
SOEKS in XML files. The Convertor is designed to translate knowledge stored
in XML files into SOEKS knowledge statements in knowledge retrieval
activities.
3.4
Initial Tests and Results
This section presents the initial experimental prototype of EOSES and the results
obtained in this first set of experiments.
3.4.1
Experiment Goal and Design
The goal of the initial experiments is to validate the three of five main features of
the EOSES, i.e. 1) Adaptability, 2) Compactness and Efficiency, and 3)
67
Configurability.
A test application was developed using the Server-based Model, and implemented
on a LEGO® Mind-storms® NXT 2.0 robot (LEGO 2012), equipped with a 48 MHz
ARM7 microcontroller, a 256KBytes FLASH, a 64KBytes RAM (McNally et al.
2007), and colour sensor. Since the Decisional DNA is defined in Java (Maldonado
Sanin 2007), LeJOS is burnt into NXT 2.0 as the firmware. The LeJOS is a Java
programming environment for NXT® robots (LEJOS 2012).
In this experiment, the assumption is that there is a map with three lines drawn in
different colours, namely green, blue, and black, and each line ends at a terminal spot
drawn in different colours - yellow, red, yellow respectively (see Figure 7). The
robot should to gain its own experiential knowledge about these three lines after
following these three lines one by one, and save the knowledge gained in SOEKS.
Figure 7. The Test Map
68
To test the idea, a compact tailor version of SOEKS is designed to store the
experience, which shows that the EOSES can be easily customized in order to adapt
to different applications. In comparison with normal SOEKS, there are only three
Variables inside, and no Functions, Constrains, and Rules. These three Variables
store each line’s information of: 1) line colour, 2) time consumption to finish the
line, and 3) colour of the terminal spot.
For these experiments, two questions are designed to test the Compactness and
Efficiency: 1) what is the file size of each SOEKS, which is related to Compactness;
2) how much time it takes to query the experience, which is related to Efficiency.
While for Configurability, which is going to be tested by switching between two
modes by user configuration: First, the robot is set on Training Mode to learn the
lines one by one: It follows every line and gathers information of these lines. After
training, by configuring the robot through a human interface, the user can switch the
robot’s operation mode to Testing Mode, in which a test program runs automatically,
and prints out Query Time on the screen of the robot.
3.4.2
Experimental Results
As presented, the Adaptability and the Configurability were tested through tailor
version SOEKS and two different configurable running modes respectively. The test
results of Compactness and Efficiency are as following:
• Compactness: Each compact version SOEKS takes 1,082 bytes of memory
space, which is less than a simple full version of SOEKS (3,425 bytes). In the
full version of SOEKS, there are only 2 Variables, 2 Functions, 2 Constraints,
and 1 Rule.
69
• Efficiency: To test the efficiency of EOSES, the test program queries the
SOEKSs looking for the experience storing information about the red terminal
spot. Due to the memory limitation of the robot, a maximum of ten SOEKSs
are stored in the robot. In the best case, the first SOEKS is the one that the test
program is looking for, while in the worst case it is the last SOEKS.
Figure 8, shows the time consumption in best cases, including loading and parsing
XML files. The test program ran 10 times in best cases, and got the average time
consumption for best cases of 270.6 milliseconds.
Figure 8. Time Consumption of the Test Program in Best Cases
Figure 9, shows the time consumption in worst cases, including loading and
parsing XML files. The test program was also run 10 times with the result for the
worst cases of 2693.5 milliseconds on average. This was nearly 10 times the best
case, because in the worst cases, the test program loads, parses, and compares all 10
SOEKS to find the meant experience.
70
Figure 9. Time Consumption of the Test Program in Worst Cases
3.5
Summary
In this chapter, a detailed introduction of the Experience-Oriented Smart
Embedded System conceptual architecture with initial experiments is presented.
Starting with the knowledge representation solution – Decisional DNA, then the
relation between EOSES conceptual architecture layers and knowledge-related
services of knowledge capturing, storage, distribution, and reusing is presented at the
beginning. Followed by a discussions of EOSES conceptual architecture in this
section, a system design diagram for EOSES 4-layer architecture illustrates the
implementation and technique details of EOSES, and explains how each of the
EOSES four layers carry five proposed main features of EOSES, and how EOSES
solves three current problems for knowledge-based systems.
At the end of this chapter, a set of initial experiments and results are presented, in
which three of the five main features of the EOSES are examined. These three
EOSES’s features are: 1) Adaptability, 2) Compactness and Efficiency, and 3)
71
Configurability. By using the standard, flexible, easy-to-share, and domainindependent experiential knowledge representation solution – Decisional DNA, the
EOSES is adaptable to any embedded systems, which also solves the three common
problems current knowledge-based embedded systems are facing. And through a
customized version of SOEKS, the compactness and efficiency of EOSES is tested.
The results are acceptable, especially considering its test platform: a 48 MHz ARM7
microcontroller, a 256KBytes FLASH, plus a 64KBytes RAM. Also, the
configurability was tested through switching the robot’s operation between modes by
user configuration.
72
4
A Server-based Application: EOSES
Applied to Robotics
As mentioned in section 2.4 of chapter 2, the Server-based Model is one of the
two conceptual models designed to handle different situations in the ExperienceOriented Smart Embedded System (EOSES). The conceptual Server-based Model is
designed for enabling smart experiential knowledge management on systems that
have more than one embedded system/peripheral/sensor working together,
73
functioning as one single system, such as smart buildings and robots. In this
conceptual mode, a server is required as the core part that controls the whole system.
Apart from managing the system, the server extracts and captures experiential
knowledge from all kinds of data, information, and knowledge transmitted from
different peripherals, sensors, and sub embedded systems participated in the
knowledge related processes in the system. Also, the server is in charge of saving,
sharing, and reusing knowledge.
Robots are playing a more and more important role in today's industry. They are
designed to assist, or replace human beings in the execution of tasks, in regards to
both physical activities and decision-making. One of the long-standing goals of
research in robotics is to build a robot that captures experience through day-to-day
tasks, and reuses this experience to improve the robot’s task performance ability in
performing similar tasks (Berenson et al. 2012). The EOSES is designed to enable
its’ domain to capture, store, evolve, reuse, and share experience through daily tasks.
Also, the Robots are built with embedded computer systems, numerous actuators and
sensors, which are perfect potential platforms for the EOSES Server-based Model.
Therefore, this application of EOSES applied to robotics is proposed.
This chapter presents the case study of applying EOSES to robotics with Serverbased Model. Firstly, a theoretical background on robotics is presented, along with
some practical robotic applications in the fields of healthcare, autonomous control,
and manufacturing. Secondly, the application of EOSES applied to robotics is
discussed, in which the details of the application’s design and implementation are
illustrated. At the end of this chapter, experimental tests and brief summary are
drawn.
74
4.1
Background and Motivation
Nowadays, robots have been widely used in many different fields, such as
manufacturing, space exploration, military, and healthcare, just to mention a few.
Robots are not only capable of performing numerous different operations and tasks;
also they can work under special, risky, rough, and dangerous conditions. As robots
are reaching into new aspects of our life by providing close physical assistance to
humans, a strong demand for building autonomous robots arises. The successful
development of autonomous robots apparently requires capabilities of making
decisions and acting properly by the robot itself. The ability for robots to learn task
knowledge from previous task experience is expected (Medina et al. 2011).
4.1.1
What is a robot and what is robotics?
Yet there is no single common-accepted definition of robots, different countries
may define the concept of robot differently. In general, a robot is an electromechanical machine, which is designed and meant to be controlled by a computer
running some type of programs or a similar device. In American standards, a robot
must be a device that can be easily reprogrammable (Niku 2010; Wikipedia Robot
2012). Therefore, by simply changing the program, a robot should be able to perform
many different tasks and operations without having to be redesigned. The robots can
be classified into two different types based on a robot’s fundamental feature, i.e.
mechanical structure: robot manipulators for those with a fixed base, and mobile
robots for those with a mobile base (Siciliano et al. 2011).
Robotics, in different forms, has been on human minds for a long period (Mason
2012; Garcia et al. 2007). Robotics is considered as the research of those machines
75
that can replace human beings in both the operation of physical activities, and
decision-making. In other words, robotics can be recognised as an interdisciplinary
subject concerning the cultural areas of computers, electronics, mechanics, and
control. It is the science of studying the intelligent connection between action and
perception (Siciliano et al. 2011). Robotic systems involve not only robots, but also
other systems and devices cooperated with the robots. “Robotics is the art,
knowledge base, and the know-how of designing, applying, and using robots in
human endeavours” (Niku 2010).
4.1.2
Experience-based Robot Learning
A long-standing goal of research in robotics is to build a robot that captures
experience through day-to-day tasks, and reuses this experience to improve the
robot’s task performance ability in performing similar tasks. In recent years, more
and more efforts have been made by researchers to make learning-by-doing robots.
Several experience-based researches and theories in robotics can be found in
literature.
Berenson, Abbeel, and Goldberg (2012) proposed a framework that is able to
learn and improve with experience, called Lightning. This framework is designed for
planning paths in applications ranging from domestic assistance to robot-assisted
surgery, with the aim of reducing computation time. There are two modules in this
framework running in parallel: The Planning-from-Scratch module, and the Retrieveand-Repair module. The key part of the Lightning framework is the Retrieve-andRepair module, which retrieves and repairs paths stored in a path library. After a path
is generated for a new query, a library manager decides whether to store the path
76
based on the generated path’s similarity to the retrieved path and computation time.
Two heuristics that exploit two key aspects of retrieving an appropriate path from the
library are used in their framework: (i) A correlation between the amount a path
violates constraints and the amount of time needed to repair that path, and (ii) the
implicit division of constraints into those that vary across environments in which the
robot operates and those that do not. After evaluation and tests, Berenson et al. found
that the module reusing previous experience (i.e. the Retrieve-and-Repair module)
was faster than the other module not reusing experience in path planning. Nemec,
Vuga, and Ude (2011) presented an approach expanding and refining the database of
sensorimotor knowledge by exploiting previous experience. There are three stages in
their approach: At the first stage, an initial control policy suitable for a new situation
is realized from generalization of previous trained movements. This first
approximation can be improved at the second stage by using learning on the
manifold defined by the previously acquired training data. This enables for
reinforcement learning in a state space of reduced dimensionality. Finally, at the
third stage, the desired control policy is accomplished by exploring the solutions
outside of this training manifold in the full state space. Their proposed approach was
evaluated in simulation as well as with a real robot in a ball throwing experiment.
The experimental results showed that their approach could result in faster learning
rates. Pastor et al. (2011) proposed a general framework that uses sensor experience
form previous successful trials to achieve very contact-reactive motions for
autonomous robotic grasping and manipulation. By reusing previous experience,
their approach is able to systematically compensate for unforeseen perturbations in
future trials, which significantly increases the region of successful grasps. It also
allows for creating very compliant behaviours for contact interaction with the
77
environment. Median et al. (2011) proposed a cognition-enabled control framework
that enables a robotic assistant to enrich its own experience by acquisition of human
task knowledge during joint manipulation. Their framework was implemented on a
full- scale robot and evaluated in a classic-car restoration scenario where a human
carried a car’s bumper multiple times from a starting position to a final position in
three semantically different ways. The results showed great promise for the
applicability of their approach to a wider selection of more complex tasks. For more
examples of reusing experience in robotics, please refer to works from Sheh, Hengst,
and Sammut (2011), Nicolescu and Mataric (2001), Goel et al. (1993), Beetz et al.
(2004), and Stulp et al. (2009).
4.2
EOSES Applied to Robotics
This section presents the application of EOSES applied to robotics. It comprises
three parts: 1) Application description, 2) Robot hardware, 3) System design and
implementation.
4.2.1
Application Description
As mentioned above, the EOSES Server-based Model is designed for enabling
smart experiential knowledge management on systems that have more than one
embedded system/peripheral/sensor working together functioning as one single
system. Robots are usually composed of embedded computer systems, controllers,
processors, numerous actuators and sensors. For mobile robots, they can have wheels
and legs. They are ideal platforms for applying EOSES Server-based Model. In order
to test the usability of EOSES, the EOSES Server-based Model is applied to robotics.
78
In this application, an initial map learning and path planning EOSES application,
called Line Follower, is designed based on the test prototype introduced in section
3.4: the EOSES applied robot is capable of gaining experiential knowledge about
maps through integrated and organized sensor data, and then reuses its knowledge for
path choosing in the future. The Line Follower application is designed as the EOSES
‘Server’, and it can run the robot in two different modes:
• Training Mode: The robot follows every path on a map one by one in order to
learn and gain experience of these paths under the supervision of human beings.
After training, the robot will have experiential knowledge about the map’s paths.
• Testing Mode: In this mode, the robot’s knowledge about the map is tested. An
assumption destination will be given to the robot, and the robot should pick the
right path to follow down to its destination by reusing previous knowledge
learned through the Training Mode.
4.2.2
Robot Hardware
As the hardware platform, the LEGO® Mind-storms® NXT 2.0 robot is chosen as
the platform for implementation of the Line Follower application. The robot
comprises one LEGO Brick, two Servo Motors, one Ultrasonic Sensor, and one
Colour Sensor (LEGO 2012) (see Figure 10).
79
Figure 10. System Composition of the Line Follower Application
• LEGO Brick: The LEGO NXT Intelligent Brick is the computing central of the
robot working as the ‘brain’. This is also where the EOSES ‘Server’ (i.e. the
Line Follower application) is running. Inside the Brick, there is a powerful 32bit 48 MHz ARM7 microcontroller, a 256KBytes FLASH, and a 64KBytes
RAM (McNally et al. 2007). The Brick supports Bluetooth wireless
communication, which brings the possibility of knowledge sharing among
similar robots. Outside the Brick, there is one USB 2.0 port, four input ports,
three output ports, and a human interface comprising of four function buttons,
and one LCD display. In addition, the Brick is powered by 6 AA (1.5v) batteries.
• Servo Motor: The Servo Motor has a built-in rotation sensor that measures
distance and speed, and communicates with the NXT Intelligent Brick. It allows
for precise steps and total motor control within one degree of accuracy. In this
application, two Servo Motors are used to drive the robot’s movements.
• Ultrasonic Sensor: The ultrasonic sensor helps the robot judge distances and
80
"sees" where objects are. It is able to detect an object and measure its proximity
in inches or centimetres. In this application, the ultrasonic sensor is used to
detect the border of the map in experiments.
• Colour Sensor: The colour sensor enables the robot to distinguish a range of
bright and pastel colours. In order to mark every path and spot to look different
to the robot, five unique colours are used to draw the paths and spots on the
maps. With the help of the colour sensor, the robot is capable of reading and
distinguishing paths and spots drawn on the maps. Also, the colour sensor is
used to detect, and follow the path.
4.2.3
System Design and Implementation
As introduced above in section 4.2.2, the LEGO NXT Robot has a limited
computing resource. In order to reduce resource consumption, and optimize
application performance, direct EOSES access is used rather than calling EOSES
APIs. In other words, the EOSES is customised and integrated with other codes of
the Line Follower application. This means the Line Follower application is designed
as the second of these three EOSES application types, i.e. the EOSES Application. In
addition, the SOEKS API was used in order to manipulate the SOEKS structures.
The SOEKS API is a Java library developed by the Knowledge Engineering
Research Team of The University of Newcastle, Australia (KERT 2012).
Since EOSES is developed in Java, the Line Follower application is implemented
using Java 6 (Oracle 2012). In order to support running Java applications (i.e. the
Line Follower application), the LeJOS, a Java programming environment for the
NXT® robot, is burnt into NXT 2.0 as the firmware (LEJOS 2012). The system
81
architecture of Line Follower application is illustrated in Figure 11.
Figure 11. System Architecture of the Line Follower Application
First, through the Human Interface (i.e. four buttons and one LCD on the Brick)
the user can configure the application, set running mode, and read feedbacks. Then,
the application will function according to the user’s settings. By using data gathered
from sensors, the application captures operation experience in training mode, and
reuses this experience in testing mode. There are four main classes in Line Follower
application, namely Line Follower, Follower, FinderUsingSOEKS, and Finder.
Figure 12 presents a simplified class diagram for the application. The diagram shows
the details for the four classes.
82
Figure 12. Simplified Class Diagram for Line Follower
• LineFollower class: It is the main class that manages the whole application. It
communicates with its operation environment, and deals with the user input sent
from Human Interface. The LineFollwer class can be considered as an
implementation combining Application Layer and Interface Layer according to
the conceptual architecture of EOSES. Through LineFollower class, the user can
set system date, set map, choose operation mode, and test the application. Also,
it is the communication centre of the application, and where the application
starts execution.
83
• Follower class: This class is in charge of running the robot in Training Mode. It
guides the robot to find a path and follow that path until it ends. Then it records
the information of the path just followed, and translates the information into
SOEKS for storage. This includes some of the work from the Management
Layer in the EOSES conceptual architecture.
• FinderUsingSOEKS class: When the robot has been trained, the user can
switch the Line Follower from Training Mode to Testing Mode. In Testing
Mode, there are two execution manners: using experience or not using. The
FinderUsingSOEKS is developed to test whether the robot can pick the right
path and follow by using previous experience stored as SOEKS in the memory.
It also performs some functionality of the Management Layer, plus some
functionality of the Knowledge Repository Layer in the EOSES conceptual
architecture.
• Finder class: The Finder class is developed to test how long it takes for the
robot to reach the destination (i.e. the red spot on maps) without using previous
experience. It basically guides the robot in scanning the map, until the red spot is
detected. To avoid the robot running off map, walls along the borders of the map
are built. By using an ultrasonic sensor, the robot can measure the distance to
wall so that it detects the border of the map.
4.3
Experiments and Results
The Line Follower application is developed based on the initial experimental
prototype introduced in section 3.4. In previous experiments, three of the five main
84
features of the EOSES (i.e. Adaptability, Compactness and Efficiency, and
Configurability) were first examined. However, the initial prototype was not fully
developed, as it only printed out experience query time on LCD, but did not reuse
this experience in action. This section presents a set of experiments implemented on
the fully developed Line Follower application to test the usability and performance
of the EOSES to robotics.
4.3.1
Experiment Goal and Design
The goal of the initial experiments is to validate the usability of the EOSES to
robotics. Also, the performance of using EOSES services in self-learning and selfcontrol are tested.
Two 70cm×100cm maps are made for the experiments, namely Map 1, and Map 2
(see Figure 13). There are three paths drawn in different colours (green, blue, and
black) on each map, and every path finishes at a terminal spot. In the experiments,
the assumption is that the robot starts at position A, with spot B as the potential
destination for the robot in Testing Mode. To distinguish different terminal spots,
spot B is drawn in red (the destination), while the other two spots are drawn in
yellow (the normal terminal spots).
85
Figure 13. Experiment Maps for Line Follower
By following the first tests, this experiment is designed to mainly focus on two
questions: 1) Whether the EOSES application can help the robot make decisions
based on previous experience; and 2) What is the performance of reusing previous
experience. For answering the second question, the performance between using
previous experience and not using previous experience in the same application (i.e.
the Line Follower application) was compared. Also, another performance
comparison between the Line Follower and two similar systems on response time is
illustrated as a reference at the end of this section.
To compare the performance between using previous experience and not using
previous experience: First, the robot is set on Training Mode to learn the paths the
map one by one. After training, the robot is set on Test Mode, in which two options
are set for choosing - using previous experience or not using previous experience:
i)
Using previous experience. When using previous experience, the robot will
query its Decisional DNA Repository first before taking any action. Then the
robot finds out which path reaches the destination from querying its
86
experience. Finally, it detects the paths’ colour in order to choose the right one
and once the robot finds the right path, it will follow that path and reach the
destination.
ii) Not using experience. This option is designed to test the robot’s performance
when not using experience. With test results from previous option and this
option, the comparison of the difference between using and not using
experience can be made. A comprehensive map-scanning program was
developed for supporting this option. When the robot does not use experience
or there is no proper experience available, the robot will scan the map until it
finds the red spot (i.e. the destination).
4.3.2
Experimental Results
A) Results of using previous experience and not using previous experience:
A set of experiments testing the Line Follower’s performance of using experience
and not using experience were run 30 times on both map 1 and map 2. Figure 14 and
Figure 15 illustrate the details of time consumption for the tests on map 1. As we can
see, the time consumption is much less and more stable when using previous
experience in comparison with not using previous experience.
87
Using Experience
Not Using Experience
450000
Time Consumption
(milliseconds)
400000
350000
300000
250000
200000
150000
100000
50000
0
Figure 14. Time Consumption Comparison on Map 1
450000
Time Consumption
(milliseconds)
400000
350000
300000
250000
Using Experience
200000
Not Using Experience
150000
100000
50000
0
Min Time
Avg.Time
Max Time
Figure 15. Time Consumption Overall Comparison on Map 1
Figure 16 and Figure 17 show the tests result on map 2. By using previous
experience the robot could reach its destination much quicker than when not using
previous experience. Also, the robots’ performance was more stable in finding its
destination when previous experience was used.
88
Using Experience
Not Using Experience
Time Consumption
(milliseconds)
300000
250000
200000
150000
100000
50000
0
Figure 16. Time Consumption Comparison on Map 2
Time Consumption
(milliseconds)
300000
250000
200000
Using Experience
150000
Not Using Experience
100000
50000
0
Min Time
Avg.Time
Max Time
Figure 17. Time Consumption Overall Comparison on Map 2
B) Results of comparison with a similar system on response time
Response time is always one of the most important issues when referring to
experience-based applications. In order to evaluate the performance of the EOSES
89
applications, the comparison on response time was made between the Line Follower
and two similar systems.
The Random Path Planner (RPP) developed by Barraquand and Latombe (1991)
creates a potential function based on the destination configuration and particular
running environment. This function is then used for searching a path in the
configuration space. Caselli and Reggiani (2000) use RPP in their new approach, the
Experience-based Randomized Path Planner (ERPP) is used for faster path planning.
This new approach stores and reuses the best paths found so far by RPP in previous
planning tasks. In this study (Caselli and Reggiani, 2000), the performance of ERPP
and RPP are compared on an 8 processor Silicon Graphics Onyx2 Infinite-Reality, a
CC-NUMA machine with 650 MB/sec memory bandwidth and 711MB/sec
interprocessor communication bandwidth. Each Onyx2 processor is a 195 MHz
MIPS R10000 with 4 MB cache coupled in processor pair with 1 GB of memory.
For Line Follower application, the response time was measured from the
beginning of a query to the end of the query: First, a timer was set to count time
when a query starts and then the timer stopped counting time when the query was
processed and returned with query result. In this way, the response time was tested
and measured in two different application settings and in two different cases
respectively. The two application settings are: Query the First, and Query the Best.
When the application is set for ‘Query the First’, it returns the result immediately
once it finds the first similar experience can solve the current problem. While for
‘Query the Best’ it explores all experience stored, and comes up with the most
suitable experience for solving the current problem. Moreover, for both settings,
there are best cases and worst cases – in best cases, the first experience explored is
90
the one needed, and in worst cases, it is the last experience.
The tests were
undertaken in both settings and in both cases, 10 times each. Finally, the response
times for Line Follower application was taken as 2087.75 milliseconds, which is the
average time consumption from these two different settings (see Table 1).
Table 1. Response Time of Line Follower
Query the First
Query the best
Response Time
Best Case
264 ms
2682 ms
1473 ms
Worst Case
2705 ms
2705 ms
2705 ms
Average
1482 ms
2693.5 ms
2087.75 ms
For another two similar systems, the response times are testing results reported in
the study (Caselli and Reggiani, 2000). However, due to task complexity difference
and platform difference, this comparison is used for reference only (see Table 2).
Table 2. Response Time Comparison
Approach
RPP
ERPP
Line Follower
Average Response
Time
12.39 sec
4.68 sec
2.09 sec
Processor
195 MHz R10000
x7
195 MHz R10000
x7
48 MHz ARM7
x1
4.4
Summary
In this chapter, the case study of applying EOSES to robotics is presented.
According to the features of robotics, an EOSES application, called Line Follower, is
91
designed and developed under the EOSES Server-based Model, and the performance
of Line Follower robot is tested.
Firstly, a theoretical background on robotics is presented at the beginning of this
chapter, along with some practical robotic applications in the fields of healthcare,
autonomous, and manufacturing. Secondly, the case study of EOSES applied robot,
the Line Follower, is introduced in detail: starting with the application description,
followed by the robot hardware composition, and finally, the application design and
implementation are discussed.
At the end of this chapter, a set of experimental tests and results are outlined in
figures and tables. In the experiments, two questions about the case study, the
EOSES applied robot, are examined and answered. These two questions are: 1)
Whether the EOSES application can help the robot make decisions based on previous
experience; and 2) What is the performance of reusing previous experience. Through
a set of well-designed experiments the test results are gained, which shows that the
EOSES does help the robot make decisions by capturing and reusing experience
through its operation. Also, the test results show that by reusing previous experience,
the Line Follower can perform much quicker and more stable than when it does not
reuse previous experience. In addition, another comparison on response time is
illustrated in tables between the Line Follower and two similar systems as a reference
for the Line Follower’s performance.
92
5
A Stand-alone Application: EOSES
Applied to Digital TV
As mentioned in section 2.4 of chapter 2, the Stand-alone Model is another model
of the two conceptual models designed to handle different situations in the
Experience-Oriented Smart Embedded System (EOSES).
Unlike the conceptual
Server-based Model, in which one single task is accomplished based on cooperation
of several different embedded systems, the conceptual Stand-alone Model is
93
designed for situations that given tasks are finished in a single embedded system, for
example, watching a movie on a TV set.
In recent years, digital devices have been built increasingly powerful. They have
fast processing units, large memory, and network capability. Due to their capability,
together with Web 2.0 technology and mobile apps, these embedded systems are
widely used in our lives. Through collecting and processing data from activities
when using these devices, valuable information and knowledge can be obtained. By
reusing this knowledge, organizations and individuals can learn from past activities
so that to improve their performance in future similar situations. Moreover, devices
also can reuse this knowledge to assist its user to make better decisions, and quickly
adapt to new situations. Thus, developing new tools for enabling knowledge
management among these devices becomes an interesting and exciting research
opportunity.
This chapter presents the case study of applying EOSES to digital TV with Standalone Model. At the beginning of this chapter, a theoretical background on digital TV
and Interactive TV is introduced, along with some platforms and approaches aiming
for TV services enhancement. Then, the application of EOSES applied to digital TV
is explained with its system architecture. Following in section 2, there are three
sections illustrating three experimental prototypes and test results for improving
movie-viewing service, live TV viewing service, and the use of fuzzy logic to
generate TV user profiles for better user experience, respectively. At the end of this
chapter, brief summaries are drawn.
94
5.1
Background and Motivation
As the progress of digitalization and computerization affects our daily life, the
digital TV is becoming intelligent and interactive, and even becoming a computer.
Many companies and organizations have involved into the development and
implementation of intelligent and interactive TV, like Sun Microsystems, the Digital
Video Broadcasting Project (DVB), Google, and Apple, just to mention a few. In the
meantime, several technologies, such as Java TV (Morris 2002), Google TV (Google
2012), and Multimedia Home Platform (MHP) (Vrba, Cvrk, & Sykora 2006), have
been provided.
Thanks to these existing platforms and solutions, developers can add functions
enabling enhanced digital TV services and better user experience. By capturing the
user’s TV viewing habits and preferences, the TV content provider can offer the user
customized programme suggestions, and tailored advertisements.
5.1.1
Digital TV
Digital television (DTV) is the television broadcasting system that uses digital
signals to transmit program contents. DTV not only delivers distortion-free audio and
video signals; more importantly, it offers much higher radio spectrum efficiency than
analog television does. DTV can also seamlessly integrate with other digital media,
computer networks, and communication systems, enabling multimedia interactive
services and data transmission (Wu et al. 2006).
A) Formats and Bandwidth
Digital television supports a range of different picture formats defined by the
95
combination of interlacing, size, and aspect ratio (width to height ratio). With digital
terrestrial television broadcasting to the world, the range of formats can be broadly
divided into two categories: Standard Definition Television (SDTV) and Highdefinition Television (HDTV). These terms by themselves are not very precise, and
many subtle intermediate cases exist (Wikipedia - Digital Television 2012).
SDTV, by comparison, may use one of several different formats taking the form
of various aspect ratios depending on the technology used in the country of
broadcast. For 4:3 aspect-ratio broadcasts, the 640 × 480 format is used in NTSC
countries, while 720 × 576 is used in PAL countries. For 16:9 broadcasts, the 704 ×
480 format is used in NTSC countries, while 720 × 576 is used in PAL countries.
However, broadcasters may choose to reduce these resolutions to save bandwidth
(e.g., many DVB-T channels in the United Kingdom use a horizontal resolution of
544 or 704 pixels per line) (Latest snapshots - Freeview/DTT bitrates 2012).
HDTV, one of several different formats that can be transmitted over DTV, uses
different formats, amongst which: 1280 × 720 pixels in progressive scan mode
(abbreviated 720p) or 1920 × 1080 pixels in interlace mode (1080i). Each of these
utilizes a 16:9 aspect ratio. (Some televisions are capable of receiving an HD
resolution of 1920 × 1080 at a 60 Hz progressive scan frame rate — known as
1080p.) HDTV cannot be transmitted over current analog channels.
B) Standards
Currently, there are three main DTV standard groups (Wu et al. 2006):
1) The Digital Video Broadcasting Project (DVB), a European based standards
96
organization, which developed the DVB series of DTV standards, standardized by
the European Telecommunication Standard Institute (ETSI) (DVB 2012).
2) The Advanced Television Systems Committee (ATSC), a North American
based DTV standards organization, which developed the ATSC terrestrial DTV
series of standards. In addition, the North American digital cable TV standards now
in use were developed separately, based on work done by Cable Television
Laboratories (Cable Labs) and largely codified by the Society of Cable
Telecommunications Engineers (SCTE) (ATSC 2012).
3) The Integrated Services Digital Broadcasting standards (ISDB), a series of
DTV standards developed and standardized by the Association of Radio Industries
and Business (ARIB) and by the Japan Cable Television Engineering Association
(JCTEA) (ARIB 2012).
C) Reception
There are various ways to receive digital television. One of the oldest means of
receiving DTV (and TV in general) is using an antenna. This way is known as
Digital Terrestrial Television (DTT) (Wikipedia - Digital Terrestrial Television
2012). With DTT, viewers are limited to whatever channels the antenna picks up.
Signal quality will also vary.
Other ways have been devised to receive digital television. Among the most
familiar to people are digital cable and digital satellite. In some countries where
transmissions of TV signals are normally achieved by microwaves, digital
Multichannel Multipoint Distribution Service (MMDS) (IEEE 2012) is used. Other
97
standards, such as Digital Multimedia Broadcasting (DMB) (World DMB 2012) and
Digital Video Broadcasting - Handheld (DVB-H) (Reimers, U. H. 2006), have been
devised to allow handheld devices such as mobile phones to receive TV signals.
Another way is Internet Protocol TV (IPTV) (Yarali & Cherry 2005), which is
receiving TV via Internet Protocol, relying on Digital Subscriber Line (DSL) or
optical cable line.
5.1.2
Interactive Television
Interactive television (generally known as iTV) describes a number of techniques
that allow viewers to interact with television content and services; it is an
evolutionary integration of the Internet and DTV (Schwalb 2004).
The most exciting aspect of an interactive TV is the ability to run applications that
have been downloaded as part of the broadcast stream: this is the major difference
between a basic digital TV box and an interactive TV system. In order to support and
enable interactive applications, the receiver is required to support not only the
implementation of APIs needed to run the applications, but also the infrastructure
needed to inform the receiver which applications are available and how to run them.
Interactive TV has drawn attention from many researchers, organizations, and
companies, and there have been a few efforts and solutions offered by them. Java TV
and Multimedia Home Platform are the two most popular and vibrant techniques in
this field (Morris 2002; Vrba, Cvrk, & Sykora 2006).
A) Java TV
The Java TV is a Java-based software framework designed for supporting digital
98
TV platforms from Sun Microsystems. It brings together a number of the common
elements that are needed in a digital TV platform. These include the core application
model and lifecycle, access to broadcast services (either via Java TV itself or via the
Java Media Framework) and access to service information (Morris 2002).
Most importantly, Java TV is not bound to a specific set of standards for digital
TV. Java TV is explicit, pure, and independent. Because of this, it works equally well
with many solutions for digital TV, such as ATSC solutions, OpenCable solutions,
and DVB-based systems. It gives Java TV a very strong advantage in that
applications written to use Java TV APIs will work on any platform that supports it,
rather than being tied to a specific broadcast system (Morris 2002).
B) Multimedia Home Platform
Multimedia Home Platform (MHP) is an open standard middleware system
designed by the DVB Project for enhanced and interactive digital television (Vrba,
Cvrk, & Sykora 2006).
The MHP enables the reception and execution of interactive, Java-based
applications on a TV-set. Interactive TV applications can be delivered over the
broadcast channel, together with video and audio streams. These applications can be,
for instance, games, e-mail, information services, interactive voting, shopping or
SMS.
MHP defines a generic interface between interactive digital applications and the
terminals, on which those applications execute. This interface decouples different
applications of a provider from specific hardware and software details of different
99
MHP terminal implementations. It enables digital content providers to address all
types of terminals ranging from low-end to high-end set top boxes, integrated digital
TV sets, and multimedia PCs. The MHP extends the existing DVB open standards
for broadcast and interactive services in various broadcasting networks, like satellite,
cable, or terrestrial.
5.2
EOSES Applied to Digital TV
Nowadays, digital TV is rolling on in full force. Thanks to its capability of
transmitting digital data along with the audiovisual contents, the TV program
providers can interact with their viewers by offering customized applications, which
run at their viewers’ set-top boxes or inside the TV. In order to capture, reuse, and
share viewers’ TV-viewing experience, and improve digital TV products’ user
experience, the EOSES is applied to digital TV, called the Decisional DNA Digital
TV (DDNA DTV). This also examines and demonstrates the five main features of
the EOSES. In addition, this application is designed and developed based on the
EOSES conceptual 4-layer architecture, using Stand-alone Model.
The DDNA DTV is designed as an experiential knowledge-based framework that
allows digital TV sets, set-top boxes, and Smart TV systems to capture, reuse, and
share users’ TV viewing experiences. Generally, the DDNA DTV deals with two
kinds of content on TV: movies, and programmes. It uses the SOEKS and Decisional
DNA to store the users’ viewing experience. The DDNA DTV consists of the User
Interface, the System I/O (input/output), the Integrator, the Prognoser, the Convertor
and the Decisional DNA Repository (see Figure 18).
100
Figure 18. System Architecture of DDNA DTV
• User Interface: User Interface is developed to interact with the user. In
particular, the user can control, set and configure the system, select services,
give feedback, and interact with the service providers by using User Interface.
• System I/O: System I/O allows DDNA TV to communicate with its domain of
operation (i.e. a TV player or a Smart TV). The System Input tells DDNA TV
which service is selected, for example, what movie is playing, what feedback
was given, etc, while the System Output sends information to its domain, like
101
programme suggestions based upon the user’s viewing experience.
• Integrator: Integrator is the place where the scenario data is gathered and
organized. In our case, we link each experience with a certain scenario
describing the circumstances under which experience is acquired, such as the
system time, name of a selected service, user input, and other service
information. Integrator gathers and organizes the scenario data, and then sends
them to the Prognoser for further processing.
• Prognoser: Prognoser is in charge of sorting, analysing, organizing, creating
and reusing experience. It sorts data received from the Integrator, and then
analyses and organizes the data. Finally, it interacts with the Decisional DNA
Repository and the Convertor in order to store or reuse experience according to
different tasks.
• Convertor: Convertor translates organized information into SOEKS knowledge
statements. Also, Convertor retrieves knowledge from SOEKS, and sends
retrieved knowledge to Prognoser for reusing.
• Decisional DNA Repository: Decisional DNA Repository is the core software
component that stores and manages user’s experiences. It is composed of a
Repository Manager and numerous Chromosomes:
a) Repository Manager: Repository Manager is the interface of the Decisional
DNA Repository. It answers operational commands sent by Prognoser and
manages Chromosomes.
b) Chromosomes: Chromosome gathers and stores Decisional DNA genes within
102
each category, capturing the user’s decisional “strategies”. A Decisional DNA
gene carries a single decisional event (i.e. a SOE) and can be represented by a
set of XML tags introduced by Maldonado Sanin (2007) to store Decisional
DNA in XML files.
5.3
DDNA DTV Prototype 1.0
This section presents the initial version of the prototype for the DDNA DTV
(DDNA DTV 1.0), which captures and reuses the user’s movie-viewing experience
to provide smart movie recommendations. Also, the results obtained in the first set of
experiments are illustrated at the end of this section.
5.3.1
Application Description
In DDNA DTV 1.0, the EOSES is applied to Java TV in order to capture, and
reuse the TV user’s movie-viewing experience. As introduced in section 5.1.2, Java
TV, as a Java-based software framework, is designed for supporting digital TV
platforms from Sun Microsystems. A number of common elements that are needed in
a digital TV platform are combined into Java TV. Most importantly, Java TV is not
bound with specific digital TV standards - it is explicit, pure, and independent, which
enables Java TV to work equally well with a number of different solutions for digital
TV. As a result, Java TV is thus been chosen as the platform for this prototype.
As the initial prototype version, the DDNA DTV 1.0 was developed using the
Java TV SDK working with NetBeans 6.8 on a DELL Latitude ES400 laptop. In
addition, the SOEKS API was used in order to manipulate the SOEKS structures. As
presented in Chapter 2, the EOSES defines four basic layers: Application Layer,
103
Interface Layer, Management Layer, and the Knowledge Repository Layer. The
initial version of the application includes basic features and functionality for the
EOSES. Figure 19 shows the initial class structure for this application.
Figure 19. Simplified Class Diagram for DDNA DTV Prototype 1.0
The UserInterface provides the user with the movie recommendation interface that
shows movie suggestions, and allows the user to choose movies to watch. As the user
keeps selecting and watching movies, Integrator starts to collect the user’s movie
104
choices, and sends this information to Prognoser. The Prognoser then abstracts and
captures the user’s movie-viewing experience. Once this system has more than a
certain amount (which is configurable) of the user’s movie-viewing experience, it
reorganises the movie recommendation interface to suggest movies according to the
previous gained experience.
5.3.2
Simulation and Experiments
At this very initial stage, the prototype is designed to capture the viewer’s
watching preference for movie type only, and reuse captured experience for movie
suggestions. To test this prototype, a set of experiments was made in a simulation
environment in Java TV SDK. The assumption is that there are five types of movies,
namely action, adventure, animation, comedy, and crime. Each movie is recognised
by its type and an ID number, for example Action1, Comedy2 and there are 20
movies for each type. At the beginning, the system recommends movies by movie
type equally: two movies for each movie type (see Figure 20).
Figure 20. Screenshot of the Default Movie Suggestion Interface
105
Figure 21. A SOEKS of a Watched Movie
As the viewer watches movies, the system captures the viewer’s movie-viewing
experience which is carried by seven variables: Movie Name, Director, Watch Date,
Watch Time, Ranking, Type, and Viewer. Movie Name and Director are used to
indicate which movie the viewer watched. Watch Day and Watch Time store date and
time when the movie is watched. Ranking shows how the viewer liked the movie.
106
Type illustrates what kind of movie it is. Viewer saves the name of user. These seven
variables are gathered and organized by the Integrator and then sent to the Prognoser;
and finally, they are stored as a SOEKS in XML format (see Figure 21). Once the
system has more than ten SOEKSs (this number is configurable), it begins to analyse
the
viewer’s
movie-viewing
preference,
and
gives
the
viewer
better
recommendations according to analysed settings.
In the experiments, a viewer is set as: Tom who likes to watch action movies
every Saturday night as shown in Table 3.
Table 3. Tom’s Movie Viewing Records
Movie Name
Watch Day
Watch Time
Ranking
Type
Action1
Saturday
19:35
7
Action
Action2
Saturday
20:02
9
Action
Action3
Saturday
20:13
8.5
Action
Action4
Saturday
19:42
8.7
Action
Action5
Saturday
21:07
8.6
Action
When the Prognoser recommends new movies to Tom, it retrieves Tom’s previous
movie-viewing experience from the Decisional DNA Repository, and analyses the
experience according to system settings. In this experiment, the system is set to
recommend a movie based on the preference order of movie types, and what day in a
week the viewer usually watches them.
As mentioned above, every time, the system recommends 10 movies to Tom.
After learning from Tom’s movie-viewing experience, the system starts to reallocate
the quota of each type of movie for the new 10-movie recommendation list: it adds
107
more movies in from Tom’s preferred movie types, while reducing the amount of
movies from those types that Tom does not like. Equation (1) demonstrates how the
system allocates the quota for each movie type in the new movie recommendation
list.
N = ( T × 100 / D + 5 ) / 10
(1)
N represents how many movies should be recommended from a certain movie
type; T represents how many movies have been watched from a certain movie type
on a specific weekday; D represents the total amount of watched movies on that
weekday. For example, Tom watched 11 movies in total on Saturdays, and 5 of these
movies were action movies. Therefore, there should be five action movies in the next
recommendation list: (5 × 100 / 11 + 5) / 10 = 5.
As assumed, during a few weeks of capturing experience, the system learns and
knows that Tom watched 5 action movies, 2 adventure movies, 1 animation movie, 2
comedy movies, and 1 crime movie on Saturdays. As a result, the system will
recommend 5 action movies, 2 adventure movies, 1 animation movie, 2 comedy
movies, and 1 crime movie to him for the coming Saturdays. Figure 22 shows a
screenshot of this newly generated movie recommendation list for Tom.
As the experiment results show, the DDNA DTV prototype 1.0 is capable of
capturing and reusing its viewer’s movie-viewing experiences. Most importantly, the
prototype shows that the EOSES can be applied to digital TV, and enable better user
experience of watching TV, as well as potential enhanced TV services.
108
Figure 22. A Newly Generated Movie Recommendation List for Tom
Since the concept of EOSES research is at its early stage, and the main concern of
developing this prototype is to test and demonstrate EOSES’s five main features.
Therefore, this application is very initial, and only examined in a simulation
environment. In the next version, the EOSES is applied to live TV, which makes the
prototype more practical.
5.4
DDNA DTV Prototype 2.0
Based on the initial experimental prototype introduced in section 5.3, the DDNA
DTV prototype 2.0 was developed. In previous experiments, the five main features of
the EOSES were first examined. However, the initial prototype was not fully
developed, which only supported very basic movie-viewing experience management,
and did not apply to live TV viewing. This section presents the further developed
version of the prototype called DDNA DTV 2.0 along with its implementation and
109
experiments.
5.4.1
Application Description
In this version of the prototype, EOSES is applied to live TV viewing, which
provides live TV viewers smart assistance while watching TV. It can suggest
interesting channels to the viewer according to the viewer’s past TV viewing
experience; also it reminds the viewer to watch upcoming programmes/shows that
the viewer usually watches. This research extension explores the possibilities and the
practical implementations for applying EOSES to digital live TV on Android based
embedded systems (Android 2012).
Android is a software stack that consists of a Linux-based operating system, a set
of key applications, and middleware (Android 2012). While Android is primarily
designed for mobile devices such as smartphones and tablets, its nature of open and
customizable architecture allows Android to be used on many other electronics
systems and products (Android Authority 2012). Smart TV is a very good example
of the above usage (Steve 2012). Since Google launched its smart TV product –
Google TV (Google 2012), increasingly more TV manufacturers have entered this
field with their products: Samsung (2012), LG (2012), and Panasonic (2012), just to
mention a few.
However, none of these smart TV products applies intelligent techniques to
support viewer’s decision-making process, and most of them even do not assist live
TV playback. Actually they are more like larger-sized Android tablets rather than TV
sets. To change the above perception the DDNA DTV 2.0 is thus designed and
developed, which represents the first step in an attempt of adding “intelligence” into
110
this field.
5.4.2
System Design
Following the previous prototype, the second version was mainly developed on
functionality for smart management of users’ TV-viewing experiences. In order to
make the DDNA DTV compatible with various TV systems, two new classes were
designed and introduced into the DDNA DTV; these two classes are DDNATVServer
class and DDNATVClient class. With these two classes, the prototype 2.0 can work
as an open API that enables developers to apply DDNA DTV technology to their TV
products, offering knowledge management services to their users. Moreover, the
DDNARManager class was defined and implemented in this version of the
prototype.
Figure 23 presents a simplified class diagram that contains new functionality for
the new experimental prototype. The features for smart experiential knowledge
management were implemented in the EOSES’s four layers defined in Chapter 2.
The DDNATVClient class is the interface for accessing DDNA DTV services. By
importing DDNATVClient class and creating an instance of it, third-party software is
ready to use the services provided by the DDNA DTV. For reminding the user to
watch preferred programmes/shows, the third-party software can also create an
instance of the DDNATVServer class, which will send a programme suggestion
notification to the user’s device when an upcoming programme was often previously
watched.
111
Figure 23. Simplified Class Diagram for DDNA DTV Prototype 2.0
Through DDNATVClient and DDNATVServer classes, the third-party software is
able to access DDNA DTV’s experiential knowledge management services. As a
consequence, the third-party software can capture its users’ TV-viewing experience,
and reuse this experience for smart programme suggestions.
5.4.3
Implementation and Experiments
The second prototype was developed using Java 6 with Android NDK (Native
Development Kit) in Eclipse, and implemented on a Toshiba Shriving Android tablet
(PCWorld 2012). Currently, there are some technique difficulties for receiving and
playing live TV directly on Android devices (Sven 2012). Some complex API is
essential for using DTV tuners, but API is not standardized for Android devices;
also, there are no DTV features included in Android Java API (Vidakovic et al.
112
2012). Thus, instead of plugging a DTV receiver directly in an Android device, we
use a laptop to work with the DTV receiver. By running DTV streaming server
software, the received TV stream is processed and broadcasted to a local network.
Finally, the DTV streaming client running on the Android tablet receives and plays
the TV stream through the WIFI (see Figure 24).
Figure 24. Implementation of the DDNA DTV Prototype 2
In this implementation, a Hauppauge Nova-T USB TV stick (Hauppauge 2012) is
used to receive the digital TV signal. It works with TVHeadend (2012) DTV
streaming server on a laptop. The TVHeadend streams the received digital TV
content to the local network. At the Android side, we use the DDNA DTV-combined
TVHGuide (2012) to receive and play DTV streams on the Toshiba Shriving tablet
running the Android 3.2 operating system. The TVHGuide is a client for the DTV
streaming server – TVHeadend. It is an open-source Android application developed
in Java language. Because both DDNA DTV and TVHGuide are developed in Java
language, it is not hard to make them work together: by importing the DDNA DTV
into TVHGuide project, and instantiating the objects of DDNATVClient class and
DDNATVServer class of DDNA DTV in TVHGuide, the TVHGuide is ready to
communicate with the DDNA DTV.
113
It took several weeks to capture the viewer’s TV watching experience during the
experiment, and more than 60 SOEKSs were initially captured. The DDNA DTV
captured the viewer’s TV watching experience by storing each single TV watching
event. A single TV watching event was taken as the viewer watched a channel for
more than ten minutes. And there were nine variables recorded for each single TV
watching event: Channel ID, Channel Name, Programme, Watch Day, Start Time,
End Time, Type, Description, and Viewer. Channel ID and Channel Name indicates
which channel was watched. Programme stored the name/title of the program. Watch
Day recorded the day of week the channel was watched. Start Time and End Time
stored the start and stop time of the program. Type illustrated the type of program.
Description stored the introduction of the program. Viewer saved the name of the
user.
Once a single TV watching event was taken, those variables were gathered and
sent to the Prognoser by the Client from TVHGuide; then, Prognoser generated
SOEKS statements, and sent the SOEKS statements to the DDNA Repository
Manager; eventually, this TV watching event was stored as a SOEKS in XML format
similar to the SOEKS introduced in section 5.3.
When there is SOEKS in the repository, the DDNA DTV begins to analyse the
viewer’s watching habits, and suggests programs that the viewer usually watches. In
particular, Prognoser retrieves those stored watching experiences from the Decisional
DNA Repository according to Watch Day and it collects all the SOEKS with the
same Watch Day value. Then, it analyses and sorts those experiences by Start Time.
After that, it calculates the similarities of the Start Time between each SOEKS, and
finds out the most watched program for a certain time period. The similarity is a
114
value used to illustrate how similar two Variables are; if the value is closer to zero,
the two Variables are more similar (Sanin & Szczerbicki 2009a). At the end,
according to current time, the Prognoser generates a next-12-hour programme guide
consisting of five most watched programs to the viewer (see Figure 25).
Figure 25. The Next-12-hour Programme Guide
This guide only appears when DDNA DTV is starting up. In the meantime, the
TVHGuide is loading a channel list from local network; hence the background is
black. When the channel list is loaded, the viewer is capable of choosing any channel
he/she wants to watch. Figure 26 shows a screenshot of the interface of TVHGuide
with a channel list loaded.
115
Figure 26. Screenshot of the Interface of TVHGuide with a Channel List Loaded
116
Furthermore, the DDNA DTV 2.0 also enables TVHGuide to remind the viewer
to watch the suggested upcoming programmes. Figure 27 shows a notification sent
by the DDNA DTV to remind the viewer that there will be a preferred programme on
another channel while live TV is playing.
Figure 27. A Programme Notification Sent by DDNA DTV While Live TV Is Playing
5.5
DDNA DTV Prototype 3.0
In the latest version of the prototype, the DDNA DTV is combined with the
TVHGuide, and implemented on a Toshiba Shriving Android tablet. This prototype
enables TVHGuide to capture the user’s live TV viewing experience, and reuse such
experience to suggest programmes to the user. Based on the prototype 2.0, in the
third version of the prototype for the DDNA DTV (DDNA DTV 3.0), functionality
117
of uncertainty modelling and human reasoning is developed. Fuzzy logic deals with
reasoning that is approximate rather than exact and fixed. By applying fuzzy logic
technology to DDNA DTV, human reasoning can be introduced to DDNA DTV’s
knowledge-related processes enabling uncertainty modelling and providing better
inference results. This section presents the DDNA DTV 3.0 along with its initial
implementation that generates the television user’s profile utilising of fuzzy logic. A
user profile refers to the user’s basic information, such as gender, age principles, and
profession.
By using the generated user profile, DDNA DTV services can be
improved in many ways, like customized and adaptable programme suggestions,
classified experience sharing, and tailored advertising.
5.5.1
Fuzzy Logic
The concept of fuzzy logic began with the 1965 proposal of fuzzy sets by Zadeh
(1965). Rather than exact and fixed values used in traditional logic theory, where
binary sets have only two values (i.e. true and false), fuzzy logic may have many
values in a range between 0 and 1. Therefore, fuzzy logic is most suitable for
modelling the uncertainty in human reasoning, e.g. warm, small.
There are three fundamental concepts in fuzzy logic theory, namely fuzzy sets,
linguistic variables, and possibility distributions (Du & Swamy 2006). Let U be a
collection of values between 0 and 1, which could be discrete or continuous. U is
called the universe of discourse, or simply the universe, and u represents the generic
element of U.
Fuzzy Set: a fuzzy set F in a universe U is determined by its membership function
(MF) μF where μF (x) ∈ [0, 1].
118
F = � �u, µF (u)�� u ∈ U }
(2)
A fuzzy set can also be represented by
F=�
∑ni=0
∫U
µF (ui )
ui
µF(u)
u
,
,
if U is discrete
(3)
if U is continuous
Linguistic Variable: a linguistic variable is a variable whose value can be defined
quantitatively using an MF and qualitatively using a linguistic term (Du & Swamy
2006). For example, the speed of a car is a linguistic variable, whose value can be
slow, moderate, and fast.
Possibility Distribution: a possibility distribution is the elastic constraint on the
possible values of the variable imposed when a linguistic variable is assigned to a
fuzzy set.
Fuzzy logic is an effective tool for modelling the uncertainty in human reasoning.
In fuzzy logic, the knowledge of human beings is codified by means of linguistic IFTHEN rules that build up the fuzzy inference systems (FISs). FISs can be used in
many areas such as in data analysis, control and signal processing.
5.5.2
Application Description
Based on the previous version, two new concepts, i.e. User Profile and User
Group Classification, are introduced to the DDNA DTV 3.0 in order to enable
knowledge sharing among users with similar viewing interests, and assist users to
adapt to new DTV systems (such as when users move from one place/country to
another). As already discussed, the user profile refers to the user’s basic information,
119
such as gender, age, and profession. As Comstock et al. (1978) claimed that users
with a similar profile tend to have similar viewing interests and behaviours.
Reversing this logic, the DDNA DTV creates the user’s profile from their viewing
patterns. For example, if a user who watches TV usually on weekdays between 9:00
a.m. and 4:00 p.m., this user can be determined to be a househusband/housewife,
because it looks like this user doesn’t need to work outside the house. Thus, the user
group classification can be generated.
Once the users have been classified, their viewing patterns can be compared with
other users with similar profiles, and viewing suggestions can be made. For instance,
if User A is classified as a housewife, User A will contribute her TV viewing
experience to the Housewife group; additionally, User A will get TV programme
suggestions from the Housewife group. Furthermore, the User Profile and the User
Group Classification can help new users quickly adapt to a TV network through
group experience sharing. Aside from these, there is also potential for tailored
advertising.
5.5.3
Implementation and Initial Tests
To apply fuzzy logic technology to the DDNA DTV 3.0, the fuzzy inference
system (FIS) is introduced. The FIS is a systematic framework that uses fuzzy rules
to map between inputs and outputs, in which the data flow usually goes through three
procedures, namely Fuzzification, Fuzzy Inference, and Defuzzification (see Figure
28) (Du & Swamy 2006).
120
Figure 28. The Architecture of a Fuzzy Inference System
First, the input data is converted into suitable linguistic values or fuzzy sets in
Fuzzification. Then, the Fuzzy Inference process performs simulation of human
reasoning based on its Rule Base and Data Base. The Rule Base defines the mapping
relationship between inputs and an output using linguistic terms; also, it describes
reasoning policy by a set of linguistic IF-THEN logic. While in the Data Base,
necessary definitions of linguistic control rules and fuzzy data manipulation are
addressed (Du & Swamy 2006; Zadeh 1965). Finally, the Defuzzification produces a
crisp output for further use.
The core task of fuzzification is constructing an accurate membership function
(Du & Swamy 2006). In the DDNA DTV 3.0, TV audience related studies
(Comstock et al. 1978) are used to make the first attempt. By measuring when, what,
and how long per week a user usually watches TV, the users can be divided into four
groups: Children, Teenagers, Men, and Women.
In the implementation of the DDNA DTV 3.0, the jFuzzyLogic (2012), a fuzzy
logic tool that allows for intuitive use of fuzzy logic in Java based projects is used as
the FIS. After setting up the membership function according to studies carried out by
Comstock et al. (1978), the DDNA DTV 3.0 is capable of generating the fuzzy User
121
Profile and creating the User Group Classification for its user.
In the initial tests, an assumed user, Jerry, mimics how a child watches TV. After
capturing Jerry’s TV viewing experience for several weeks, the DDNA DTV
generates a fuzzy User Profile for Jerry. Figure 29 shows one of the results of the
fuzzification tests. As the charts illustrates, according to Jerry’s viewing patterns, the
DDNA DTV ascribes Jerry to the ‘Children’ category. And Jerry’s User Profile
could be like: Children = 20.26; Teenagers = 9.71; men = 3.99; women = 3.99.
Figure 29. Results of the Fuzzification Tests
5.6
Summary
In this chapter, the case study of applying EOSES to digital TV is presented.
According to the features of digital TV, an EOSES application, called Decisional
DNA DTV, is designed and developed under the EOSES Stand-alone Model, and
based on the EOSES conceptual 4-layer architecture. Three prototypes are introduced
122
during the development of the DDNA DTV, and for each prototype, there are
implementation and experiments details outlined.
Firstly, a theoretical background on digital TV and Interactive TV is introduced at
the beginning of this chapter, along with some platforms and approaches aiming for
TV services enhancement. Secondly, the application of EOSES applied to digital TV
is explained with its system architecture. Then, by following section 2, three sections
illustrating three experimental prototypes and test results for DDNA DTV are
presented:
In the prototype one, the DDNA DTV is initially implemented and simulated
with Java TV, called DDNA DTV 1.0. This prototype captures and reuses the user’s
movie-viewing experience to provide smart movie recommendations.
In prototype two, the DDNA DTV is developed to be more practical: it is able to
work with third-party TV products, and provide them with TV programme
suggestion capability by capturing and reusing users’ live TV viewing experience.
This prototype is implemented and tested on a Toshiba Shriving tablet with the thirdparty software TVHGuide in live TV playing environment.
In the prototype three, fuzzy logic technology is introduced to enable human
reasoning and uncertainty modelling for DDNA DTV. In the experiential
implementation, two new concepts, i.e. User Profile and User Group Classification,
are added to the DDNA DTV 3.0 in order to enable fast user adaptability and grouporiented knowledge sharing: by using fuzzy logic methods, this prototype can
generate user profile and group the user according to its profile. On the other hand,
by using user profile, the user can adapt to new TV systems quickly by getting TV
123
programme suggestions from users with similar user profiles.
In short, this chapter presents the case study of the EOSES Stand-alone Model,
and illustrates the EOSES’s features of Adaptability and Cross-platform Portability,
and Configurability through different prototype implementations.
124
6
Conclusions and Future Work
Knowledge as a valuable asset is becoming steadily important for organizations
and individuals. It helps organizations and individuals adapt rapidly and react
properly to today’s dynamic environment. Knowledge Management (KM) is the
discipline to enable organizations, and individuals more collectively and
systematically capture, store, apply and share their knowledge, to achieve their goals.
In recent years, embedded systems have been built increasingly powerful, and
have become widely involved in knowledge-related activities. Through collecting
125
and processing data from activities while we use these devices, valuable information
and knowledge can be obtained. By reusing this knowledge, organizations and
individuals can learn from past activities to improve their performance in future
similar situations. Moreover, these devices also can reuse knowledge to assist its user
in making more accurate and effective decisions, by adapting quickly to new
situations.
However, as mentioned in chapter 1 and chapter 2, there are three common
problems for applying previous proposed KM technologies to embedded systems, i.e.
1) they are too specific, 2) they do not have standard knowledge representation, and
3) they lack information sharing and exchange capabilities. Therefore, a new solution
is required to improve existing solutions and support mass customized autonomous
mechanisms on embedded systems. In this document, I propose the ExperienceOriented Smart Embedded System (EOSES) as a technology capable of achieving
this purpose.
6.1
Experience-Oriented Smart Embedded System
(EOSES)
The Experience-Oriented Smart Embedded System (EOSES) is proposed as a new
alternative to support knowledge management for daily operations, especially on
embedded systems. This is achieved by incorporating with the Smart Knowledge
Management System (SKMS) proposed by Sanin and Szczerbicki (2008a).
The EOSES is designed as a new KM technology platform that allows its domain
of operation to capture experiential knowledge from day-to-day operations, and then
reuse the knowledge to improve the domain’s performance in similar situations.
126
Knowledge in the EOSES is stored as SOEKS, and organized as Decisional DNA.
This experience-oriented platform is mainly based on principles of Embedded
Systems, IT, and Knowledge Management. The objective behind this research is to
offer large-scale support for intelligent, autonomous, and coordinated KM on various
embedded systems.
As introduced in chapter 2 and chapter 3, the EOSES is engaged with five main
features in order to archive KM on different embedded systems. These five main
features are Experience-Oriented, Adaptability and Cross-platform Portability,
Compactness and Efficiency, Configurability, and Security and trust. All these
features are carried by a conceptual four-layer architecture of EOSES, which is
composed of Application Layer, Interface Layer, Management Layer, and
Knowledge Repository Layer. Through these four layers in the conceptual
architecture, the EOSES is able to integrate different organizational processes and
various devices as an organic system, and make extensive use of experience-oriented
knowledge management to provide appropriate autonomous capabilities to embedded
systems.
6.2
Achievements Overview
In order to bring ‘intelligence’ to embedded systems, and make a contribution to
the fields of KM and IT, a series of objectives are proposed in chapter 1 of this
thesis. The main goal of the EOSES is to develop a smart platform that would
support decision-making activities for embedded systems through gaining knowledge
by experiencing day-to-day operations.
The major contribution of this research is highlighted as the creation of such a
127
platform for different embedded systems to capture, evolve, and share the experience
of every decision made, as well as proposing an approach which can solve the
previous mentioned three common problems encountered by applying
previous existing KM solutions to embedded systems: 1) EOSES is not bound
to a specific kind of embedded system, it supports KM on various embedded
systems; 2) EOSES uses standard knowledge representation, i.e. SOEKS and
Decisional DNA proposed by Maldonado Sanin (2007); and 3) EOSES
supports knowledge sharing and knowledge exchange among similar or
different embedded systems.
A key difference with traditional approaches is that ‘knowledge’ inside the
EOSES is based upon the idea of Formal Decision Events presented by Sanin &
Szczerbicki (Sanin and Szczerbicki 2008a), which is extracted from capturing the
constant interaction between users and the software applications they use on a daily
basis. In other words, ‘knowledge’ in the EOSES is obtained from embedded
systems’ own experiences rather than from experts or from documents. That is why it
is called ‘experience-oriented’. The feature of learning-by-itself from own
experience also allows EOSES to be built independent, general, and applicable for
most embedded systems because most embedded systems have their own processes
from which knowledge can be extracted.
But, how does the EOSES support embedded systems for capturing, storing, and
evolving experience? This experience-oriented approach follows the macroprocesses defined by the SKMS (Sanin and Szczerbicki 2008a) to extract experiential
knowledge from a variety of embedded and mobile applications based on daily
128
operations, and integrates it into the system. All the experiences are stored in the
respective knowledge bases, as shown by the experimental prototypes outlined in
chapter 4 and chapter 5.
Moreover, thanks to the domain independence and flexibility provided by the
SOEKS (Sanin, Mancilla-Amaya, Szczerbicki, and CayfordHowell 2009), the
SOEKS could be tailored so that mass customization becomes possible in the
EOSES. As presented in chapter 4 and chapter 5, EOSES is applied to two totally
different embedded systems that have different design, different hardware, and
different software, pursuing different goals.
Another achievement of the research presented in this thesis is the proposal of two
conceptual models of EOSES. Based on the variety of embedded systems, the
EOSES has two conceptual models, i.e. server-based model and stand-alone model;
which allow the EOSES to be applied to different embedded systems, and meet with
different system requirements. In chapter 4, a case study of applying EOSES to
robotics is given. By using the server-based model, the EOSES can work with a set
of embedded systems and integrate information sent by these embedded systems to
the server for further processing. While in chapter 5, the stand-alone model is
presented, which deals with applications running on single embedded systems. By
using these two conceptual models, the EOSES is applicable for most embedded
systems in most situations.
In addition, the introduction of fuzzy logic technology brings to EOSES the
capability of human reasoning and uncertainty modelling. This can potentially
improve the inference performance of the EOSES. In section 5.5 of chapter 5, an
129
initial experimental prototype is presented, in which fuzzy logic is used to stereotype
and classify the user so that a series of services is enabled.
6.3
Future Work
Throughout this section, the guidelines for future work have been sketched by
analysing the platform’s initial goal and the platform’s current achievements. As a
result, a series of future research, improvements, and extensions can be completed.
The first step towards the improvement of the EOSES is development of the
remaining elements for the EOSES: as proposed in chapter 3, there should be four
Managers in the Management Layer, i.e. Configuration Manager, Plug-In Manager,
Protocol Manager, and EOSES Manager. However, in the initial stage of
development of the EOSES, these four elements are yet to be created. Continuous
development will allow for a complete deployment of such platform on a large-scale,
which can bring mass autonomous functionality to various embedded systems
without significant modification of embedded software. Also, the development of
these four elements will allow for mass customization and flexibility of applying the
EOSES technology to other platforms and other technologies. With the help of these
four managers, developers can define their own protocols, create new plug-ins,
expand the functionality of the EOSES, and configure the EOSES more easily and
flexibly.
Additionally, given the prospect of advancement of mobile devices, wireless
networking, and Cloud Computing, another idea for future work is the connection
and integration of the EOSES applications using wireless networking and Cloud
130
Computing technologies. This will improve the platform by facilitating knowledge
gathering and sharing among every possible source, and will allow users to access
the platform’s functionality anywhere and anytime. For example, a normal user
nowadays could have many devices that provide multimedia services: the user could
watch online videos through smartphones, watch TV show episodes on tablets, and
watch live TV programmes on TV sets. By using Cloud Computing technology, the
knowledge about the user’s TV viewing preference on different devices could be
shared among each other so that more precise and sufficient knowledge about the
user’s TV viewing preference can be gathered. Also, this knowledge then could be
very easily used on the user’s newly bought devices. Furthermore, as knowledge is
one kind of valuable asset, therefore, a market that trades knowledge as goods could
form in the future. Work on this topic of knowledge sharing is currently being
developed at the University of Newcastle (Mancilla-Amaya, Sanin, & Szczerbicki,
2010a), and the integration of such approach with the EOSES will make a greater
contribution for the development of decision-support systems.
Finally, as the EOSES is a technology approach that involves multiple
technological aspects, the previously presented ideas are just a guideline for the
future development of the EOSES, and are not intended to restrict the development
of the platform. Hopefully, other researchers will find more opportunities and
challenges for future work other than the ones exposed in this thesis.
131
ANNEXES
Annex 1.
Class Diagram for Line Follower
132
Annex 2.
SOEKS Class Diagram for Line Follower
133
Annex 3.
A Sample SOEKS for Line Follower
134
Annex 4.
Class Diagram for DDNA DTV 2
135
Annex 5.
API Class Diagram for DDNA DTV 2
136
Annex 6.
SOEKS Class Diagram for DDNA DTV 2
137
Annex 7.
A Sample SOEKS for DDNA DTV 2
138
139
REFERENCES
1. Akhras, G., 2000, ‘Smart Materials and Smart Systems for the Future’, Canadian
Military Journal, Vol.1, No. 3, pp. 25-32.
2. Almeida, C. (2008). Practical Experience Teaching Embedded Systems. ACM
SIGBED Review, 5(3), 3.
3.
Android
(2012).
Discover
Android.
Retrieved
December
2012
from
http://www.android.com/about/
4.
Android Authority (2012). Android Everywhere: 10 Types of Devices That
Android
Is
Making
Better.
Retrieved
December
2012
from
http://www.androidauthority.com/android-everywhere-10-types-of-devices-thatandroid-is-making-better-57012/
5.
ARIB (2012). The Association of Radio Industries and Business. Retrieved
December 2012 from http://www.arib.or.jp/english/
6. ATSC (2012), the Advanced Television Systems Committee. Retrieved December
2012 from http://www.atsc.org/cms/
7.
Barraquand, J. and Latombe, J. C. (1991). Robot motion planning: a distributed
representation approach. Robotics Research, 10, 628-649.
8. Bellinger, Gene. (1997). "Knowledge Management: Bah Humbug!" (Presentation
at Documation '97, San Jose, CA, February 27, 1997), Internet Whitepaper,
Retrieved
December
2012
from
http://www.systems-
thinking.org/kmbh/kmbh.htm
9.
Berenson, D., Abbeel, P., & Goldberg, K. (2012, May). A robot path planning
framework that learns from experience. In Robotics and Automation (ICRA),
2012 IEEE International Conference on (pp. 3671-3678). IEEE.
140
10. Bergamaschi, R. A., Bhattacharya, S., Wagner, R., Fellenz, C., Muhlada, M.,
White, F., et al., 2001, ‘Automating the Design of SOCs Using Cores’, In IEEE
Design & Test of Computers, pp. 32–45.
11. Cadenhead, R., & Lemay, L., 2002, ‘Sams Teach Yourself Java 2 in 21 Days’,
Sams Publishing.
12. Caselli S. and Reggiani, M. (2000). ERPP: an experience-based randomized path
planner, the IEEE International Conference on Robotics and Automation, 10021008.
13. Comstock G., Chaffee S., Katzman N., McCombs M., and Roberts D. (1978).
Television and Human Behavior. Columbia University Press.
14. Davenport, Thomas H., 1994, ‘Saving IT's Soul: Human Centered Information
Management’, Harvard Business Review, March-April, 72 (2) pp. 119-131.
15. Drucker, P. F., 2003, ‘The New Realities’, Transaction Pub.
16. Duhon, Bryant, 1998, ‘It's All in our Heads’, Inform, September 12 (8).
17. DVB (2012). The Digital Video Broadcasting Project. Retrieved December 2012
from http://www.dvb.org/
18. Du K. -L., Swamy M. N. S. (2006). Neural Networks in a Softcomputing
Framework. Springer London.
19. Frid, Randy J., (2000). ‘Infrastructure for knowledge Management’, iUniverse.
20. Garcia, E., Jimenez, M. A., De Santos, P. G., & Armada, M. (2007). The
evolution of robotics research. Robotics & Automation Magazine, IEEE, 14(1),
90-103.
21. Georges, A., Buytaert, D., and Eeckhout, L., (2007). “Statistically Rigorous Java
Performance Evaluation,” Proceedings of the 2007 OOPSLA conference, Vol.
42, No. 10, Oct. 2007, pp. 57 – 76.
141
22. Goel, A., Donnellan, M., Vazquez, N., & Callantine, T. (1993, May). An
integrated experience-based approach to navigational path planning for
autonomous mobile robots. In Robotics and Automation, 1993 Proceedings,
1993 IEEE International Conference on (pp. 818-825). IEEE.
23.
Google
(2012).
Google
TV,
Retrieved
December
2012
from
http://www.google.com/tv/
24. Hauppauge (2012). Hauppauge Nova-T stick. Retrieved December 2012 from
http://www.hauppauge.co.uk/site/products/data_novatstick.html
25. IEEE (2012). Multichannel Multipoint Distribution Service. Retrieved December
2012 from http://grouper.ieee.org/groups/802/16/
26. Jelovic, D., (2009). Why Java Will Always Be Slower than C++, Retrieved
October 2012 from http://www.jelovic.com/articles/why_java_is_slow.htm
27. jFuzzyLogic
(2012).
Retrieved
December
2012
from
http://jfuzzylogic.sourceforge.net/html/index.html
28. KERT. (2012). The Knowledge Engineering Research Team. Retrieved
December
2012
from
http://www.newcastle.edu.au/school/engineering/research/KERT/
29. Kleidermacher, D., & Kleidermacher, M., 2012, ‘Embedded Systems Security:
Practical Methods for Safe and Secure Software and Systems Development’.
Newnes.
30. Lao, Guoling, Xiao, Luyuan, Wang, Qinyun, and Qin, Zheng. (2008). Research
on organizational knowledge sharing framework based on CAS theory. Paper
read at 2008 International Conference on Service Systems and Service
Management, at Melbourne, Australia, pp. 1-6.
31. Latest snapshots - Freeview/DTT bitrates (2012). Latest snapshots. Retrieved
December 2012 from http://dtt.me.uk/
142
32.
LEGO,
(2012).
What
is
NXT,
Retrieved
December
2012
from
2012
from
http://mindstorms.lego.com/en-us/whatisnxt/default.aspx
33.
LEJOS,
(2012).
Introduction,
Retrieved
December
http://lejos.sourceforge.net/nxt/nxj/tutorial/Preliminaries/Intro.htm
34. Liao, S.H., 2003, 'Knowledge Management Technologies and Applications—
Literature Review from 1995 to 2002', Expert Systems with Applications, vol.
25, pp. 155-164.
35. Li, B. M., Xie, S. Q., & Xu, X., 2011, ‘Recent development of knowledge-based
systems, methods and tools for one-of-a-kind production’, Knowledge-Based
Systems, 24(7), 1108-1119
36. LG
(2012).
Smart
TV.
Retrieved
December
2012
from
http://www.lg.com/global/smarttv/
37. Luciano Floridi (2010). Information: A Very Short Introduction. Oxford
University Press.
38. Maldonado Sanin, C. A., (2007). Smart Knowledge Management System, PhD
Thesis, Faculty of Engineering and Built Environment - School of Mechanical
Engineering, University of Newcastle, E. Szczerbicki, Doctor of Philosophy
Degree, Newcastle, 2007, 177.
39 Mancilla-Amaya, L., Sanín, C., & Szczerbicki, E. (2010a, January). The EDecisional Community: an integrated knowledge sharing platform. In Seventh
Asia-Pacific Conference on Conceptual Modelling (APCCM 2010), Brisbane,
Australia.
40. Mancilla-Amaya, L., Sanin, C., & Szczerbicki, E. (2010b). Smart knowledgesharing platform for e-decisional community. Cybernetics and Systems: An
International Journal, 41(1), 17-30.
41. Marwedel, P., 2010, 'Embedded System Design: Embedded Systems Foundations
of Cyber-Physical Systems', Springer.
143
42. Mason, M. T. (2012). Creation Myths: The Beginnings of Robotics Research.
Robotics & Automation Magazine, IEEE, 19(2), 72-77.
43. Matayong, S., & Mahmood, A. K., 2012, ‘The studies of Knowledge
Management System in organization: A systematic review’, In Computer &
Information Science (ICCIS), 2012 International Conference, IEEE, Vol. 1, pp.
221-226
44. Mazilescu, V., 2011, ‘A Real-Time Algorithm for Intelligent Control Embedded
in Knowledge based Systems’, International Conference on Risk in
Contemporary Economy, ISSN 2067-0532 XIIth Edition, 2011, Galati, Romania.
45. Medina, J. R., Lawitzky, M., Mortl, A., Lee, D., & Hirche, S. (2011, September).
An experience-driven robotic assistant acquiring human knowledge to improve
haptic cooperation. In Intelligent Robots and Systems (IROS), 2011 IEEE/RSJ
International Conference on (pp. 2416-2422). IEEE.
46. McNally M., Klassner F., and Continanza C., (2007). Exploiting MindStorms
NXT: Mapping and Localization Projects for the AI Course, FLAIRS-20 Key
West, FL May, 7–9.
47. Meier, R., 2012, ‘Professional Android 4 application development’, Wrox.
48. Micrium,
2012,
µC/OS-II
Kernel.
Retrieved
October
2012
from
http://www.micrium.com/page/products/rtos/os-ii
49. Miller M., 2010, Top 10 Smartphones of 2010 ... for now. Retrieved October
2012,
from
http://www.zdnet.com/blog/cell-phones/top-10-smartphones-of-
2010-for-now/3854
50. Morris S., (2002). Java TV Tutorial. Retrieved December 2012 from
http://www.interactivetvweb.org/tutorials/javatv/
51. Mulchandani, D., (1998). “Java for Embedded Systems”, IEEE Internet
Computing, Vol. 2, No. 3, May/June 1998, pp. 30-39.
144
52. Myers, P. S., 2012, ‘Knowledge management and organisational design’,
Routledge.
53. Nemec, B., Vuga, R., & Ude, A. (2011, October). Exploiting previous experience
to constrain robot sensorimotor learning. In Humanoid Robots (Humanoids),
2011 11th IEEE-RAS International Conference on (pp. 727-732). IEEE.
54. Nicolescu, M. N., & Mataric, M. J. (2001). Experience-based representation
construction: learning from human and robot teachers. In Intelligent Robots and
Systems, 2001. Proceedings. 2001 IEEE/RSJ International Conference on (Vol.
2, pp. 740-745). IEEE.
55. Niku, S. (2010). Introduction to Robotics. Wiley.
56. O'Dell C., and Hubert C., 2011, ‘The New Edge in Knowledge: How Knowledge
Management Is Changing the Way We Do Business’, WILEY.
57. Oracle. (2012). Java SE 6 Documentation. Retrieved December 2012 from
http://docs.oracle.com/javase/6/docs/
58. Oxford Dictionaries, 2010, ‘knowledge’, Oxford University Press. Retrieved
October
2012
from
http://oxforddictionaries.com/definition/american_english/knowledge
59. Panasonic
(2012).
Smart-Viera.
Retrieved
December
2012
from
http://www.panasonic.com/promos/learn/smart-viera/
60. Pastor, P., Righetti, L., Kalakrishnan, M., & Schaal, S. (2011, September).
Online movement adaptation based on previous sensor experiences. In
Intelligent Robots and Systems (IROS), 2011 IEEE/RSJ International
Conference on (pp. 365-371). IEEE.
61. Pereira C. E., Carro L., 2007, ‘Distributed Real-time Embedded Systems: Recent
Advances, Future trends and Their Impact on Manufacturing Plant Control’,
Annual
Reviews
in
Control,
doi:10.1016/j.arcontrol.2007.02.005.
145
vol.
31,
No.
1,
pp.
81-92,
62. Perls P., 2009, PowerPC Overview. Retrieved October 2012, from
http://titancity.com/articles/ppc.html
63. Petrovan B., 2012, Android Everywhere: 10 Types of Devices That Android Is
Making
Better.
Retrieved
October
2012
from
http://www.androidauthority.com/android-everywhere-10-types-of-devices-thatandroid-is-making-better-57012/
64. PCWorld (2012). Toshiba Thrive 16GB. Retrieved December 2012 from
http://www.pcworld.com/article/235696/toshiba_thrive_review_a_tablet_edges_
closer_to_the_ideal.html
65. Powell M. JC, 2012, iPhone 5 review. ABC Technology and Games,
Retrieved
October
from
2012,
http://www.abc.net.au/technology/articles/2012/10/04/3603570.htm
66. Rajsuman R., 2000, ‘System-on-a-Chip: Design and Test’, Artech House, Inc.,
Norwood, MA.
67. Reimers, U. H. (2006). DVB-The Family of International standards for Digital
Video broadcasting. Proceedings of the IEEE, Vol. 94, Issue 1, pp 173-182,
ISSN: 0018-9219
68. Reinaldo A., Bergamaschi, S. Bhattacharya, R. Wagner, C. Fellenz, M. Muhlada,
William R. Lee, F. White, Jean-Marc Daveau, 2001, ‘Automating the Design of
SOCs Using Cores’, IEEE Design and Test of Computers, vol. 18, No. 5, pp. 3245, doi:10.1109/54.953270
69. Samsung (2012). Let the Smart TV experience begin. Retrieved December 2012
from http://www.samsung.com/us/2012-smart-tv/
70. SanDisk,
About
SanDisk.
Retrieved
October
2012,
from
http://www.sandisk.com/about-sandisk.aspx
71. Sanin, C., Mancilla-Amaya, L., Szczerbicki, E., and CayfordHowell, P., 2009,
‘Application of a Multi-domain Knowledge Structure: The Decisional DNA’, In
146
Intelligent Systems for Knowledge Management, edited by N. T. Nguyen and E.
Szczerbicki: Springer Berlin / Heidelberg, Vol. 252. Original edition, pp. 65-86
72. Sanin, C., and Szczerbicki, E., 2006, ‘Extending Set of Experience Knowledge
Structure into a Transportable Language Extensible Markup Language’,
International Journal of Cybernetics and Systems, Vol. 37, No. 2-3, pp. 97-117
73. Sanin, C., and Szczerbicki, E., 2007, ‘An OWL ontology of Set of Experience
Knowledge Structure’, Journal of Universal Computer Science, Vol. 13, No. 2,
pp. 209-223
74. Sanin, C., and Szczerbicki, E., (2008a). ‘Decisional DNA and the Smart
Knowledge Management System: A process of transforming information into
knowledge’, In Techniques and Tools for the Design and Implementation of
Enterprise Information Systems, edited by A. Gunasekaran. New York: IGI, pp.
149-175
75. Sanin, C., and Szczerbicki, E., (2008b). A Decisional Trust Implementation on a
Maintenance System by the Means of Decisional DNA and Reflexive
Ontologies. Paper read at WI-IAT '08. IEEE/WIC/ACM International
Conference on Web Intelligence and Intelligent Agent Technology, 2008, at
Sydney, Australia, pp. 5-8.
76. Sanin C., and Szczerbicki E., (2009a), ‘Experience-Based Knowledge
Representation: SOEKS’, Cybernetics and Systems 40 (2): 99-122
77. Sanin, C., and Szczerbicki, E., (2009b). Implementing Decisional Trust: A First
Approach For Smart Reliable Systems. Cybernetics and Systems: An
International Journal 40 (2):85 - 98.
78. Schreiber, G., Akkermans, H., Anjewierden, A., de Hoog, R., Shadbolt, N., Van
de Velde, W., & Wielinga, B., 1999, ‘Knowledge engineering and management:
the CommonKADS methodology’, MIT press.
147
79. Schwalb, E. (2004). iTV Handbook: Technologies & Standards. Prentice Hall
PTR, ACM Computers in Entertainment, Vol. 2, Number 2, Article 7, ISBN
0131003127
80. Shankland, S., 2012, Google: 500 million Android devices activated. Retrieved
October 2012, from http://news.cnet.com/8301-1035_3-57510994-94/google500-million-android-devices-activated/
81. Shankland, S. 2007, Google's Android parts ways with Java industry group.
Retrieved October 2012 from http://news.cnet.com/8301-13580_3-981549539.html.
82. Sharma, N., Singh, K., & Goyal, D. P., 2012, ‘Is Technology Universal Panacea
for Knowledge and Experience Management? Answers from Indian IT Sector’,
Information Systems, Technology and Management, 187-198.
83. Sheh, R., Hengst, B., & Sammut, C. (2011, September). Behavioural cloning for
driving robots over rough terrain. In Intelligent Robots and Systems (IROS),
2011 IEEE/RSJ International Conference on (pp. 732-737). IEEE.
84. Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2011). Robotics: modelling,
planning and control. Springer.
85. Stefik, M. J., Bobrow, D., Bell, A., Brown, H., Conway, L., & Tong, C., 1982,
‘The partitioning of concerns in digital system design’, Department of Computer
Science, Stanford University.
86. Steve, H., 2002, ‘Embedded Systems Design, EDN series for design engineers’,
2nd ed., Elsevier Science, p.2
87. Steve Kovach (2012). What Is a Smart TV? Retrieved December 2012 from
http://www.businessinsider.com/what-is-a-smart-tv-2010-12/
88. Sun, Z., and Finnie, G., 2003, ‘Brain-like architecture and experience based
reasoning’, In: Proceedings of the 7th JCIS, Cary, North Carolina, USA, pp.
1735–1738
148
89. Sun, Z., and Finnie, G., 2004, ‘Intelligent Techniques in E-Commerce: A Casebased Reasoning Perspective’, Springer, Heidelberg
90. Sven Killig (2012). Connect USB peripherals to your Nexus One. Retrieved
December 2012 from http://sven.killig.de/android/N1/2.2/usb_host/
91. Toro C., Sanin C., Vaquero J., Posada J., and Szczerbicki E., 2007, ‘Knowledge
based industrial maintenance using portable devices and augmented reality’, In
Knowledge-Based Intelligent Information and Engineering Systems. 11th
International Conference, KES 2007, XVII Italian Workshop on Neural
Networks, Vietri sul Mare, Italy, September 12-14, 2007. Proceedings, Part I,
edited by B. Apolloni, R. J. Howlett and L. Jain: Springer Berlin / Heidelberg,
Vol. 4692/2009. Original edition, pp. 295- 302
92. Tvheadend
(2012).
Overview.
Retrieved
December
2012
from
https://www.lonelycoder.com/tvheadend/
93. TVHGuide (2012). About. Retrieved December 2012 from http://johntornblom.github.com/TVHGuide/index.html
94. VDC Research Group, 2011, Embedded Engineer Survey Results – Programming
languages used to develop software. Retrieved October 2012, from
http://blog.vdcresearch.com/embedded_sw/2011/06/2011-embedded-engineersurvey-results-programming-languages-used-to-develop-software.html
95. Vidakovic, M., Teslic, N., Maruna, T. & Mihic, V (2012). Android4TV: A
proposition for integration of DTV in Android devices. 2012 IEEE International
Conference on Consumer Electronics ICCE, pp. 437-438
96. Vrba, V., Cvrk, L., and Sykora, M. (2006). Framework for digital TV
applications. Proceedings of the International Conference on Networking,
International Conference on Systems and International Conference on Mobile
Communications and Learning, P. 184, ISBN: 0-7695-2552-0
97. Wikipedia. Application Programming Interface (2012). Retrieved December
2012 from http://en.wikipedia.org/wiki/Application_programming_interface
149
98. Wikipedia, Digital Television (2012).
Retrieved December 2012 from
http://en.wikipedia.org/wiki/Digital_television/
99. Wikipedia, Digital Terrestrial Television (2012). Retrieved December 2012 from
http://en.wikipedia.org/wiki/Digital_terrestrial_television
100.
Wikipedia,
Robot
(2012).
Retrieved
October
2012
from
http://en.wikipedia.org/wiki/Robot
101.World DMB (2012). Digital Multimedia Broadcasting. Retrieved December
2012 from http://www.worlddab.org/
102.Wu, Y., Hirakawa, S., Reimers, U., and Whitaker, J. (2006). Overview of digital
television development worldwide. Proc. IEEE, vol. 94, no. 1, pp. 8–21
103.Yarali, A., Cherry A. (2005). Internet Protocol Television (IPTV). TENCON
2005 IEEE Region 10, pp. 1-6, ISBN: 0-7803-9311-2
104.Zadeh L. (1965). “Fuzzy sets”, Information and Control, Volume 8, Issue 3, pp.
338–353
105.Zhou, Z., Wang, H., & Lou, P., 2010, ‘Knowledge-Based System’, In Z. Zhou,
H. Wang, & P. Lou (Eds.), Manufacturing Intelligence for Industrial
Engineering: Methods for System Self-Organization, Learning, and Adaptation,
pp. 13-46. Hershey, PA: Engineering Science Reference. doi:10.4018/978-160566-864-2.ch002
150