novel component middleware for building dependable sentient computing applications
DESCRIPTION
Novel Component Middleware for Building Dependable Sentient Computing Applications. Maomao Wu, Adrian Friday, Gordon Blair, Thirunavukkarasu Sivaharan, Paul Okanda, and Hector Duran Limon Lancaster University Carl-Fredrik Sørensen Norwegian University of Science and Technology - PowerPoint PPT PresentationTRANSCRIPT
Novel Component Middleware for Building Dependable Sentient Computing Applications
Maomao Wu, Adrian Friday, Gordon Blair,Thirunavukkarasu Sivaharan, Paul Okanda, and Hector Duran LimonLancaster University
Carl-Fredrik SørensenNorwegian University of Science and Technology
Gregory Biegel and René MeierUniversity of Dublin, Trinity College
14/06/2004 ECOOP'04 Workshop 2
Introduction
Advances in Ubiquitous ComputingNovel applications without direct human
control Intelligent vehiclesTraffic management systemsSmart working/living environment
Activity from automobile industryBMW, DaimlerChrysler, General Motors,
etc.
14/06/2004 ECOOP'04 Workshop 3
Research Challenges
Application requirements Sentience or context-aware Autonomy Decentralisation Proactivity Adaptivity Time and Safety Criticality
Appropriate computational model Programming abstraction Middleware support
14/06/2004 ECOOP'04 Workshop 4
CORTEX Project
EU funded collaborative projectCO-operating Real-time senTient objects:
architecture and EXperimental evaluationUniversidade de Lisboa (Portugal)Lancaster University (United Kingdom)Trinity College (Ireland)Universität Ulm (Germany)
Sentient object modelMiddleware and demo application
14/06/2004 ECOOP'04 Workshop 5
Sentient Object Model
Consume Produce
Sensory Capture
and Fusion
Context Representation
Inference Engine
Sensor
Sensor
Actuator
Actuator
Sentient Object
Event
14/06/2004 ECOOP'04 Workshop 6
Component Model (1)
Dynamic configuration and reconfiguration OpenCOM
Is built atop of a subset of Microsoft’s COM Keeps COM’s core feature
Binary level interoperability standard Microsoft IDL COM’s globally unique identifiers IUnknown Interface
Fundamental Concepts Interface: a unit of service provision Receptacle: a unit of service requirement Connection: binding between interface and receptacle
14/06/2004 ECOOP'04 Workshop 7
Component Model (2)
OpenCOM standard runtime Manage the creation and deletion of components Act upon requests to connect and disconnect components A system graph of running components is maintained to
support the introspection of a platform’s structure Component Frameworks (CFs)
“collections of rules and interfaces that govern the interaction of a set of components plugged into them”
Targeted to a specific domain Publish-Subscribe CF, Context CF, Resource and QoS
Management CF.
http://www.comp.lancs.ac.uk/computing/research/mpg/reflection/opencom.php
14/06/2004 ECOOP'04 Workshop 8
Publish-Subscribe CF
A componentised prototype of the STEAM P-S system Implicit event model for mobile and ad-hoc network
environments Decentralised approach: does not rely on the
presence of any separate infrastructure Event filtering: subject, content, and context. Event are represented in XML, and an XML profile
defines the generic event dialect Underlying communication
Group communication CF: probabilistic ad-hoc multicast protocol, IP-multicast based protocol, and a local (shared memory based) group communication protocol
14/06/2004 ECOOP'04 Workshop 9
Context CF (1)
Sensor capture and fusion Multivariate Gaussian modelling Bayesian networks Dead-reckoning
Inference engine A program that reasons about a set of rules (a
knowledge base) in order to derive an output. The knowledge is encoded as a set of production
rules, contexts are represented as “fact”. CLIPS – C Language Integrated Production
System, its internal implementation is based on RETE net.
14/06/2004 ECOOP'04 Workshop 10
Context CF (2)
CLIPS rule sample
The paradigm facilitates uniform treatment of both context and QoS Rules to trigger adaptations and actuations based on
changes in measure of QoS data CLIPS DLL and OpenCOM component for
WinXP and WinCE
(defrule rule-obstacle-near "CLIPS rule for obstacle near" (car-id (id ?id)) ?f1 <- (obstacle (distance near)) => (retract ?f1) (publish ?id stop))
14/06/2004 ECOOP'04 Workshop 11
Autonomous Cooperative Vehicles
14/06/2004 ECOOP'04 Workshop 12
Demo Application
Vehicles travel on virtual circuitsPredefine a set of GPS waypoints
Second car follows the leading oneCollision avoidanceObey traffic light rulesPedestrian/obstacle detectionQoS adaptation: network coverage
14/06/2004 ECOOP'04 Workshop 13
Software Components Configuration
Ultrasonic Sensor
GPS Sensor
Consume Produce
Steer Actuator
Speed Actuator
Digital Compass Sensor
Other Vehicle Sentient Object
Software Event
Interface
Component
Receptacle
Ultrasonic Fusion 2
Obstacle Sensing Service
Location Sensing Service
Direction Sensing Service
Ultrasonic Fusion 1
GPS Fusion 2
GPS Fusion 1
Digital Compass
Fusion
Inference Service
CLIPS Inference Engine CLIPS
rule files
14/06/2004 ECOOP'04 Workshop 14
Concluding Remarks
The sentient object model has proved to be an excellent programming abstraction for
the development of real-time, cooperative, context-aware applications.
The component-oriented approach offers benefits of flexible configuration and reconfiguration of
the middleware components, supporting the development of context and QoS adaptive applications.
The middleware architecture also provides the management of non-functional concerns
such as timeliness and reliability properties. Our middleware is reusable
we are keen to investigate the generality of our approach by applying our middleware to other application domains involving embedded autonomous components.