Automating Google Workspace (GWS) & more with Apps Script
Architecture design of a virtual embedded system report
1. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
1
1.Introduction
In recent years a technological breakthrough has been witnessed with the classical model of
infrastructure of embedded system .The classical model of the embedded systems are not given
the full features of software and hardware updates .Classical embedded systems are those real
time system which are perform by sensing the environment and achieve the dedicated goal but
not much user friendly so the virtualization layer is added to the embedded system. With the
arrival of virtualization, infrastructure concepts have so profoundly evolved as to be set as
standard planetary clouds called "cloud computing." In addition to cost advantages and
deployment systems, virtualization offers a flexible architecture based on an abstraction layer
between the hardware and the software layers. Embedded systems whose major issue is the
relationship between hardware and software can also benefit from this architecture to avoid
designing embedded systems which are difficult to develop and maintain. Here, it is proposed
that using the concept of virtualization it is possible to design an embedded system enjoying all
the benefits and contributions offered by virtualization.
An embedded system is a hybrid of hardware and software, which combines software’s
flexibility and hardware real-time performance because Embedded Systems is simply the brain
of most of the electronics based systems to access, process, store and control the data.Embedded
systems can be considered as assemblies of hardware and software components .The embedded
systems are using huge amount in industries and workstations so virtualization is really needed
so a system architecture based on embedded virtualization has been proposed .
2. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
2
2. Embedded System & its Characteristics
The present worldis surrounded by computing systems. Every year millions of computing
systems are built destined for desktop computers Embedded Systems (Personal Computers,
workstations, mainframes and servers) but surprisingly, billions of computing systems are built
every year embedded within larger electronic devices and still goes unnoticed. Any device
running on electric power either already has computing system or will soon have computing
system embedded in it. An embedded system is some combination of computer hardware and
software, either fixed in capability or programmable, that is specifically designed for a particular
function. Industrial machines, automobiles, medical equipment, cameras, household appliances,
airplanes, vending machines and toys (as well as the more obvious cellular phone and PDA) are
among the myriad possible hosts of an embedded system.
The increasing demand to integrate consumer electronics and custom applications based on a
broad range of platforms into vehicles is intensifying this problem virtualization is added into the
embedded system. The growing number of instances of breaches in information security in the
last few years has created a compelling case for efforts towards secure electronic systems.
Embedded systems, which will be ubiquitously used to capture, store, manipulate, and access
data of a sensitive nature, pose several unique and interesting security challenges. Today,
embedded systems are found in cell phones, digital cameras, camcorders, portable video games,
calculators, and personal digital assistants, microwave ovens, answering machines, home
security systems, washing machines, lighting systems, fax machines, copiers, printers, and
scanners, cash registers, alarm systems, automated teller machines, transmission control, cruise
control, fuel injection, anti-lock brakes, active suspension and many other devices gadgets.
CHARACTERISTICS
a) Embedded systems are application specific & single functioned; application is known apriori,
the programs are executed repeatedly.
b) Efficiency is of paramount importance for embedded systems. They are optimized for energy,
code size, execution time, weight & dimensions, and cost.
3. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
3
c) Embedded systems are typically designed to meet real time constraints; a real time system
reacts to stimuli from the controlled object/ operator within the time interval dictated by the
environment. For real time systems, right answers arriving too late (or even too early) are wrong.
d) Embedded systems often interact (sense, manipulate & communicate) with external world
through sensors and actuators and hence are typically reactive systems; a reactive system is in
continual interaction with the environment and executes at a pace determined by that
environment.
e) They generally have minimal or no user interface.
2.1. Basic Principle of Embedded system & it’s Structure
The basic principle of embedded systems are organizing or performing one or many tasks
according to a fixed set of rules, program or plan. In other words, an arrangement in which all
units assemble and work together according to a program or plan. An embedded system is a
system is an engineering artifact involving computation that is subject to physical constraints
(reaction constraints and execution constraints) arising through interactions of computational
processes with the physical world. Reaction constraints originate from the behavioural
requirements & specify deadlines, throughput, and jitter whereas execution constraints originate
from the implementation requirements & put bounds on available processor speeds, power,
memory and hardware failure rates. The key to embedded systems design is to obtain desired
functionality under both kinds of constraints has software embedded into hardware, which makes
a system dedicatedfor an application
Figure2.1. structure of embedded system
4. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
4
2.2. General Architecture of embedded system
The general architecture of embedded system is basically three layers .All components of
embedded systems are functioning in this three layers .The embedded systems has application
software, system software and hardware layer .The hardware layer is most important in every
embedded systems.Here the system architecture has been proposed on the basis of embedded
virtualization which will be modeled by the multi-agent systems. In the first part, the state of the
art with respect to embedded systems, multi-agent systems and the concept of virtualization has
been discussed. In the second part, the issues related to traditional embedded systems and the
constraints associated with their architecture has been discussed. Subsequently, a virtualization
based architecture for embedded systems also has been proposed. In the last part a prototype has
been shown by the help of this architecture.
Figure2.2. general architecture of an embedded system
5. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
5
2.3. EXAMPLES OF EMBEDDED SYSTEMS
Embedded systems have very diversified applications. A few select application areas of
embedded systems are telecommunications, smart cards, missiles and satellites, computer
networking, digital consumer electronics, and automotives. A few examples of small scale
embedded system applications are as follows:
Point of sales terminals: automatic chocolate vending machine.
Stepper motor controllers for a robotics system.
Washing or cooking systems.
Multitasking toys.
Microcontroller-based single or multi display digital panel meter for voltage, current,
resistance and frequency.
Keyboard controller
SD, MMI and network access cards
CD drive or hard disk drive controller
The peripheral controllers of a computer, a CRT display controller, a keyboard controller,
aDRAM controller, a DMA controller, a printer controller, a laser printer controller, a
LAN controller, a disk drive controller
Fax or photocopy or printer or scanner machine
Remote (controller) of TV
Telephone with memory, display and other sophisticated features
Motor controls systems- for example, an accurate control of speed and position of the d.c.
motor, robot and CNC machine; automotive applications such as closed loop engine
control, dynamic ride control, and an antilock braking system monitor
Electronic data acquisition and supervisory control system
Electronic instruments, such as an industrial process controller
Electronic smart weight display system and an industrial moisture recorder cum
controller
Digital storage system for a signal wave form or for electric or water meter reading
system
6. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
6
Spectrum analyzer.
Biomedical systems such as an ECG LCD display cum recorder, a blood-cell recorder
cum analyzer, and a patient monitor system.
Computer networking systems, for example, a router, a front-end processor in a server, a
switch, a bridge, a hub and a gateway
For Internet appliances, there are numerous application system (i) An intelligent
operation, administration and maintenance router (IOAMR) in a distributed network and
(ii) Mail client card to store e-mail and personal addresses and to smartly connect to a
modem or server
Entertainment system such as a video game and a music system
Banking systems, for example, bank ATM and credit card transactions
Signal tracking systems for example, an automatic signal tracker and a target tracker
Communication systems such as a mobile communication SIM card, a numeric pager, a
cellular phone, a cable TV terminal and a FAX transceiver with or without a graphic
accelerator
Image filtering, image processing, pattern recognizer, speech processing and a video
processing
Video games
A system that connects a pocket PC to the automobile driver mobile phone and a wireless
receiver. The system then connects to a remote server for Internet or e-mail or to a remote
computer at an ASP (application service provider)
A personal information manager using frame buffers in handheld devices
Thin client [A thin client provides disk-less nodes with remote boot capability].
Application or thin-client accesses to a data centre from a number of nodes; in an Internet
laboratory accesses to the Internet leased line through a remote server.
Mobile smart phones and computing systems
Mobile computer
Embedded system for video, interactive video, broadband IPv6 .Internet and other
products, real time video and speech or multimedia processing systems.
Embedded interface and networking systems using high speed (400 MHz plus), ultra high
speed (10 Gbps) and a large bandwidth: Routers, LANs, switches and gateways.
7. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
7
3. State of the Art
In this part, the overview of the state of the art in terms of multi-agents systems, embedded
systems and virtualizations techniques has been discussed.
3.1. Multi-agent systems
A multi-agent system (MAS) is a system composed of multiple interacting intelligent agents
within an environment. Multi-agent systems can be used to solve problems that are difficult or
impossible for an individual agent or a monolithic system to solve. The multi-agent systems
(MAS) and autonomous agents provide a new method for analyzing, designing and
implementing sophisticated applications because they are part of the IAD domain (Distributed
Artificial Intelligence) also benefiting other disciplines such as cognitive science sociology, and
social psychology. An agent can be seen here, as any entity, hardware or software which
perceives its environment using sensors and act on it using actuators.
Figure3.1.General architecture of an agent in its interaction with its environment
8. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
8
Today, most applications require distribution of tasks between "entities" autonomous (or
semiautonomous) to achieve their objectives in an optimal way. Since traditional approaches are
generally monolithic and their concept of intelligence is centralized, current applications are
established based on multi-agent system.
3.2. Embedded System
An embedded system is a special purpose system in which the computer is completely
encapsulated by the device it controls.Embedded systems reside in machines that are expected to
run continuously for years without errors and in some cases recover by them if an error occurs.
Therefore the software is usually develop and tested more carefully.Embedded systems are
devices or software components and hardware being intimately linked. The interest in embedded
systems is becoming more commonplace with the development of means of communication
(Smartphone, switch-boards, etc...) as well as the permanent need for life easing through
technological means (MP3 player storage data). In Industry, embedded systems are often a
necessary choice for reasons of criticality of safety features and underlying risks (ABS braking
system, alarm and detection, aviation, etc ...). Designed to precise spots, embedded systems bring
several advantages by providing traditional systems based on conventional computers.
3.2.1. Constraints of embedded systems
The main constraints to meet embedded systems which are:
System stability: an embedded system is often dedicated to a precise running,
malfunctions must be mastered.
Mastery of the security, integrity and access: with a minimum of features and services
enabled, an embedded system is designed to be safer.
The cost of production: a computer system can be produced through industrial processes
that greatly limit the cost of production.
Low energy consumption: Unlike a conventional computer, an embedded system has the
minimum resources tailored. Energy consumption is adjusted and optimized.
Responsiveness or response time required in an embedded system often require real-time
systems.
9. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
9
Autonomy: Embedded systems must operate without human intervention to fulfill
automatic tasks.
3.2.2. Design approaches
In the Models design of embedded systems there are two design approaches:
Approach based on the CLASSICDESIGN: the design of software and hardware
components are made by the same engineering team. This approach can lead to
proprietary systems and generally not scalable.
Approach based on CODESIGN: the hardware and software components are designed by
separate teams. The component integration is being done at the end by a joint team. This
approach allows to validate many different components before integrating them, giving
rise to scalable embedded systems.
3.3. Virtualization
Embedded systems are used in many critical applications of our daily life. The increased
complexity of embedded systems and the tightened safety regulations posed on them and the
scope of the environment in which they operate are driving the need of more dependable
embedded systems. Therefore, achieving a high level of quality and dependability to embedded
systems is an ultimate goal So the virtualization is required. Virtualization is all the technical
hardware or software that allows to operate on a single machine multiple operating systems or
multiple applicationsto reduce the size and cost of the product and increase the reliability and
performance.
3.3.1. Principles of Virtualization
10. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
10
It is a Framework or methodology of dividing the resources of a computer into multiple
execution environments.Basically virtualization does Memory Isolation from 'Outside' Provides
(Virtual) Access to Hardware Can Handles Multiple Instances.
Virtualization complies with two fundamental principles that are the partitioning and
transparency.
Partitioning: In partitioning each operating system operates in independency, and
cannot interfere with the other in any way.
Transparency: The act of running in virtualized mode does not change the operation
of the operating system and applications. It allows operating systems, or particular
components of the operating system, to run inside virtual machines without modification.
11. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
11
4. Virtualization Techniques or Solution
There are three main types of virtualization solutions that are insulation, para-virtualization and
full virtualization.
4.1. Insulation
Insulation is a technique that takes place in a single operating system. It allows a system to
separate multiple contexts or environments. Each of them is governed by the host OS, but
programs of each context are able to communicate only with the processes and resources
involved in their own context. It is thus possible to partition a server into several dozen contexts,
without significant slowdown. The insulation is used on Unix systems for protection reasons.
Through mechanisms such as chroot or jail it is possible to run applications in an environment
that is not the host system, but a mini system containing only what the application really needs,
and having only access limited resources. It is also possible to run programs in a different
distribution than the main system. With insulation, kernel space is not differentiated; it is
unique, shared between contexts. But defines multiple user spaces partitioned. Thus it can make
possible the coexistence of different distributions of the operating system, as long as they share
the same kernel. The contexts insulation is a lightweight solution, especially in Linux
environments. For the most common needs of virtualization, ease of implementation and low
overhead are excellent arguments.
Figure 4.1. Virtualization for isolation
12. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
12
4.2. Para-virtualization
Para-virtualization is based on a hypervisor layer, which manages the interface completely with
the material, and on which it can install different operating systems. Para-virtualizationoffers to
an operating system a generic special system, which therefore requires special interfaces
integrated guest systems in the form of drivers. Para-virtualization is a virtualization technique of
lower level than the insulation. It shares with it the need to use a modified OS. More specifically,
para-virtualization is no longer only the host OS to be changed but also the OS required to run on
virtual environments. The heart of para-virtualization hypervisor is running close to the
hardware, and provides an interface that allows multiple hosts to concurrently access to
resources. Each virtual machine must be modified to use this interface to access the hardware.
Unlike the isolation of several different families OS can run on a single physical server. It is
possible to run Linux, NetWare, Solaris (and others) simultaneously on the same machine. Each
OS will have access to their own storage devices, its own memory, her or its own network
interfaces or its own processors; each virtualized hardware resource is shared with other
environments. The need of small changes to the guest operating system does not support closed
systems, especially Microsoft Windows.
Figure4.2. para-virtualization architecture
13. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
13
4.3. Full virtualization
Full virtualization is an operating system that runs software called hypervisor. The hypervisor
will allow running multiple virtual machines on the physical machine. It manages memory
access, allocation of CPU and all the necessary resources to virtual machines. In full
virtualization, the hypervisor manages all requests for virtual machines that allow virtual
machines to run without any change in their core. In other words, the virtual machines do not
even know they run in a virtual manner.
4.3.1. The hypervisor
The hypervisor is the software layer that fits between the hardware and different operating
systems. It is a key component, found in most low-level virtualization technologies. Thus,
compared to the base schema of a distinguished server hardware, operating system, and
applications, the hypervisor can be self-manage all the hardware resources of the server, or relies
on it for an existing operating system.
4.3.2. Emulation
The emulation consists in simulating the execution of a program by interpreting each of the
instructions for the microprocessor. It is thus possible to emulate any processor and the complete
environment. Emulation is the technique that provides the highest level of abstraction of the
platform. For other virtualization techniques all executable must be compiled for the processor
physically available on the server. Emulation removes this constraint because the instructions
are never executed by the processor; they are interpreted by simulating the processor. This
interpretation is costly in performance, so that the emulation is rarely used outside of game or
research applications.
The project QEMUis an open source solution for virtualization emulation.
4.3.3. Virtualization Softwares & Hardwares
AMD-V (hardware virtualization)
chroot (OS-level virtualization)
Bochs (emulation)
14. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
14
BSD Jail (OS-level virtualization)
Intel-VT (hardware virtualization)
Linux KVM (hardware virtualization)
Linux VServer (OS-level virtualization)
OpenVZ (OS-level virtualization)
Qemu (emulation)
User-Mode Linux (paravirtualization)
VirtualBox (full-virtualization, hardware virtualization)
VMWare (full-virtualization, hardware virtualization)
Xen (paravirtualization)
4.3.4. Fields of application
Virtualization allows to implement virtual dedicated servers (VDS) to provide accommodation
for resource sharing, autonomy and full control of the server unlike traditional offerings that are
dedicated hosting server (available servers configured as appropriate) and shared hosting (the
same server serves multiple clients, no resource control, limited power). Virtualization also acts
to improve the availability of servers or services. It all about load balancing and failover.
Virtualization has helped democratize Appliances (routers, firewalls, security solutions ...). Full
virtualization can reduce costs (equipment and operations) for development and testing. On a
single physical machine, it can be install multiple operating systems to test different scenarios.
15. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
15
5. Problem related to the conventional embedded system
In any architecture of embedded system, the hardware and software components are intimately
linked. This linkage is in many cases a major drawback for many reasons:
5.1. Constraint related to the software update of an embedded system
In the case of major software update of embedded system, it is rarely possible to keep the same
hardware because The software update requires more performance and current hardware is
insufficient. The new software libraries require new hardware for compatibility reasons
5.2. Hardware related constraint
In most embedded systems, the introduction of new features requires a hardware change by
adding or replacing the entire embedded system. Consider the case of a car which is not provided
with a level sensor. The onboard computer requires a software update for processing data related
to the sensor. Obviously, the embedded system must be equipped with a slot for data acquisition
from the level sensor. If this interface is not included in the design of embedded system, it may
have to completely change the onboard computer.
5.3. Hardware Design
When designing the embedded system hardware specifications are provided at the beginning so
that the material becomes owner and for a specific purpose. Sometimes for the same feature is
specific equipment from one manufacturer to another (eg on-board computer of a car). It should
therefore be noted that the development of an embedded system is determined by the flexibility
of the dependence between the hardware and the software part. In most cases this
interdependence is so strong that the evolution is to change the entire embedded system. This
prevents the reuse and recycling systems embedded with all issues related to the environment
and economic waste.
16. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
16
6.About the proposed solution
6.1. Modeling ADMs
In order to better understand the problem it has been opted a model of our architecture using
multi-agent systems.
6.1.1 case of classic embedded system
It has been considered that the case of an embedded system whose functionality is the data
acquisition through sensors, their processing and visualizing data on a screen.
Figure6.1. Classical architecture of an embedded system
In classical architecture of embedded systems, data acquisition from the sensor agent is
performed by an agent of external devices control. Subsequently acquisition agent will convert
the extracted data in data recognized by the processing agent who will be responsible to organize
and communicate with the storage agent to be stored on an internal memory. Data storage will be
17. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
17
used to display historical data or comparison with previous data to detect the distance (eg
average speed for a period of one hour, each 5 seconds to store a value to be able to calculate the
average). Internal device control is through control agent. To display the values on the screen, a
display agent must read the data stored on the internal memory. It is important to note that in this
architecture the information processing agents and devices control agents communicate directly.
6.1.2. Case of improved embedded system
In an improved architecture, a layer has been added called virtualization layer that will be able to
communicate with all internal and external devices.
Figure6.2. improved architecture of an embedded system
18. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
18
7. Description of the architecture of the virtual embedded system
The virtual embedded system complies with the three main parts which are described below.
7.1. Virtualization layer
The proposed architecture of the embedded system based on adding a virtualization layer that
will have the role of monitoring hardware devices.
7.2. Virtual architecture of the embedded system
Figure7.1. Virtual architecture of the embedded system
19. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
19
In this new architecture, applications and the operating system of the embedded system do not
communicate in any way with the hardware devices. Control equipment is provided by the
virtualization layer that has the operating system standard interfaces. In the case of internal
memory, the virtual layer emulates a virtual internal memory and reading and writing operations
are performed through the virtual layer. It is possible with this architecture to emulate all types of
internal and external devices (network card, sensor, hard disk etc. ....). The major challenge
comes in developing this virtual layer that will manage the interfaces with all types of equipment
an embedded system may use.
7.3. Technical Architecture
In the following diagram we explain the technical details of our architecture:
Figure7.2. Technical architecture of the visualization layer
20. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
20
In this architecture, the virtualization layer consists of an operating system virtualization with the
main objective: Managing access to physical memory Management hardware drivers Use
management of system resources (memory, CPU, etc. ...). Emulation of all hardware devices
via virtual interfaces The operating system at the top layer will be used only for the execution of
processes embedded systems. Applications and libraries depend only on the operating system of
the top layer. In this architecture, if you change equipment at the lowest layer, you just need to
adjust the virtual interface at the virtualization layer. The change is usually done by adding the
new hardware driver in the operating system of virtualization. On the other hand, the operating
system of the top layer will remain unchanged.
21. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
21
8. Prototype implementation
To illustrate thistechnical architecture, a prototype of a virtualized embedded system has been
build. The opted technical components are follows.
8.1 Hardware Layer
• 1.6Ghz Intel Atom E6xx single chip processor companion chip with EG20T
• 512Mbyte DDR2-SDRAM, soldered on board
• 8 Mbit BIOS / BOOT Flash
• Internal Low Profile USB socket, bootable
• 2x SATA 3Gbit interfaces with +5 V and +12 V power header
• 4x Intel 82574L Gigabit Ethernet ports, Auto-MDIX RJ-45, protected to 700W/40A Surge
• 2x Serial ports, DB9 and 10 pins internal header • USB 2.0 interface, 2x internal, 1x external
port, bootable
• Power LED, Disk LED, Error LED, Status LED, Network LED's
• 1 Full Mini-PCI Express shared with mSATA socket.
• 1 USB only Mini-PCI Express shared with mSATAsocket
• 2x PCI Express Slots, right angle
Figure8.1. Technical Components used in the visualization layer
8.2. Virtualization layer
The choice is centered on the nucleus linux KVM as a derivative of QEMU project. KVM is
basically integrated in the Linux distributions with a kernel 2.6.20 or higher. Due to its flexibility
22. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
22
Kernel Based Virtual Machine became the virtualization solution for Linux reference. Several
hardware architecture includes hardware- level extensions based on KVM virtualization (Intel
VT ™, AMD-V ™). These two families of processors have hardware virtualization extensions.
KVM is composed of a core module and a client derived from the QEMU project.
Figure8.2. KVM architecture
For the OS of the top layer it has been opted for the OS OPENBSD which has been used as part
of another task and that runs an application based on PERL libraries. It loaded the kernel on
KVM flash memory box Soekris 6501. The OpenBSD operating system is loaded from an ISO
image. A USB external GSM modem has been used which is emulated via KVM. PERL libraries
that run at the OPENBSD are questioning the modem via AT commands. The interface of the
modem at the KVM system is seen as a serial port. At OPENBSD we emulated serial port
modem GSM. When changing the external USB modem, it has to adjust the level KVM kernel to
recognize the new serial port.
23. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
23
9. Benefits of this architecture in the design of embedded systems
In the design of embedded systems, it is possible to add the virtualization layer at the hardware
layer. All internal and external devices are recognized by this layer and emulated operating
systems of the top layer. Thanks to this architecture, it is possible to separately design the
hardware and the software part of embedded system to finally break with the old model that
remained for many years an obstacle to the development of embedded systems in the industry. It
is also possible to design a virtual model of embedded system so that all manufacturers comply
with this standard and avoid wasting huge efforts in the hardware design and focus on the design
and functionality of software systems on board. It is also possible to use an embedded system
regardless of manufacturer and functionality seen that this standard will bear the majority of
internal and external devices through a simple adjustment. We can imagine a TV receiver that
will serve as the dashboard of a car or a moisture sensor controller as a controller level. This will
reduce industrial waste which is a major cause of environmental problems.
24. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
24
10. Conclusion
Here one of the fundamental principles of embedded systems design has been discussed that
remained for a long time a drawback to the development of embedded systems. It has
beendesigned an architecture based on virtualization layers associated with low control of
internal and external devices. So it has to possible to implement a prototype based on the Linux
kernel KVM. This allowed to conclude that it is possible with this architecture to benefit from
the contributions of virtualization in embedded systems, mainly:
• Separation between the hardware and software aspects in the design of embedded systems
• Flexibility in terms of hardware and software developments.
• Reuse of embedded systems
• Portability of applications and features of embedded systems.
It is clear that the future of embedded systems must address the implementation layers of
virtualization at the hardware level as well as standardization of these layers.
25. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
25
11. References
[1] Karim Yaghmour « Building Embedded Linux Systems » ; O’Reilly 2003.
[2] Alessandro Rubini et Jonathan Corbet, Linux Device Drivers; 3ème edition ; O’Reilly 2005.
[3] Evi Nemeth et al, Linux Administration Handbook; Prentice Hall ; 2002
[4] Karim Yaghmour, Building Embedded Linux Systems; O’Reilly 2003.
[5] Craigh Hollabaugh, Embedded Linux; Sams 2002
[6] "Smartphone definition from PC Magazine Encyclopedia". PC Magazine.
http://www.pcmag.com/encyclopedia_term/0,2542,t=Smmrtphone&i=51537,00.asp . Retrieved
13 May 2010.
[7] Drogoul A., De la simulation multi-agent à la résolution collective de problèmes, Thèse de
doctorat, Université Paris 6, 1993.
[8] Guessoum Z., Un environnement opérationnel de conception et de réalisation de systèmes
multi-agents, Thèse de doctorat, Université Paris 6, mai 1996.
[9] Carabelea C., Boissier O., Florea A., «Autonomie dans les systèmes multiagents », JFSMA
’03, 2003.
[10] J. Ferber: Les systèmes multi-agents, vers une intelligence collective, Paris, InterEditions,
1995.
[11] R. El Bejjet, H. Medromi, « A Generic Platform for a Multi-Agent Systems Simulation »,
September 2010, Vol. 5. n. 5, pp. 505-509.
[12] Dave Pfaltzgraff, The Use of Linux in an Embedded System, December 1999,Linux
Journal. Putting together a Card Access System.http://www.linuxjournal.com/lj-
issues/issue68/3555.html
[13] Sam Williams, Open Season: Embedded Linux Comes to the Fore, August 17, 2000,
Upside Today. The San Jose Linux World Conference and Expo activity is impressive.
http://www.upside.com/Open_Season/399c565b0.html
[14] Stan Runyon, Linux Catches Eyes in Test World, January 4 2000, EE Times. National
Instruments implement modular automated equipment with Linux.
http://www.eet.com/story/OEG20000104S0027
26. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM
26
[15] Doc Searls, The Next Bang: The Explosive Combination of Embedded Linux, XML and
Instant Messaging'', , September 2000, Linux Journal, http://www.linuxjournal.com/lj-
issues/issue77/4195.html
[16] Embedded Systems Programming Magazine : http://www.embedded.com/mag.htm
[17] D. Kalinsky, R. Kalinsky ; « Introduction to I2C », Embedded.com. 2001.
http://embedded.com/story/OEG20010718S0073 [18] M. Khemakhem, A. Belghith, « Agent
Based Architecture for Parallel and Distributed Complex Information processing », January
2007, Vol. 2. n. 1, pp. 38 - 44