
Download - Deepak Mathur
-
8/13/2019 Deepak Mathur
1/37
EMBEDDED SYSTEM :DEEPAK MATHUR
Real-Time Messaging for Embedded Systems and Mobile Devices
Antenna GPS Embedded SMA
sku: GPS-00177
Description: Embedded antenna for small, mobile applications. Basic
unpackaged antenna with LNA. 5inch cable terminated with standard male
SMA connector. Match it with an SMA interface cable to create a trul
small !"S prototpe#
$his unit works %er well out of the bo&, but the full packaged antennas
ha%e better strain relief where the SMA cable meets the antenna housing. 'fou plan on using this antenna in a %ibration intensi%e application, we
recommend ou reinforce the connection with epo& or Shoe !oo.
Features:
!ain ()dB
*S+ -(.
*oltage /./* 012 .5*
3urrent 4(mA
+eight 4g
Mobile and embedded computer-based devices are becoming integralcomponents of business and mission-critical systems. As a result, device-
1
-
8/13/2019 Deepak Mathur
2/37
EMBEDDED SYSTEM :DEEPAK MATHUR
based software must increasingly communicate with software running onother devices as well as with backend enterprise applications. Application-to-application messaging is the enabling technologyfor this
communication.RTIs real-time messaging infrastructure was designed fromthe ground up to meet the uni!ue challenges posed by embedded andmobile computing. These include"
#upport for speciali$ed mobile, embedded and real-time operating systems%RT'
&peration in resource-constrained environments - with limited memory,storage, processor and network bandwidth
Real-time performance - with deterministically low latency and high
throughput
(eterogeneous interoperability - across programming languages,
operating systems and processor types
)eployment in dynamic, ad hoc environments - without system
administration or servers
*ommunicating over +A, wireless and satellite networks - which
can be intermittent, low bandwidth, high delay and lossy
Meeting high-assurance re!uirements - including certification to
safety and security standards
ecause traditional enterprise messaging and integration technologies donot satisfy embedded and mobile re!uirements, developers havetraditionally had to create their own custom communications infrastructure.These in-house solutions can be time-consuming and epensive todevelop. They are also etremely costly to maintain as new re!uirementsare introduced, personnel turns over, and systems become larger, morecomple, more stovepipe and thus more brittle.
+ith a commercial alternative, RTI accelerates time-to-deployment whilesignificantly reducing software lifecycle costs.
RTI Attribute Benefits over Custom Middleware
2
-
8/13/2019 Deepak Mathur
3/37
EMBEDDED SYSTEM :DEEPAK MATHUR
Commercial ff-T!e-S!elf
"CTS#
Turnkey messaging
infrastructure
Tracks the latest
operating system anddevelopment environmentreleases
/rovides an ecosystem
of integrated technologiesfrom RTI and partners
#aves time and costs
otherwise re!uired for internalmiddleware development, porting,integration, maintenance andsupport
0asily evaluated against
re!uirements1 an in-housesolutions capabilities, performanceand scalability can not be knownuntil it is complete
/rovides time and cost-
certainty1 eliminates risk thatmiddleware development will takelonger than epected
Standards com$liant
2M#, ))# and #34
applications programminginterfaces %A/Is'
RT/# on-the-wire
protocol
5amiliar, well-documented
interfaces and readily availabletraining improve productivity ofapplication developers%middleware users'
/ortability and interoperability
provide vendor independence andease integration of independentlydeveloped components
Robust
*omprehensive feature
set
/erformance and
Meets current and future
re!uirements, eliminating the riskthat time-consuming and costly re-
3
-
8/13/2019 Deepak Mathur
4/37
EMBEDDED SYSTEM :DEEPAK MATHUR
scalability headroom
road platform,
programming language andtransport support
engineering will be re!uired later
Eases integration
4oosely-coupledintegration model based onpublish6subscribe
5ull interoperability
across platforms andprogramming languages
Reduces overall systemcompleity and eliminatesinterdependencies betweensubsystems
Individual components can
be added or upgraded withoutimpacting already running software
ew platforms and
programming languages can betransparently introduced
Reliable
&perationally proven in
some of the worlds most
demanding systems
)eveloped and tested in
accordance with RTIsrigorous !uality process
(igh technology readiness
for mission-critical systems
%eatures of RTI&s real-time messaging infrastructure
Available for embedded' mobile and real-time o$erating systems
4
-
8/13/2019 Deepak Mathur
5/37
EMBEDDED SYSTEM :DEEPAK MATHUR
In addition to support for enterprise operating systems such as 4inu,+indows and 7ni, RTIs real-time messaging infrastructure is available forall leading embedded, mobile and real-time operating systems %RT'.
These include"
4inu - i89, 9: and /ower/* distributions
;reen (ills #oftware - IT0;RIT+orks
RTI is continually adding support for new platforms, including separationkernels based on the Multiple Independent 4evels of #ecurity %MI4#'architecture.
Eases a$$lication integration
RTI eases integration of embedded and mobile applications with eachother, with enterprise applications, and into a #ervice-&riented Architecture%#&A'.
Applications using RTIs infrastructure are fully interoperable
across programming languages, operating systems and processortypes
Application /rogramming Interfaces %A/Is' are available for *, *?
?, 2ava %2M# and ))#', .0T and Ada
Message contents are automatically transformed so that they areinterpreted correctly by applications written in different programminglanguages and running on processors with different native datarepresentations
RTI keeps in-memory data caches on embedded and mobile
devices synchroni$ed with enterprise databases
RTIs messaging infrastructure is easily integrated with enterprise
middleware including Application #ervers, *omple 0vent/rocessing %*0/' engines, 0nterprise #ervice usses %0#s' and
visuali$ation platforms
Su$$orts resource-constrained systems
5
-
8/13/2019 Deepak Mathur
6/37
-
8/13/2019 Deepak Mathur
7/37
EMBEDDED SYSTEM :DEEPAK MATHUR
Applications can automatically discover each other" no
configuration of hostnames or network addresses is re!uired
Runs over a wide variety of networ)s
RTI provides etremely fleible transport support for mobile applicationsand systems deployed outside the enterprise"
&ut-of-the bo support for 4A, +A, secure %T4#', satellite and
wireless communication over I/v: and I/v9
Reliable multicast for efficient broad data distribution #hared memory transport for high-performance inter-process
communication between components running on the same node
/luggable interface for integration with other transports, including
backplanes and switched fabrics, even those without I/ support
*ell-suited for mission-critical systems
RTI meets the re!uirements of the most demanding business and mission-critical applications"
5ault tolerant infrastructure with no single point of failure at either
the node or system level
Automatic failover in the event that an application or node fails or bec
inaccessible
Messages can be simultaneously sent over multiple transports and
networks for redundancy and partitioning
#ystem-level introspection for health monitoring and application-
managed high availability
Technology proven over @E years in hundred of the worlds most
demanding and mission-critical applications
/roducts developed in accordance with RTIs rigorous !uality
process, with more source code and development time dedicated to3uality Assurance %3A' than to technology development
Embedded & Mobile Systems operates as a developer o data!ase a"d e#!edded s$ssol%t&o"s t'at retre&ve data ro# dev&(es )e#!edded s$ste#s* !ar (ode s(a""ers* #o!&lse(%rel$ ro%te &"or#at&o" &"to t'e e"terpr&se or #as',%ps* a"al$s&s* das'!oards a"d d
#a-&"./E#!edded 0 Mo!&le S$ste#s Data!ase sol%t&o"s o(%s o" data etra(t&o"* tra
load&". )ET+ a"d report&"./ T'&s data!ase e#p'as&s &"(l%des (%sto# appl&(at&o"s or
-
8/13/2019 Deepak Mathur
8/37
EMBEDDED SYSTEM :DEEPAK MATHUR
E(el* a"d M$S %s&". S* BA* a"d Perl la".%a.es (o#!&"ed &t' (o"vers&o"s
or#ats/ Mo!&le dev&(e data!ases* Bar(ode &"p%t* a"d &"spe(t&o" or# !ased data!aseo%r spe(&alt&es/
E#!edded 0 Mo!&le S$ste#s e#!edded s$ste#s develop#e"t e#p'as&7es !r&".,%p a"d start%p o e#!edded s$ste#s : test!e"(' (ode* d&a."ost&(s* !ootloaders* a"d
a%to#at&o" s(r&pts/ E#!edded plator#s &"(l%de &"%* %,!oot* PoerT set,tops*a"d 8&"dos 9E %s&". "% tool('a&"s or 9;;
-
8/13/2019 Deepak Mathur
9/37
EMBEDDED SYSTEM :DEEPAK MATHUR
The Global Positioning System (GPS) is the only fully functionalGlobal Navigation Satellite System (GNSS). The GPS uses aconstellation of at least 24 (32 by March 2!) Me"ium #arth
$rbit satellites that transmit %recise micro&ave signals' thatenable GPS receivers to "etermine their location' s%ee"'"irection' an" time. GPS &as "evelo%e" by the nite" Statese%artment of efense. *ts official name is N+,ST+-GPS.
+lthough N+,ST+-GPS is not an acronym/01' a fe&bacronyms have been create" for it/21. The GPS satelliteconstellation is manage" by the nite" States +ir orce thS%ace 5ing.
S&lar satell&te "av&.at&o" s$ste#s &"(l%de t'e R%ss&a" ASS )&"(o#plete aso 2FF?+* t'e %p(o#&". E%ropea" al&leo pos&t&o"&". s$ste#* t'e proposed
9MPASS "av&.at&o" s$ste# o 9'&"a* a"d RSS o "d&a/ T'e lo!alPos&t&o"&". S$ste# )PS+ &s t'e o"l$ %ll$ %"(t&o"al lo!al av&.at&o" Satell&te
S$ste# )SS+/ T'e PS %ses a (o"stellat&o" o at least 24 )32 !$ Mar(' 2FF?+
Med&%# Eart' r!&t satell&tes t'at tra"s#&t pre(&se #&(roave s&."als* t'at e"a!le
PS re(e&vers to deter#&"e t'e&r lo(at&o"* speed* d&re(t&o"* a"d te/ PS asdeveloped !$ t'e U"&ted States Depart#e"t o Dee"se/ ts o&(&al "a#e &s
ASTAR,PS/ Alt'o%.' ASTAR,PS &s "ot a" a(ro"$#G1* a e!a(-ro"$#s 'ave !ee" (reated or &tG2/ T'e PS satell&te (o"stellat&o" &s #a"a.ed
!$ t'e U"&ted States A&r =or(e 5Ft' Spa(e 8&"./
Real Time Os
" (o#p%ter s(&e"(e * real-time computing)RT9+* or Irea(t&ve (o#p%t&".I* &s t'e
st%d$ o 'ardare a"d sotare s$ste#s t'at are s%!e(t to a Ireal,te(o"stra&"tIJ&/e/* operat&o"al deadl&"es ro# eve"t to s$ste# respo"se/ B$ (o"trast*
a non-real-time system&s o"e or '&(' t'ere &s "o deadl&"e* eve" & ast respo"se
or '&.' peror#a"(e &s des&red or preerred/ T'e "eeds o real,te sotare areote" addressed &" t'e (o"tet o real te o operat&". s$ste# * a"d s$"('ro"o%s
pro.ra##&". la".%a.e * '&(' prov&de ra#eor-s o" '&(' to !%&ld real,te
appl&(at&o" sotare/
A real te s$ste# #a$ !e o"e 'ere &ts appl&(at&o" (a" !e (o"s&dered )&t'&"
(o"tet+ to !e #&ss&o" (r&t&(al / T'e a"t& lo(- !rea-es o" a (ar are a sple ea#ple
o a real,te (o#p%t&". s$ste# J t'e real,te (o"stra&"t &" t'&s s$ste# &s t'e
s'ort te &" '&(' t'e !ra-es #%st !e released to preve"t t'e 'eel ro# lo(-&"./
Real,te (o#p%tat&o"s (a" !e sa&d to 'avefailed& t'e$ are "ot (o#pleted !eoret'e&r deadl&"e* 'ere t'e&r deadl&"e &s relat&ve to a" eve"t/ A real,te deadl&"e#%st !e #et/
Designing Real-time Software
-
8/13/2019 Deepak Mathur
10/37
EMBEDDED SYSTEM :DEEPAK MATHUR
Designing Realtime software involves several steps. The basic steps are
listed below:
Software architecture definition
Co design
Defining software subsystems
Feature design
Task design
Soft&are +rchitecture efinition
This is the first stage of Realtime Software design. Here the software team
understands the system that is being designed. The team also reviews at
the proposed hardware architecture and develops a very basic software
architecture. This architecture definition will be further refined in Co-Design.
Use Cases are also used in this stage to analyze the system. Use cases
are used to understand the interactions between the system and its users.
For example, use cases for a telephone exchange would specify the
interactions between the telephone exchange, its subscribers and the
operators which maintain the exchange.
6oesign
Once the software architecture has been defined, the hardware and
software teams should work together to associate software functionality to
hardware modules. The software handling is partitioned between different
processors and other hardware resources with the following keyconsiderations:
The software functionality should be partitioned in such a
fashion that processors and links in the system do not get
overloaded when the system is operating at peak capacity. This
involves simulating the system with the proposed software and
hardware architecture.
The system should be designed for future growth byconsidering a scalable architecture, i.e. system capacity can be
increased by adding new hardware modules. The system will not
scale very well if some hardware or software module becomes a
bottleneck in increasing system capacity.
1F
-
8/13/2019 Deepak Mathur
11/37
EMBEDDED SYSTEM :DEEPAK MATHUR
Software modules that interact very closely with each
other should be placed on the same processor, this will reduce
delays in the system. Higher system performance can be achieved
by this approach as inter-processor message communication
taxes the CPU as well as link resources.
This stage is sometimes referred to as Co-Design as the hardware and
software teams work together to define the final system architecture. This is
an iterative process. Changes in system architecture might result in
changes in hardware and/or software architecture.
The next step in Realtime system design is the careful analysis of thesystem to define the software modules.
efining Soft&are Subsystems
1. Determine all the features that the system needs to
support.
2. Group the various features based on the type of work
they perform. Identify various sub-systems by assigning one
subsystem for one type of features. Identify the tasks that willimplement the software features. Clearly define the role of each
task in its subsystem.
3. Within each subsystem, classify and group the features
appropriately and associate the various tasks constituting the
subsystem. For example, the Call Handling subsystem in Xenon
would support features like:
o V5.2 Originating to ISUP Outgoing Call
o V5.2 Originating to V5.2 Terminating Call
o Conference Callo Toll free call
eature esign
A typical Realtime system is composed of various task entities distributed
across different processors and all the inter-processor communication takes
place mainly through messages. Feature Design defines the software
features in terms of message interactions between tasks. This involvesdetailed specification of message interfaces. The feature design is generally
carried out in the following steps:
11
-
8/13/2019 Deepak Mathur
12/37
EMBEDDED SYSTEM :DEEPAK MATHUR
1. Specify the message interactions between different tasks
in the system
2. Identify the tasks that would be controlling the feature.
The controlling tasks would be keeping track of progress of
feature. Generally this is achieved by running timers.
3. The message interfaces are defined in detail. All the
fields and their possible values are identified.
%eature Design +uidelines
Keep the design simple and provide a clear definition of
the system composition.
Do not involve too many tasks in a feature.
Disintegrate big and complex features into small sub
features.
Draw message sequence charts for a feature carefully.
Classify the legs of a scenario for a feature in such a way that
similar message exchanges are performed by taking the common
leg.
Provide a clear and complete definition of each message
interface. To check possible message loss, design timer based
message exchanges.
Always consider recovery and rollback cases at each
stage of feature design. One way of doing this is to keep a timer
for each feature at the task that controls the mainline activity of the
feature. And then insert the timeout leg in the message sequence
charts of the feature.
To avoid overloading of message links choose design
alternatives that include fewer message exchanges.
Tas esign
Designing a task requires that all the interfaces that the task needs to
support should be very well defined. Make sure all the message parameters
and timer values have been finalized.
Selecting t!e Tas) Ty$e
Once the external interfaces are frozen, select the type of task/tasks that
would be most appropriate to handle the interfaces:
12
-
8/13/2019 Deepak Mathur
13/37
EMBEDDED SYSTEM :DEEPAK MATHUR
Single State Machine:The tasks functionality can be
implemented in a single state machine. The v5.2 call task in Xenon
is a good example of a task of this type.
Multiple State Machines:The task manages multiple state
machines. Such tasks would typically include a dispatcher to
distribute the received messages to an appropriate state machine.
Such tasks would create and delete state machine objects as and
when required.
Multiple Tasks:This type of tasks are similar to the multiple
state machine tasks discussed above. The main difference is that
the task now manages multiple tasks. Each of the managed tasks
implements a single state machine. The manager task is alsoresponsible for creating and deleting the single state machine
tasks.
ComplexTask:This type of task would be required in really
complex scenarios. Here the manager task manages other tasks
which might be managing multiple state machines.
Selecting t!e State Mac!ine Design
After choosing the type of task, the designer should consider dividing the
message interface handling into a sequence of state transitions. Two
different type of state machines can be supported:
Flat State Machines:This is the most frequently used type of
state transition. For example, the states of a call would be
"Awaiting Digits", "Awaiting Connect", "Awaiting Release",
"Awaiting On-hook" etc. This type of state division does not scale
very well with increasing complexity. For a complex system thistechnique results in a state explosion, with the task requiring
hundreds of states.
Hierarchical State Machines:Here the states are viewed as a
hierarchy. For example the states covered above would map to
"Originating : Awaiting Digits", "Originating: Awaiting Connect",
"Releasing : Awaiting Release", "Releasing : Awaiting On-hook".
The total number of states is the same here, but the main
difference is that some states inherit from an "Originating" basestate and others inherit from "Releasing" base state. The total
number of message handlers in each state would be reduced
drastically, as all the messages that have common handling in all
the originating states would be just handled in the "Originating"
13
-
8/13/2019 Deepak Mathur
14/37
EMBEDDED SYSTEM :DEEPAK MATHUR
base state. In addition to this, the handlers of inheriting states can
further refine the base state handling by taking additional actions.
Tas) Design +uidelines
Do not complicate the design by introducing too many
states. Such designs are very difficult to understand. Follow a
simple rule of thumb, if you are having difficulty choosing the name
of state, you may have identified the wrong state.
Do not complicate the design by having too few states. If
all the states in the system have not been captured in the state
machine design, you will end up with lot of flags and strange
looking variables which will be needed to control the message flowin the jumbo states.
Keep the data-structure definitions simple. See if a
simpler data-structure would do the same job just as well.
Out of memory conditions should be handled. Tasks can
and will run out of memory. So handle the out of memory
conditions gracefully. This can lead to a lot of "if clutter" so
consider exception handling as an option.
All of the legs of the defined scenarios should behandled. This is easier said than done. Many times all the scenario
legs identified in the feature design stage may not cover all the
possible error scenarios for your task.
Make sure that all the allocated resources are de-
allocated at the end. Again it is very easy to miss out on this one.
Many times designers forget to release resources in the error legs.
Consider using a hierarchical state machine to simplify
the state machine design.
Consider using Object Oriented programming languages
like C++. Contrary to popular belief, languages like C++ might turn
out to be more efficient in runtime performance because of better
locality of reference. (Most objects would be referring to data that
is contained in the same object, thus improving the locality of
reference)
T'e #a&" o!e(t&ve o t'e proe(t &s to develop t'e e"a!l&". te('"olo.$ a"d&"rastr%(t%re reC%&red to ee(t&vel$ %se t'e #ost adva"(ed te('"&C%es developed
or real,te appl&(at&o"s &t' le&!le s('ed%l&". reC%&re#e"ts* &" e#!edded
s$ste#s des&." #et'odolo.&es a"d tools* prov&d&". t'e "e(essar$ ele#e"ts to tar.etre(o"&.%ra!le pro(ess&". #od%les a"d re(o"&.%ra!le d&str&!%ted ar('&te(t%res/
14
-
8/13/2019 Deepak Mathur
15/37
EMBEDDED SYSTEM :DEEPAK MATHUR
T'e approa(' to a('&eve t'&s #a&" o!e(t&ve &s to &"te.rate adva"(ed le&!les('ed%l&". te('"&C%es d&re(tl$ &"to a" e#!edded s$ste#s des&." #et'odolo.$*
(over&". all t'e levels &"volved &" t'e ple#e"tat&o"* ro# t'e S pr&t&ves*t'ro%.' t'e #&ddleare* %p to t'e appl&(at&o" level/ T'&s &ll !e a('&eved !$
(reat&". a (o"tra(t #odel t'at spe(&&es '&(' are t'e appl&(at&o" reC%&re#e"ts &t'
respe(t to t'e le&!le %se o t'e pro(ess&". reso%r(es &" t'e s$ste#* a"d also 'at
are t'e reso%r(es t'at #%st !e .%ara"teed & t'e (o#po"e"t &s to !e &"stalled &"to t'es$ste#* a"d 'o t'e s$ste# (a" d&str&!%te a"$ spare (apa(&t$ t'at &t 'as* to a('&eve
t'e '&.'est %sa.e o t'e ava&la!le reso%r(es/
T'&s (o"tra(t,!ased #et'odolo.$ reC%&res* or ea(' reso%r(e* a" %"derl$&".
ple#e"tat&o" t'at &s (apa!le o e"or(&". t'e reservat&o"s pl&ed !$ t'ed&ere"t a(t&ve (o"tra(ts/ T'e (o"tra(ts &ll !e &"te.rated &t' a (o#po"e"t,!ased
ra#eor-* a"d &ll prov&de t'e reC%&red level o a!stra(t&o" to #a-e t'e
(o#po"e"t #odel &"depe"de"t o t'e %"derl$&". ple#e"tat&o" a"d 'ardarear('&te(t%re/ T'e ra#eor- &ll !e porta!le a(ross d&ere"t s('ed%l&". strate.&es
a"d plator#s/ Be(a%se o t'e d$"a#&( "at%re o t'e (o"tra(ts a"d t'e&"depe"de"(e t'at t'e$ prov&de a#o". t'e d&ere"t real,te (o#po"e"ts o t'e
appl&(at&o"* t'e #et'odolo.$ &s ell s%&ted to address ver$ d$"a#&( s$ste#s* s%('
as t'ose !ased o" re(o"&.%ra!le ar('&te(t%res/
E#!edded data!ase
*ombining in-memory database with storage caching of disk database,ITTIA ) #34%TM' enables application development on embeddedsystems. (ybrid database can contain related data that is divided intomemory and disk tables. Memory tables are optimi$ed to minimi$e */7cycles, while disk tables emphasi$e
throughput when data is saved to blockdevices. y using solid relational
model foundation, relationships are navigated with #34 !ueries oraccessed directly with low-level functions.FFFFFFFFFFFFFFFFFFFF
&ctober G, EBBH - ellevue, +A - 0mbedded devices continuously processinformation from a wide variety of sources, such as sensors, user input,network communications. )evelopers recogni$e cases for whichdata mustbe accessed !uickly with predictable speed and cases for which data mustbe saved continuously to flash media or a hard drive. To address this need,ITTIA unveils the revolutionary new ITTIA ) #34TM hybrid memory and
disk database for application development on embedded systems anddevices.
ITTIA ) #34 hybrid combines the fast, predictable performance of an in-memory database with the robust storage caching of a disk database. ITTIA) #34 hybrid delivers capabilities culminated from decades of database
15
-
8/13/2019 Deepak Mathur
16/37
EMBEDDED SYSTEM :DEEPAK MATHUR
evolution in a compact, self-managing package for development ofapplications in consumer electronics, medical devices, portable mediaplayers, network appliances, telecommunication systems, and other
embedded systems.
An ITTIA ) #34 hybrid database can contain related data that is dividedinto memory and disk tables. Memory tables are optimi$ed to minimi$e */7cycles, while disk tables emphasi$e throughput when data is saved to blockdevices such as flash media or a hard disk. y usinga solid relational modelfoundation, relationships are easily navigated with #34 !ueries or accesseddirectly with low-level functions.
All tables share the same transactional database kernel, whether they arestored in memory or on disk. )ata is always accessed through common
A/Is and can be shared between threads and processes. Transactionsensure the integrity and consistency of the data, but, because the data ismanaged within a single database, without the compleity of distributedtransactions. Modular devices can etend their functionality dynamically byadding new tables and fields to the database.
)evices and embedded systems that use ITTIA ) #34 benefit fromITTIAs philosophy of fleibility. +hile ITTIA offers several differenteditionsto target the wide variety of re!uirements for database features andfootprint, all ITTIA ) libraries are source, file, and binary-compatible.
Manufacturers can build a complete line of products that are based on asingle code base for data access. (igh-performancecode can use concise,low-level calls to access and modify individual rows directly. The same datacan also be accessed with high-level #34 !ueries, for interoperability andaccelerated prototyping.
The hybrid model used by ITTIA ) #34 is ideal for devices that log eventsoccurring at a very high fre!uency. The event log itself maybe storedtemporarily in memory, and related data such as event types, criticalevents, and thresholds can be stored in disk tables that are automatically
and continuously saved to flash media. The device can monitor and storethe maimum values for each type of event. oth the event log andassociated data can be shared between the logging task, reportingmechanism, user interface, and any other components.
ITTIA ) #34 hybrid offers developers a broad selection of lightweightR)M# embeddable database features to meet their specific applicationre!uirements, said #asan Montaseri, ITTIA /resident. &ur customersalready benefit from ITTIA ) #34s fleibility, performance at lower cost.The introduction of ITTIA ) #34 hybrid completes this value-added
offering. +e continue our focus to deliver the highest !uality products andservices at a lower cost.
A free, B-day evaluation of ITTIA ) #34 is available at the ITTIA )0valuation *enter. The evaluation kit contains a complete embeddeddatabase library, optional server, and #34 tools.
16
-
8/13/2019 Deepak Mathur
17/37
EMBEDDED SYSTEM :DEEPAK MATHUR
About ITTIA
ITTIA offers a leading-edge embedded R)M# for platforms where limitedmemory, storage, and processing power make software developmentchallenging. ITTIA develops fast, high-performance relational lightweightdatabase products and tools with the goal of providing ecellentdatamanagement software for embedded systems and devices. ITTIAsproducts are designed to be suitable for application development anddeployment at significantly reduced cost. ITTIAs customers include5reescale #emiconductor, /anasonic, /uget #ound 0nergy, oeing, andothers.
EMBEDDED DATABASE TE9HY
=R SE9URTY SYSTEMS
RA9E EMBEDDEDSe(%r&t$ s$ste#s L 'et'er p%re sotare or a (o#!&"at&o" oSe(%r&t$ s$ste#s "eed data!ase 'ardare a"d sotare L #%st store a"d #a"a.e
(r&t&(alstora.e %st l&-e #a"$ ot'erappl&(at&o"s/ Hoever* t'e
&"or#at&o" rel&a!l$/ Be(a%se t'ese s$ste#s are a (r%(&al part o t'e
spe(&al reC%&re#e"ts o t'e se(%r&t$ #ar-et #ea" t'atse(%r&t$ &"rastr%(t%re or e"terpr&ses* t'e$ 'ave %"%s%al
ve"dors #%st ('oose t'e&r reC%&re#e"ts "ot (o##o" to #a"$ !%s&"ess appl&(at&o"st'at %se data!ase part"er (are%ll$/
database technology9'oos&". t'e r&.'t data!ase prod%(t (a" &"(rease rel&a!&l&t$* prove peror#a"(e
a"d e"'a"(e t'e level o se(%r&t$ prov&ded !$ #&ss&o",(r&t&(al deplo$ed s$ste#s/Securing Data from Attac
Se(%r&t$ &"rastr%(t%re* %st l&-e ot'er appl&(at&o"s* operates o" data L %serpassords* pro&le a"d preere"(es* roles a"d respo"s&!&l&t&es* a((ess lo.s*
(o"&.%rat&o" sett&".s a"d #ore/ U"l&-e #a"$ !%s&"ess appl&(at&o"s* t'o%.'*se(%r&t$ &"rastr%(t%re prod%(ts #%st !e 'arde"ed a.a&"st atta(-/ As a res%lt* t'e
(o#po"e"ts t'at #a-e %p t'e se(%r&t$ sotare* &"(l%d&". a"$ data!ase s$ste#*#%st !e des&."ed or se(%re deplo$#e"t/
Se(%r&t$ t'reats (a" (o#e ro# a "%#!er o ple#e"tat&o" ('o&(es &" sotare/Espe(&all$ (o##o"* t'o%.'* are t'reats d%e to eposed ad#&"&strat&ve or %ser,level
&"tera(es* '&(' allo a" atta(-er to (o##%"&(ate d&re(tl$ &t' a s%!s$ste# &" t'ese(%r&t$ prod%(t/ Ma"$ data!ase s$ste#s rel$ o" s%(' &"tera(es &" "or#al
operat&o"/Des&."ers o se(%r&t$ &"rastr%(t%re are ote" !est served !$ ('oos&". a tr%l$
e#!edda!le data!ase #a"a.e#e"t s$ste#* rat'er t'a" a (o"ve"t&o"al RDBMSdes&."ed or !%s&"ess appl&(at&o"s* or %se &" t'e&r prod%(ts/ A (o##er(&al
e#!edded data!ase (a" prov&de all t'e peror#a"(e* rel&a!&l&t$ a"d re(overa!&l&t$
.%ara"tees t'at appl&(at&o"s reC%&re* a"d (a" also prove overall se(%r&t$ !$el&"at&". &"tera(es t'at (o%ld !e %se to (o#pro#&se t'e s$ste#/ra(les a#&l$ o e#!edded data!ase prod%(ts* &"(l%d&". ra(le Data!ase* ra(le
TesTe" ",Me#or$ Data!ase* ra(le Ber-ele$ DB a"d ra(le Data!ase &te*as des&."ed or %se &" appl&(at&o"s t'at "eed ast* rel&a!le stora.e serv&(es*
&t'o%t reC%&r&". a data!ase ad#&"&strator/ T'ese prod%(ts (a" !e deplo$ed or
1
-
8/13/2019 Deepak Mathur
18/37
EMBEDDED SYSTEM :DEEPAK MATHUR
7ero or "ear 7ero ad#&"&strat&o"* so t'at t'e$ are &"v&s&!le a"d &"a((ess&!le to %sers
a"d #al&(&o%s atta(-ers/El&"at&". Pat's o Atta(- T'e splest a$ to se(%re a A (o##o" strate.$ or
!rea('&". se(%r&t$ &s to se"d !ad data to t'e p%!l&( s$ste# &s to el&"ate pat's t'atatta(-ers (a" %se to &"tera(es o a s$ste# L stole" lo.&" &"or#at&o"* lar.e str&".s
t'at overlo !%ers* (o#pro#&se &t/
&lle.al ('ara(ters or s$ste# (o##a"ds/ Rat'er t'a" val&date ever$ s&".le &"p%t
str&".* a spler strate.$ or 'arde"&". s$ste#s &s spl$ to el&"ate t'ose&"tera(es alto.et'er/ ra(les e#!edded data!ase prod%(ts (a" 'ave #ost or all o
t'e&r ad#&"&strat&ve %"(t&o"s 'a"dled pro.ra##at&(all$/ T'&s #ea"s t'at t'ese(%r&t$ appl&(at&o"* rat'er
t'a" a '%#a" !e&".* (a" ta-e respo"s&!&l&t$ or tas-s l&-e !a(-%ps* ('e(-po&"t&".*
lo. ar('&val a"d so o"/ B$ re#ov&". t'ese operat&o"s ro# t'e do#a&" o '%#a"s*a"d !$ 'a"dl&". t'e# &"s&de t'e 'arde"ed s$ste#s* t'e data!ase e".&"e #a&"ta&"s a
'&.' de.ree o overall se(%r&t$/
" add&t&o"* ra(les e#!edded prod%(ts #a$ .e"erall$ !e (losel$ (o%pled &t' t'edeplo$ed s$ste#/ Rat'er t'a" rel$&". o" "etor-,!ased proto(ols or
(o##%"&(at&o"* t'ese s$ste#s (a" %se ('a""els lo(al to a s&".le #a('&"e* s%(' ass'ared #e#or$ or eve" %"(t&o",(all &"tera(es &" a s&".le pro(ess* to et(' a"d
store data/ T'&s #ea"s t'at atta(-ers (a""ot %se t'e data!ase e".&"e as a a$ to
.a&" a((ess to t'e #a('&"e* s&"(e t'ere are "o "etor- (o##%"&(at&o" ('a""els
ope" ro# &"s&de t'e data!ase/
Peror#a"(e* Rel&a!&l&t$* S(ala!&l&t$ (o%rse* se(%r&t$ prod%(ts are ote" (r%(&alp&e(es o &"rastr%(t%re/ As a res%lt* t'e$ #%st !e ast* rel&a!le* a"d a!le to 'a"dle%"epe(ted sp&-es &" de#a"d/
9'oos&". a" e#!edded data!ase s$ste# or stora.e (a" 'elp/ All o ra(lesdata!ase prod%(ts 'ave a lo". '&stor$ o real,orld deplo$#e"t &" #&ss&o",(r&t&(al
s$ste#s/ Ea(' del&vers '&.',peror#a"(e data stora.e serv&(es* a"d (a " s%rv&ve
sotare a"d 'ardare a&l%res &t'o%t los&". &"or#at&o"/
T'e R&.'t Tool or t'e No!
ra(les prod%(t l&"e &"(l%des a ra".e o e#!edda!le s$ste#s/ Developers (a"
('oose t'e data!ase s$ste# t'at !est #eets t'e reC%&re#e"ts o t'e&r appl&(at&o"/!racle Database
ra(le Data!ase &s t'e &"d%str$s lead&". e"terpr&se relat&o"al data!ase#a"a.e#e"t s$ste# a"d oers a r&(' eat%re set s%pport&". r&d 9o#p%t&".*
prov&des '&.'l$ ava&la!&l&t$* a"d etre#el$ rel&a!le data!ase serv&(es or
tra"sa(t&o" pro(ess&".* data are'o%s&". a"d #a"$ ot'er t$pes o appl&(at&o"s/
ra(le Data!ase (a" !e pa(-a.ed alo". &t' t'e appl&(at&o" t'at %ses &t* &"stalled
a"d (o"&.%red s&le"tl$ !$ t'e appl&(at&o"* a"d ad#&"&stered a"d #a"a.ed !$ t'e
appl&(at&o" (o#pletel$ a%to#at&(all$* &t' "o '%#a" &"terve"t&o"/!racle "imes"en #n-Memory Database
ra(le TesTe" &s a '&.',peror#a"(e data!ase s$ste# des&."ed or appl&(at&o"s'ere peror#a"(e &s a!sol%tel$ (r&t&(al/ TesTe" .%ara"tees t'at t'e e"t&re
data!ase res&des &" #e#or$ at all tes* a"d %ses a pate"ted stora.e a"d sear('
strate.$ to lo(ate &",#e#or$ data C%&(-l$/ TesTe" &s a %ll$ tra"sa(t&o"al*
1?
-
8/13/2019 Deepak Mathur
19/37
EMBEDDED SYSTEM :DEEPAK MATHUR
S!ased data stora.e e".&"e* so oers developers a#&l&ar &"tera(es or data
a((ess/
!racle $ereley D$Ber-ele$ DB &s ra(les o"l$ "o",relat&o"al s%&te o data!ase prod%(ts/ Ber-ele$
DB prov&des '&.',peror#a"(e B,tree* 'as'* pers&ste"t C%e%e a"d ot'er str%(t%res
or stor&". pro.ra# data &" &ts "at&ve or#at/ Ber-ele$ DB l&"-s d&re(tl$ &"to t'e
address spa(e o t'e appl&(at&o" t'at %ses &t/ As a res%lt* t'ere &s "o separate serverto &"stall or ad#&"&ster/
!racle Database %ite
ra(le Data!ase &te &s t'e (o#pa"$s e#!edded data!ase s$ste# des&."ed or
#o!&l&7ed appl&(at&o"s/ ra(le &te oers d&s-,!ased S stora.e serv&(es &" a
s#all,ootpr&"t pa(-a.e/ Developers (a" also %se t'e S$"('ro"&7at&o" Server to-eep a (olle(t&o" o ra(le &te (l&e"t data!ases s$"('ro"&7ed &t' a (e"tral&7ed
ra(le Data!ase store/
onclusion
ra(le oers a ra".e o data!ase prod%(ts to developers !%&ld&". se(%r&t$ s$ste#s/
Data #a"a.e#e"t &s at t'e (ore o v&rt%all$ ever$ (o#p%ter s$ste#* &"(l%d&".se(%r&t$ s$ste#s/ T'e %"%s%al reC%&re#e"ts &" se(%r&t$* 'oever* #ea" t'at
des&."ers #%st (are%ll$ (o"s&der t'e&r opt&o"s 'e" ('oos&". data!ase te('"olo.$
or deplo$#e"t/ 9o##er(&all$,ava&la!le prod%(ts (a" prov&de o%tsta"d&".
peror#a"(e* rel&a!&l&t$ a"d s(ala!&l&t$* !%t %"less t'e$ are epressl$ des&."ed or
e#!edded %se* #a$ (o#pro#&se overall s$ste# se(%r&t$/ra(les a#&l$ o e#!edda!le data!ase prod%(ts L ra(le Data!ase* ra(leTesTe"* ra(le Ber-ele$ DB a"d ra(le &te L oer a ra".e o stora.e serv&(es*
&" pa(-a.es t'at (a" !e eas&l$ deplo$ed &" #&ss&o",(r&t&(al se(%r&t$ s$ste#s/ T'e(o#!&"at&o" o peror#a"(e* rel&a!&l&t$* s(ala!&l&t$ a"d se(%r&t$ t'at ra(le oers
&s a" porta"t adva"ta.e to ve"dors !%&ld&". prod%(ts &" t'&s spa(e/
#nformation apliances
.e"eral ter#s* a" information applianceor information de'ice&s#a('&"e or dev&(e t'at &s %sa!le or t'e p%rposes o (o#p%t&". *
tele(o##%"&(at&o" * reprod%(t&o" * a"d prese"tat&o" e"(oded "or#at&o" &"
#$r&ad or#s a"d appl&(at&o"sT'e (o##o" te('"&(al %sa.e o IinformationapplianceI )#A+ &s #ore spe(&&( J &/e/* a" appl&a"(e t'at &s spe(&all$ des&."ed to
peror# a spe(&&( %"(t&o" Js%(' as pla$&". #%s&( * p'oto.rap'$ /
T$p&(al ea#ples are s#artp'o"e a"d perso"al d&.&tal ass&sta"t/ "or#at&o"
appl&a"(es part&all$ overlap &" de&"&t&o" &t'* or are so#etes reerred to as*
s#art dev&(es* e#!edded s$ste# * #o!&le dev&(es* &reless dev&(es* or'a"d'elddev&(es/
Pervasive Computing is the main characteristic of the emerging fourth era of computer
evolution. The paper discusses features of a new generation of intelligent sensor-based
information appliancesfor distributed heterogeneous real-time applications. Theseappliances
1
-
8/13/2019 Deepak Mathur
20/37
EMBEDDED SYSTEM :DEEPAK MATHUR
will be found in the intelligent homes, offices, automobiles and cities of the future. They will also
offer higher mobility and convenience to professionals and open new avenues to many industrial
and health applications.
1. Introduction
Since its emergence, some forty years go, computing industry has passed through a rapidsequence of technological phases: central computing/mainframe (1950s-1980s), personal
computer/PC (1980s-...), computer networks (1990s -...). A fourth era is emerging now, when
computers become pervasive, i.e. a technology more noticeable by its absence than its presence
[1], [6], [11], [14], [17], [22], [25].
The first mass-produced pervasive computing devices are starting to appear. The Clarion
AutoPC [8] provides an efficient, reliable and secure integrated communications, computing,
navigation, car control and entertainment system. The NCR Microwave Oven/Home Banking
Terminal [21] and the Electrolux Internet Connected Screen Fridge [12], allow effortless home
management.
A good example scenario is given in [16]:
"Opening the fridge to take out a soda, you may notice that there is only one left. The smart
fridge recorded that and adds an action item on your shopping list. The next day, as you drive
home from work, the GPS-enabled AutoPC in your car, previously informed by your fridge
that purchases need to be made, signals that you are near a supermarket. As you cruise the
isles of the supermarket, wearing your augmented-reality goggles and your wearable
computer a soda supply triggers an object recognition program and an alarm reminds you to
buy soda. The same could be done by your pocket Personal Digital Assistant (PDA) when
sensing the presence of the soda supply."
Another pervasive computing example is given in [14]:
,age "Your intelligent car develops an engine problem, but instead of flashing you a warning
light it sends a message directly to the manufacturer over a wireless connection to the
network. The manufacturer's systemsdiagnose the problem and transmit a fix back to the
electronics complex in your car. In fact, that corrective fix is transmitted to all modelseverywhere in the world, without ever having to notify the owners. .... Instant
informationon performance is captured and sent immediately into product development
and manufacturing. "
The recently announced Cisco Internet Home, a 170 square-meter living space, has almost
all house appliances(refrigerator, microwave oven, internet-based phone, television,
computer, Web cams, wireless touch-pads, health maintenance devices, ...) connected to
Internet through a Residential Gateway. Cisco SystemsInc. wants to prove that "... the
Internet is the next utility in the home, and, within three to five years, will be as pervasive as
gas, water or electricity."
Electric servoappliancesare a good example of pervasive technology [4], [6]. The average
North American home contains two dozen or more electric motors. A multitude of sensors is
gathering the informationneeded to control them. As all these are buried inside many appliances(vacuum cleaners, microwave ovens, refrigerators, VCRs, etc.) we have difficulty identifying
them and we actually don't care where and how many they are as long as they are doing their job.
In the future, the same will be true with computers, most of which will be hidden in information
appliances[22]. These new appliancesare "smart devices" embeddedwith microprocessors that
allow users to plug into intelligent networks and gain direct, simple, and secure access to both
relevant informationand services. These devices are as simple to use as calculators, telephones
or kitchen toasters. Pervasive Computing envisions the "networkedhome" where domestic
devices can interact seamlessly with each other and with in-home and external networks. Using
the existing home infrastructure based on open industry standards, a person will be able to
integrate the home network with external networks to easily manage home devices, both locally
and remotely.
Recent progress in computer, integrated circuit, and communications technologies allows theuse of complex algorithms from various domains (such as signal and image processing, system
identification, modelling, control, and AI). It becomes also possible to implement user friendly
virtual environments for the development of an ever growing diversity of real-time intelligent
sensing applications ranging from Computer Integrated Manufacturing (CIM) to smart homes
and offices [15], [18], [23].
Early digital and computer-based instrumentation architectures and communications standards
2F
-
8/13/2019 Deepak Mathur
21/37
EMBEDDED SYSTEM :DEEPAK MATHUR
asHP-IB (IEEE 488) represented embryonic smart sensing solutions supporting the first
generation of computer based industrial applications. Microprocessor controlled sensors and
virtual instrumentation integration environments such asLabView, together with wireless and
Internet communications, allowed to develop a large variety of embeddedindustrial applications.
The advent of pervasive computing marks an urgent need for a new generation of intelligentsensing agents and information appliancesas well as for related resource management
,age .environments to be used in a broader selection of applications involving loosely coupled, event-
driven, heterogeneous information appliances.
The aim of this paper is to discuss development scenarios for intelligent sensor environments
and pervasive computer architectures able to support a new generation of information appliances
for distributed heterogeneous real-time applications.
2. Sensor-based information appliances
While the smart networkedhome is a very good first example, the development of intelligent
sensing agents and sensor-based information applianceswill spread the pervasive technology
ideas to a multitude of human activities such as mining and manufacturing, security industry,transportation, training and health etc. It is not exaggerate to claim that this technology, when
integrated with the emerging global informationinfrastructure, will have a profound impact on
our personal and professional activities, and will open business opportunities, of a similar or
even higher scale than what we are experiencing presently with the Internet.
As their perception, intelligence and networking abilities grow, the electricappliancesare
evolving into information appliances representing the next, information-intensive, evolutionary
stage for the pervasive computing paradigm. Donald Norman makes a compelling argument in
[22] for the informationappliance paradigm that he sees as being "the natural successor to
today's [computer] complexity ... through the user-centered, human-centered, humane technology
of applianceswhere the technology of the computer disappears behind the scenes into task-
specific devices that maintain all the power without the difficulties." The business model for this
disruptive technology shifts from the technology-driven computer industry to the consumer-driven model of the consumer appliance industry. Lower profit margins are to be expected from
high volumes of consumable devices, services and content.
The nature of pervasive information appliancesrequires that the developed architectures
should distributed rather than centralized. These applianceswill provide a seamless intelligent
connection of the perception to action, [7]. These new developments point to a new type of
intelligent control based on a multisensory perception of the state of the controlled process and
its environment [7], [10]. The use of multiple sensors is beneficial in improving the accuracy, the
cost and robustness of the perception process. World models, built and maintained from
informationgathered by a multitude of sensors, provide a common abstract representation of the
state of the environment. At the perception level, the world model is analyzed to infer
relationships between different objects.
Sensor architectures integrating bothproprioceptors (sensors monitoring the internal state of
information appliances) and exteroceptors (sensors monitoring the state of the environment
outside the informationappliance) using sensor-models and world-models will provide superior
modularity, interchangeability ("plug and play") and transparence. All these will eventually
allow for easier sensor fusion and knowledge extraction.
,age /Intelligent task-directed informationgathering features will allow for a more elastic and
efficient use of the inherently limited sensing and processing capabilities of each sensor. Each
task a sensor has to carry out determines the nature and the level of the informationthat is
actually needed. Sensors should be able of selective environment perception that focuses on
parameters important for the specific task at hand and avoid wasting effort to process irrelevant
data. A task-specific decision making process will guide the incremental refinement of the
environment model.
Informationappliance should be able to learn and adapt their behavior to changes in their
working environment including other appliancesas well as human users. Such adaptability is
already provided by the smart habitat controls of some cars which offer an automatic adjustment
of the seat, mirrors, and drive wheel's column tilt to accommodate every driver's preference.
These appliancesshould also be able to deal with multiple redundant communication carriers
21
-
8/13/2019 Deepak Mathur
22/37
EMBEDDED SYSTEM :DEEPAK MATHUR
(Intranet, Internet, power lines, wireless, infrared, etc.).
Some of the specific objectives for the development of these sensor based information
appliancesare:
(i) design of hybrid deliberative/reactive architectures integrating deliberative reasoning and
behavior-based control functions [5];(ii) design of model-based multi-sensor fusion systemsable to integrate a variety of sensors
that cover all four phases in the environment perception process: far away, near to, touching, and
manipulation;
(iii) study of new task-directed sensor fusion and learning methods for an active perception,
which will allow the informationappliance to gather informationby interaction with the
environment;
(iv) design of redundant multi-carrier communication systems.
3. "Symbiont" intelligent appliances
Human-computer interaction (HCI) is a well-established field of computer science and
engineering [1]-[3], [24]. The advent of the embeddedcomputing systemsled to a system
integration approach to HCI design which is quite well summarized by the following quote from
[2]:"Instead of workstations, computers may be in the form of embeddedcomputational
machines, such as parts of spacecraft cockpits or microwave ovens. Because the techniques
for designing these interfaces bear so much relationship to the techniques for designing
workstations interfaces, they can be profitably treated together."
As the era of pervasive computing commences, portable wireless PDAs or wearable
computers will be widely used [4], [19], [20] and [25].
There are applications such as remote sensing, environment monitoring, and telerobotics for
hazardous operating environments requiring very complex monitoring and control processes.
Many of these applications cannot be fully automated. Human operator expertise is still
needed to carry out tasks requiring a higher level of intelligence. In such cases, human operators
,age 0and intelligent sensing systemsare called to work together assymbionts, each contributing the
best of their specific abilities, as illustrated in Figure 1. A proper control of these operations
cannot be accomplished without some telepresence capability allowing the human operator to
experience the feeling that he/she is virtually immersed in the working environment.
Figure 1: Human operators and sensor-based applianceswork together as symbionts, each
contributing the best of their specific abilities. HCI (Human Computer Interaction)
interfaces provide a telepresence capability allowing the human operator to
experience the feeling that he/she is virtually immersed in the working environment.
Appropriate geometric-, force-, and touch-domain human-feedback devices will have to be
developed in addition to the currently available visual and sound HCI devices.
,age 1In order to find efficient solutions to the complex perception tasks, thesesymbiont intelligent
appliances will have to combine their intrinsic reactive-behavior with higher-order world model
representations of the immersive virtual reality systems.
4. Management of heterogeneous functions for a large diversity of information appliances
Pervasive computing environments involve both human-machine and machine-machine
interaction and cooperation paradigms. The discussion will concentrate on machine-machine
aspects.
We are all familiar with human-to-human communication and cooperation, which require a
common language and an underlying system of shared knowledge and common values. In order
to achieve a similar degree of machine-machine interaction and cooperation, a framework should
be developed to allow for the management of heterogeneous functions and knowledge for a large
diversity of pervasive computing devices.
Such a framework should address the communication needs of pervasive devices at a higherlevel than the classical communication network protocols and even distributed computing
frameworks such as CORBA (Common Object Request Broker Architecture) which provide
mainly distribution transparency. Heterogeneous pervasive computing devices cannot
realistically be expected to talk exactly the same language. However, these devices will share
domain-specific knowledge, which may be expressed by each of them in different format/dialect.
Accordingly, the proposed management framework should define a domain specific semantic for
22
-
8/13/2019 Deepak Mathur
23/37
EMBEDDED SYSTEM :DEEPAK MATHUR
common knowledge and functions. This framework is expected to act as a universal translator
between different dialects.
In order to provide a flexible extensible open framework allowing for the information
appliancesinteroperability, methods should be developed to allow different devices to exchange
the grammars describing their own dialects and to learn to understand each other. This way, thedevices will be able to advertise their own functions, search and discover providers of required
services, and express their needs in a collaborative environment.
Going beyond its original scope to interchange structured documents conveniently over the
Internet, XML (Extensible Markup Language), [13] and [26], could provide high level protocols
for exchanging informationbetween different information appliances. XML provides a syntax
for building a formal model known as a DTD (Document Type Definition), which describes
relationships between entities, elements and attributes of each class of documents related to a
certain application domain. Since a DTD gives a standard format for informationrelated to a
specific domain, it can be used to simplify the exchange of informationbetween different
sources which refer to the same domain regardless of the internal format used by each source.
Many kinds of domains have standard DTDs, as for example chip manufacturers, chemical
applications, etc. XML could also be developed to facilitate the interoperability of informationappliances.
Figure 2 illustrates the main communication processes an informationappliance is supposed
to manage.
,age 2Figure 2: Information appliancesshould interact in an unobtrusive way with humans, other
appliancesand the rest of the world while carrying on their specific task in their
physical environment. World models, built and maintained from informationgathered
by a multitude of sensors, provide a common abstract representation of the state of
the environment. A hybrid deliberative/reactive architecture integrates the
deliberative reasoning and behavior-based control functions. A distributed computing
frameworks together with high level informationexchange mechanisms provide aflexible extensible open framework allowing for the information appliances
interoperability. Special communication mechanisms will allow the information
appliance to handle a variety of redundant and complementary informationchannels.
5. Networking technologies for pervasive information appliances.
As a very large number of devices will be connected through infrared and radio wireless and
wire-line global networks infrastructure, existing technologies will be rendered inefficient; new
solutions have to be invented.
Bandwidth and resource limitations of the wireless medium require that informationcontent is
compressed as much as possible, in order to consume the least amount of resource possible.
,age 3However, such low redundancy makes the informationvulnerable, especially in an error-proneenvironment such as wireless channels and networks.
Personal Area Network (IEEE 802.15) and existingLocal and Wide Area Network (e.g. IEEE
802.11),Internet Protocols (Mobile IP, IPv6, RTP/RTCP, RSVP, XTP etc.), Wireless
Application Protocol (WAP) are already available. However, it is expected that the size and
complexity of the problem would require the development of new technologies and standards
when developing a new Distributed Networks Architectures (DNA) suitable for the support of
pervasive computing at a large scale.
The development should address wired and wireless networking issues looking for the
development of cost-effective solutions for environments where deployment of advanced
networking infrastructure could be unjustifiably costly. The following appear to be of an
immediate interest:
Service admission control and connection establishment policies, as well as resource
allocation and resource adaptation algorithms for the support of pervasive devices.
Quality of Service capable, error-resilient and resource allocation-efficient multiple-access
protocols for the efficient transportation of sensor traffic.
Intelligent networking infrastructure and definition of suitable architectures of distributed
nature.
Cost -effective network solutions for environments where there is no advanced networking
23
-
8/13/2019 Deepak Mathur
24/37
EMBEDDED SYSTEM :DEEPAK MATHUR
infrastructure deployment.
Acknowledgment
This work was funded in part by Communications and InformationTechnology Ontario
(CITO) and the Natural Sciences and Engineering Research Council (NSERC) of Canada.
References1. *** "A Brief History of Wearable Computing,"
http://wearables.www.media.mit.edu/projects/wearables/timeline.html
2. ***, "Human-Computer Interaction Bibliography," http://www.hcibib.org/
3. ***, "Human-Computer Interaction Resources,"
http://dir.yahoo.com/Science/Computer_Science/Human_Computer_Interaction__HCI_/
4. ***, "Special Issue on Information Appliances,"IEEE Computer Graphics and Applications
Magazine, May/June 2000.
5. R.C. Arkin,Behavior-Based Robotics, The MIT Press, 1998
6. J. Birnbaum, "Pervasive Information Systems", Communications of the ACM, Vol. 40, No.2,
pp. 40-41, Feb. 1997
7. A. Brooks, L.A. Stein, "Building Brains for Bodies", Autonomous Robots, Vol. 1, No.1, pp.
7-25, 19948. Clarion Corp., "Auto PC ," http://www.autopc.com/walkthrough/communication/, 1999
9. P. Dabke, "Enterprise Integration via CORBA-Based InformationAgents", IEEE Internet
Computing, vol. 3, no. 5, pp. 49-57, Sept-Oct. 1999
,age 410. B.V. Dasarathy, "Sensor Fusion Potential Exploitation Innovative Architectures and
Illustrative Applications," Proc. IEEE, Vol. 85, No. 1, pp. 24-38, Jan. 1997
11. M.L.Dertouzos, "The Future of Computing", Scientific American, 52, pp.52-55, Aug. 1999
12. Electrolux Inc., "Electrolux screen Fridge",
http://www.wired.com/news/news/email/explode-infobeat/technology/story/%17894.html ,
1999
13. L.M. Garshol, "Introduction to XML,"
http://www.stud.ifi.uio.no/lmariusg/download/xml/xml_eng.html
14. L. Gerstner, "Pervasive Computing" , Keynote -CeBIT 98,
http://195.27.241.3/news/news1/ns-3975.html
15. M. Hardwick, D.L. Spooner, T. Rando, K.C. Morris, "Data Protocols for the Industrial
Virtual Enterprise,"IEEE Internet Computing, vol. 1, no. 1, pp. 20-29, Jan-Feb. 1997
16. A.C. Huang, B. Ling, S. Ponnekanti, and A. Fox. "Pervasive Computing: What Is It Good
For?" Workshop on Mobile Data Management (MobiDE) in conjunction with ACM
MobiCom 99
17. IBM, "What is Pervasive Computing", http://www-3.ibm.com/pvc/pervasive.html
18. R. Itschner, C. Pommerell, M. Rutishausser, "Glass: Remote Monitoring of Embedded
Systemsin Power Engineering,"IEEE Internet Computing, vol. 2, no. 3, pp. 46-52, May-
June. 1998
19. S. Mann, "Wearable Computing: A First Step Toward Personal Imaging", IEEE Computer,30 (2), Feb. 1997
20. S. Mann, "Humanistic Computing: WearComp as a New Framework and Application for
Intelligent Signal Processing," Proc. IEEE, Vol. 86, No. 11, pp. 2123-2151, Nov. 1998
21. NCR Corp., "NCR Microwave Oven / Home Banking,"
http://www.wired.com/news/news/technology/story/14949.html
22. D.A. Norman, The Invisible Computer: Why Good Products Can Fail, the Personal
Computer Is so Complex, andInformation AppliancesAre the Solution, The MIT Press,
1999.
23. C.M. Pancerella, N.M. Berry, "Adding Intelligent Agents to Existing EI Frameworks," IEEE
Internet Computing, vol. 3, no. 5,pp. 60-61, Sept-Oct. 1999
24. R.W. Picard, "Human-Computer Coupling," Proc. IEEE, Vol. 86, No. 8, pp. 1803-1807,
Aug. 1998
25. B. Rhodes, "Context-Aware Computing (or, why context needs wearables and wearables
need context)," http://wearables.www.media.mit.edu/projects/wearables/context.html
26. World Wide Web Consortium (W3C), "Extensible Markup Language (XML) 1.0,"
http://www.w3.org/TR/REC-xml
24
-
8/13/2019 Deepak Mathur
25/37
EMBEDDED SYSTEM :DEEPAK MATHUR
T%tor&al: Des&."&". real,te a"d saet$,(r&t&(al e#!edded
Nava appl&(at&o"s , Part 2Sot Real,Te Nava Develop#e"t %&del&"es
B$ Kelv&" &lse"* Ao"&
E#!edded/(o#
)F6
-
8/13/2019 Deepak Mathur
26/37
EMBEDDED SYSTEM :DEEPAK MATHUR
Rule () *se the +a'a Standard Edition platform
T'e !e"e&ts t'at Nava !r&".s to sot real,te #&ss&o",(r&t&(al
s$ste#s are #ost releva"t to lar.e* (o#ple* d$"a#&(appl&(at&o"s/ S&"(e t'e N2ME plator# represe"ts a"
&"(o#pat&!le s%!set o %ll NSE* &t does "ot prov&de a((ess to
NSE,sta"dard 9TS l&!rar$ (o#po"e"ts/ appl&(at&o"s
reC%&re e"terpr&se ed&t&o" (apa!&l&t&es* o!ta&" t'e spe(&&(
e"terpr&se ed&t&o" l&!rar&es t'at are reC%&red a"d r%" t'e# o" a
sot real,te NSE plator#/ Alter"at&vel$* r%" t'e reC%&red
e"terpr&se ed&t&o" %"(t&o"al&t$ o" trad&t&o"al )"o" real,te+NM plator#s '&(' (o##%"&(ate &t' t'e sot real,te
NM #a('&"es %s&". RM or ot'er "etor-&". proto(ols/
Rule ,) $aseline a particular 'ersion of the +SE libraries
=or a"$ .&ve" develop#e"t proe(t* &t &s porta"t to
sta"dard&7e o" a part&(%lar vers&o" o t'e NSE l&!rar&es/ As
Sta"dard Ed&t&o" Nava 'as evolved* ea(' "e release adds "e(apa!&l&t&es a"d epa"ds #e#or$ ootpr&"t reC%&re#e"ts/
Ea(' "e release also depre(ates )or re#oves+ (erta&"
(apa!&l&t&es '&(' are repla(ed &t' "eer sol%t&o"s/ $o%
are or-&". o" a lar.e proe(t or '&(' sotare #a&"te"a"(e
#%st spa" #a"$ $ears* $o% pro!a!l$ a"t to sele(t a (erta&"
Sta"dard Ed&t&o" plator# a"d ree7e t'at ('o&(e/ t'er&se*
$o% &ll e"d %p #a-&". #a"$ %""e(essar$ ('a".es to $o%r
(ode !ase %st to #a&"ta&" (o#pat&!&l&t$ &t' t'e ever
('a".&". de&"&t&o" o t'e Nava plator#/ Do(%#e"t t'&s
de(&s&o" to all developers a"d #a"a.ers/
Rule ) .ollow /best practices/ recommendations for +a'a
de'elopment
T'e sotare C%al&t$ #eas%res are ver$ s&lar or sot real,
te Nava a"d trad&t&o"al Nava/ U"less spe(&&ed to t'e
(o"trar$* ollo t'e a((epted .%&del&"es or r&t&". porta!le
a"d #a&"ta&"a!le NSE (ode/
26
-
8/13/2019 Deepak Mathur
27/37
EMBEDDED SYSTEM :DEEPAK MATHUR
Rule 0) *se +.ace and S1" for graphical user interfaces
Most #&ss&o",(r&t&(al sotare does "ot reC%&re .rap'&(al %ser
&"tera(es/ sot real,te s$ste#s do reC%&re .rap'&(al %ser&"tera(es* %se t'e ope",so%r(e S8T a"d N=a(e l&!rar&es
&"stead o t'e propr&etar$ A8T a"d S&". (o#po"e"ts/ S8T
a"d N=a(e r%" &" less #e#or$ a"d r%" aster t'a" S8T a"d
S&"./
Rule 2) *se cooperating hard real-time components to
interface with nati'e codeT'e N proto(ol &"trod%(es s&."&&(a"t data #ars'all&".
over'ead 'e" o!e(ts are s'ared !etee" t'e Nava a"d "at&ve
e"v&ro"#e"t/ =%rt'er#ore* t'e s'ar&". proto(ols #a$ epose
Nava o!e(ts a"d Ipr&vateI v&rt%al #a('&"e data str%(t%res to
%"d&s(&pl&"ed 9 (o#po"e"ts* &"trod%(&". t'e r&s- t'at
#&s!e'av&". 9 (ode &ll (o#pro#&se t'e &"te.r&t$ o t'e
v&rt%al #a('&"e e"v&ro"#e"t/
Eper&e"(e o e&st&". (%sto#ers &" several real proe(ts
&"volv&". '%"dreds o #a" $ears o develop#e"t do(%#e"t
t'at t'ese r&s-s are real* 'av&". (ost develop#e"t tea#s
s&."&&(a"t eort a"d (ale"dar te to (orre(t errors
&"trod%(ed &"to t'e Nava e"v&ro"#e"t !$ 9 developers r&t&".
N (o#po"e"ts/ Better peror#a"(e a"d stro".er separat&o"
o (o"(er"s &s real&7ed !$ ple#e"t&". all &"tera(es to "at&ve
(ode as (ooperat&". 'ard real,te (o#po"e"ts as de&"ed !$
t'e 'ard real,te RTSN pro&le/
Rule 3) *se cooperating hard real-time components with
performance-critical code
t'e t'ro%.'p%t o (erta&" sot real,te (o#po"e"ts &s "ot
s%&(&e"t to #eet peror#a"(e reC%&re#e"ts* ple#e"t t'e
reC%&red %"(t&o"al&t$ as (ooperat&". 'ard real,te
(o#po"e"ts as de&"ed !$ t'e 'ard real,te RTSN pro&le/
Be(a%se t'e (ode .e"erat&o" #odel or 'ard real,te
2
-
8/13/2019 Deepak Mathur
28/37
-
8/13/2019 Deepak Mathur
29/37
EMBEDDED SYSTEM :DEEPAK MATHUR
java.io libraries:So#e e#!edded tar.ets 'ave "o "ot&o" o
std&"* stdo%t* or stderr/ So#e e#!edded tar.ets 'ave "o "ot&o"
o "o",volat&le &le stora.e/
java.net libraries:So#e e#!edded tar.ets 'ave "o "etor-
(o""e(t&v&t$/
Re(o."&7e t'at t'e %se o t'ese l&!rar&es #a$ l&t t'e
porta!&l&t$ o (ode a"d #a$ (o"tr&!%te to t'e %t%re
#a&"te"a"(e !%rde"/
Rule 6) #solate +7M dependencies
E&st&". sot real,te v&rt%al #a('&"es d&er &" 'o t'e$
s%pport (erta&" porta"t #&ss&o",(r&t&(al (apa!&l&t&es/ 8rap
all NM depe"de"(&es &" spe(&al (lasses t'at (a" !e .&ve"
etra atte"t&o" & t'e (ode #%st !e ported to a d&ere"t NM/
Spe(&&( serv&(es t'at reC%&re t'&s 'a"dl&". &"(l%de:
A8H&.',pre(&s&o" t&". serv&(es: o!ta&"&". real,te &t'
.reater pre(&s&o" t'a" 1 #s dr&t,ree sleep)+* a&t)+* a"d
o&")+ serv&(es/
$89PU,te a((o%"t&".: Ho #%(' 9PU te (o"s%#ed !$
ea(' t'readQ Ho #%(' 9PU te &s (o"s%#ed at ea('pr&or&t$ levelQ
8ar!a.e (olle(t&o" pa(&".: Ho to #o"&tor t'e #e#or$
allo(at&o" !e'av&or o t'e appl&(at&o" sotare a"d t'e
ee(t&ve"ess o 9Q Ho to s('ed%le 9 to #a&"ta&" pa(e
&t' allo(at&o" ratesQ
D8S('ed%l&".: a v&rt%al #a('&"e oers '&.',level
s('ed%l&". s%pport* s%(' as earl&est,deadl&"e &rst or #a%#
2
-
8/13/2019 Deepak Mathur
30/37
EMBEDDED SYSTEM :DEEPAK MATHUR
a((r%ed %t&l&t$ s('ed%l&".* t'e s('ed%l&". a"d s$"('ro"&7at&o"
serv&(es s'o%ld !e &solated &t'&" a (e"tral&7ed AP/
Rule (9) arefully select an appropriate soft real-time
'irtual machine
"e o t'e #ost porta"t de(&s&o"s &" deter#&"&". t'e
s%((ess o a sot real,te Nava develop#e"t eort &s sele(t&o"
o a s%&ta!le NM/ Ea(' develop#e"t proe(t 'as %"&C%e
reC%&re#e"ts a"d (o"stra&"ts* so &t #a$ !e "e(essar$ to
&"depe"de"tl$ eval%ate t'e releva"(e o var&o%s ava&la!lev&rt%al #a('&"e prod%(ts or ea(' develop#e"t eort/ "
sele(t&". a v&rt%al #a('&"e* (o"s&der at #&"%# ea(' o t'e
ollo&". &ss%es:
A8Real,Te .ar!a.e (olle(t&o" s'o%ld 'ave a #a%#
pree#pt&o" late"($ a"d s'o%ld !e &"(re#e"tal so t'at 'e"
t'e .ar!a.e (olle(tor &s pree#pted !$ '&.'er pr&or&t$appl&(at&o" t'reads* &t (a" res%#e &t' t'e "et &"(re#e"t o
or- 'e" t'e appl&(at&o" t'read rel&"C%&s'es t'e 9PU/
$8T'e .ar!a.e (olle(tor s'o%ld dera.#e"t t'e 'eap &" order
to ass%re rel&a!le lo".,r%""&". operat&o" or s'o%ld prov&de
so#e alter"at&ve #e('a"&s# to avo&d rel&a!&l&t$ pro!le#s
res%lt&". ro# ra.#e"tat&o" o t'e 'eap/ A"d &t #%st
a((%ratel$ re(la all dead #e#or$ rat'er t'a" re(la&".
o"l$ a (o"servat&ve approat&o" o t'e dead #e#or$/
=&"all$* &t #%st !e pa(ed to ass%re t'at #e#or$ &s re(laed at
rates (o"s&ste"t &t' t'e appl&(at&o"@s stead$,state de#a"d or
"e #e#or$ allo(at&o"/
8All s$"('ro"&7at&o" lo(-s #%st ple#e"t pr&or&t$
&"'er&ta"(e/ All a&t C%e%es #%st !e ordered a((ord&". to
t'read pr&or&t&es/
3F
-
8/13/2019 Deepak Mathur
31/37
EMBEDDED SYSTEM :DEEPAK MATHUR
D8T'e v&rt%al #a('&"e "eeds to prov&de #o"&tor&". a(&l&t&es
to allo s%perv&sor$ t'reads to o!serve a"d #eas%re t'e real,
te reso%r(e reC%&re#e"ts o &"d&v&d%al (o#po"e"ts/ A#o".reC%&red (apa!&l&t&es are t'e a!&l&t$ to deter#&"e 'o #%('
9PU te &s (o"s%#ed !$ part&(%lar t'reads* 'o #%(' 9PU
te &s (o"s%#ed !$ t'e .ar!a.e (olle(t&o" t'read)s+* t'e rates
at '&(' part&(%lar t'reads are allo(at&". #e#or$* a"d t'e
total a#o%"t o #e#or$ !e&". reta&"ed as l&ve/
E8Deter#&"e t'e release level o t'e N2SE l&!rar&es reC%&redor a part&(%lar proe(t a"d ass%re t'at t'e ve"dor &s a!le to
s%pport t'e des&red l&!rar$ vers&o" t'ro%.'o%t t'e d%rat&o" o
$o%r develop#e"t proe(t/
.8Ass%re t'at t'e v&rt%al #a('&"e prov&des l&!rar&es or '&.',
pre(&s&o" te #eas%re#e"ts* a"d or dr&t,ree a&t)+* o&")+*
a"d sleep)+ serv&(es/
G8Ass%re t'at t'e v&rt%al #a('&"e &s s%pported !$ appropr&ate
A'ead,o,Te (o#p&lat&o" a"d l&"-&". tools & t'e s$ste# &s
stat&(all$ (o#p&led a"d loaded/
:8 t'e s$ste# #%st d$"a#&(all$ load (o#po"e"ts* ass%re
t'at t'e d$"a#&( (lass loader (a" !e (o"&.%red to r%" at loerpr&or&t$ t'a" t'e o".o&". real,te appl&(at&o" or-load/
#8 t'e d$"a#&( (lass loader #%st peror# NT (o#p&lat&o"*
ass%re t'at t'e NT (o#p&ler (a" !e (o"&.%red to s%pport
ea.er l&"-&". a"d tra"slat&o"* #ea"&". t'at all (o#po"e"ts are
%ll$ resolved a"d tra"slated 'e" t'e &rst o t'e
&"terdepe"de"t #od%les &s loaded* rat'er t'a" deerr&". NT
tra"slat&o" %"t&l t'e #o#e"t ea(' (ode #od%le &s &rst
ee(%ted/ So#e s$ste#s "eed to d$"a#&(all$ load (o#po"e"ts
'&(' ere t'e#selves a'ead,o,te (o#p&led/ er&$ t'&s
31
-
8/13/2019 Deepak Mathur
32/37
EMBEDDED SYSTEM :DEEPAK MATHUR
(apa!&l&t$ &s s%pported & releva"t to $o%r proe(t
reC%&re#e"ts/
+8Ass%re t'at t'e v&rt%al #a('&"e &"(l%des "e(essar$
develop#e"t tools* &"(l%d&". s$#!ol&( de!%..&". o !ot'
&"terpreted a"d (o#p&led (ode a"d r%",te peror#a"(e a"d
#e#or$ %sa.e pro&l&"./
;8Ass%re t'at t'e v&rt%al #a('&"e &"(l%des s%pport or
(ooperat&". 'ard real,te Nava (o#po"e"ts & t'e pla""eddevelop#e"t proe(t #a$ reC%&re &"te.rat&o" &t' (ooperat&".
'ard real,te (o#po"e"ts/
Embedded JavabyVincent Perrier
08/15/2001
Java's strong appeal for embedded applications is sometimes offset by concerns about its speed and its memoryrequirements !o"ever# t$ere are tec$niques t$at you can use to boost Java performance and reduce memory needs#and of course t$e Java virtual mac$ine you c$oose affects Java performance# too %ou can ma&e betterinformed
decisions about using Java by understanding t$e factors t$at affect its performance and selecting meaningfulbenc$mar&s for embedded applications
(ec$niques for improving application e)ecution and c$oosing t$e rig$t Java virtual mac$ine *JV+, address only a fe"aspects of system arc$itecture t$at affect overall Java performance -$en selecting an embedded Java platform# you
must ta&e into account a $ost of ot$er factors# beyond t$e scope of t$is article# t$at $ave an impact on performance.mong t$em are $ard"are processor selection# Java compatibility and supported .Ps# application reliability and
scalability# t$e c$oice of a realtime operating system *(, "it$ associated native libraries and drivers# t$eavailability of Java development tool &its and middle"are# grap$ics support# and t$e ability to put t$e application code
into +
nce you've selected a $ard"are and soft"are development platform# t$ere are a variety of factors to consider t$at "ill$elp you c$oose t$e bestperforming Java virtual mac$ine *JV+, for your application
Java Is Big and Slow: Myth or Reality?.lt$oug$ t$e average Java bytecode application e)ecutes about ten times more slo"ly t$an t$e same program "rittenin 3 or 344# $o" "ell an application is "ritten in Java can $ave a tremendous impact on performance# as a study byut6 Prec$elt# 73omparing Java vs 3/344 fficiency 9ifferences to nterpersonal 9ifferences7 *3ommunications of t$e
.3+# ctober 1:::,# $as s$o"n n t$e study# ;8 programmers "ere as&ed to "rite t$e same application program ineit$er 3/344 or Java .pplying statistical analysis to t$e performance data for t$e programs revealed t$at actual
performance differences depended more on t$e "ay t$e programs "ere "ritten t$an on t$e language used ndeed#
32
http://onjava.com/pub/au/232http://onjava.com/pub/au/232http://adserver.adtechus.com/adlink/3.0/5159/425855/0/170/ADTECH;loc=300;key=key1+key2+key3+key4;grp=%5Bgroup%5Dhttp://onjava.com/pub/au/232 -
8/13/2019 Deepak Mathur
33/37
EMBEDDED SYSTEM :DEEPAK MATHUR
t$e study s$o"ed t$at a "ell"ritten Java program could equal or e)ceed t$e efficiency of an averagequality 3/344
program
Various approac$es are available for boosting bytecode e)ecution speed ($ey include using a to ;2
+? of .+ in addition to t$e application's requirements ($e large memory requirement places J( compilers out ofreac$ for many categories of embedded applications
.$eadoftime compilers rival J( compilers in increasing Java e)ecution speed @nli&e J( compilers# t$ey're usedbefore t$e application is loaded onto t$e target device# as t$eir name indicates ($at eliminates t$e need for e)tra.+# but it creates t$e need for more + or flas$ memory *t$at is# storage static memory,# because compiled
mac$ine code requires four to five times t$e memory of Java bytecode 3ompiling a$ead of time tends to undermineone of t$e great benefits of t$e Java platform because a measure of dynamic e)tensibility can be lost# since it may not
be possible to do"nload ne" versions of compiled classes .dditionally# any dynamically loaded code# li&e an applet#"on't benefit from a$eadoftime compilation and "ill e)ecute more slo"ly t$an resident compiled code
Profiling Java code# alt$oug$ some"$at comple)# can $elp minimi6e code e)pansion "$en you're using an a$eadoftime compiler . good goal is to compile only t$at 20 percent of t$e Java classes in "$ic$ t$e application spends 80
percent or more of its time
9ynamic adaptive compilers offer a good compromise bet"een J( and a$eadoftime compilers *see (able 1, ($ey'resimilar to J( compilers in t$at t$ey translate bytecode into mac$ine code on t$e fly 9ynamic adaptive compilers#
$o"ever# perform statistical analysis on t$e application code to determine "$ere t$e code merits compiling and "$ereit's better to let t$e JV+ interpret t$e bytecode ($e memory used by t$is type of compiler is userconfigurable# so you
can evaluate t$e tradeoff bet"een memory and speed and decide $o" muc$ memory to allocate to t$e compiler
33
-
8/13/2019 Deepak Mathur
34/37
-
8/13/2019 Deepak Mathur
35/37
EMBEDDED SYSTEM :DEEPAK MATHUR
%ou can trim J2+ by eliminating classes and code components t$at aren't needed for your application ($e JV+#
native libraries# core classes# and application bytecode go into + JV+s for embedded applications generally rununder 500 &?# "$ereas class libraries for J2+ typically don't e)ceed 15 +? Java components t$at affect .+
requirements include t$e JV+ *for bytecode e)ecution,# t$e potential dynamic compiler# t$e Java $eap# and t$e numberof t$reads *t$e latter t"o obviously depend on t$e application, )ecuting as muc$ of t$e application as possible using
an interpreter "$ile maintaining acceptable e)ecution performance $elps contain t$e memory footprint
electing a $ig$ly scalable operating system and 3runtime pac&age allo"s you to tune t$ese soft"are
components for optimal memory efficiency calingt$e Java environment can be comple)# $o"ever
@sually# a t"ostage process is involved Cirst# youcan use t$e command line verbose option#
-
8/13/2019 Deepak Mathur
36/37
EMBEDDED SYSTEM :DEEPAK MATHUR
Measuring !ppliation Performane
-$en considering a benc$mar& to determine t$e overall performance of a Java application# bear in mind t$at bytecodee)ecution# native code e)ecution# and grap$ics eac$ play a role ($eir impact varies depending on t$e nature of t$e
specific applicationE "$at t$e application does# $o" muc$ of it is bytecode versus native code# and $o" muc$ use itma&es of grap$ics !o" "ell a JV+ "ill perform for a given application depends on $o" t$e unique mi) of t$ese t$ree
functional areas maps onto its capabilities Fiven t$ese variables# t$e best "ay to benc$mar& a JV+ is against youro"n application ince t$at's not possible before t$e application $as been "ritten# you must find t$ose benc$mar&s
t$at are most relevant to t$e application you intend to "rite
orting t$roug$ Java benc$mar&s to find t$e ones t$at are relevant for embedded applications can be confusingpecJV+:8# for e)ample# provides a relatively complete set of benc$mar&s t$at test diverse aspects of t$e JV+ounds good but pecJV+:8 runs in a client/server environment and requires a minimum of B8 +? of .+ on t$e
client side for t$e JV+ ($at e)cludes it from any relevance to most embedded applications n addition# it can't beused "it$ precompiled classes
t$er benc$mar&s $ave different pitfalls Volano+ar for e)ample# is a c$at server implementation and is t$ereforerelevant only for benc$mar&ing applications "it$ t$e same set of requirements as c$at servers ($e J+ar& benc$mar&assumes t$at t$e application includes t$e applet vie"er and a full implementation of Java's .bstract -indo"ing (ool&it
*.-(, ($is benc$mar& can be irrelevant for t$e many embedded applications t$at $ave no grap$ics or $ave limitedgrap$ics t$at don't require full .-( support# suc$ as devices running a PersonalJava minimal.-( implementation
mbedded 3affeine+ar& *3+,# t$e embedded version of t$e 3affeine+ar& benc$mar& from Pendragon oft"are *it
$as no grap$ics tests,# is easy to run on any embedded JV+# since it requires support for basic Java core classes only#and it doesn't require a large amount of memory +ore importantly# t$ere's a $ig$ correlation bet"een good scores on
t$is benc$mar& and improved bytecode performance in embedded applications
(o get t$e most meaningful results from 3+# you must use e)actly t$e same $ard"are "$en testing different JV+s
%ou must also pay attention to implementation differences among t$e JV+s you're testing f# for e)ample# you'recomparing a JV+ "it$ a J( compiler against a JV+ "it$out one# it's important to run t$e JV+ t$at $as t$e J( "it$ t$e
-
8/13/2019 Deepak Mathur
37/37
EMBEDDED SYSTEM :DEEPAK MATHUR
-ind iver's Personal J-or&s includes a good benc$mar& for evaluating grap$ics performance in embedded systems
($e benc$mar& targets t$e PersonalJava .-( "it$ a set of ;: tests of images# buttons# scrolling# te)t# and basic 29grap$ics
Real#$orld Performane
Cinally# you need to consider t$e performance of your [email protected] (o $elp you identify [email protected] performance# you s$ouldsupplement simple benc$mar&s by running real"orld applications t$at e)ercise large amounts of different# comple)
Java code uc$ test code must meet a number of requirementsE t s$ould contain a large number of classes t$atreflect an estimate of t$e real application *20plus is a good ballpar&, t must also be large *t$ousands of lines# at
least, and $ave no file system access and no grap$ics ome e)isting programs meet all t$ose criteria ($e [email protected] e)pression pac&age# rege)p# for e)ample# comprises about ;#000 lines of code and more t$an 21 classes#providing a large number of e)pressions to parse and matc$ .not$er program# t$e ?ean $ell interpreter# is a simple
prime number sieve t$at $as G0 classes and several t$ousand lines of code Java3ode3ompact# un's PersonalJava+i6ing tool# also "ould ma&e a good test program
($e result of running t$ese programs as test cases illustrates t$e "ide variance in t$e meaning of benc$mar& scoresCor e)ample# a JV+ using a J( compiler may run mbedded 3affeine+ar& up to ;0 times faster t$an "$en t$e no