140 likes | 248 Views
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
E N D
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 Gregory Biegel and René Meier University of Dublin, Trinity College
Introduction • Advances in Ubiquitous Computing • Novel applications without direct human control • Intelligent vehicles • Traffic management systems • Smart working/living environment • Activity from automobile industry • BMW, DaimlerChrysler, General Motors, etc. ECOOP'04 Workshop
Research Challenges • Application requirements • Sentience or context-aware • Autonomy • Decentralisation • Proactivity • Adaptivity • Time and Safety Criticality • Appropriate computational model • Programming abstraction • Middleware support ECOOP'04 Workshop
CORTEX Project • EU funded collaborative project • CO-operating Real-time senTient objects: architecture and EXperimental evaluation • Universidade de Lisboa (Portugal) • Lancaster University (United Kingdom) • Trinity College (Ireland) • Universität Ulm (Germany) • Sentient object model • Middleware and demo application ECOOP'04 Workshop
Sentient Object Model ECOOP'04 Workshop
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 ECOOP'04 Workshop
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 ECOOP'04 Workshop
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 ECOOP'04 Workshop
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. ECOOP'04 Workshop
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) ) ECOOP'04 Workshop
Autonomous Cooperative Vehicles ECOOP'04 Workshop
Demo Application • Vehicles travel on virtual circuits • Predefine a set of GPS waypoints • Second car follows the leading one • Collision avoidance • Obey traffic light rules • Pedestrian/obstacle detection • QoS adaptation: network coverage ECOOP'04 Workshop
Software Components Configuration ECOOP'04 Workshop
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. ECOOP'04 Workshop