Penn CIS 700 - Adaptive Middleware for RealTime Software

Unformatted text preview:

Adaptive Middleware for Real-Time SoftwareTopicUbiquitous ComputingMobile Ad Hoc Networks (MANET)Their GoalContext-Sensitive ServicesMiddleware: DefinitionCORBACORBA ExampleSlide 10Interface Definition LanguageSlide 12CORBA ArchitectureMiddleware BenefitsMiddleware: LimitationsChallengesSlide 17Reconfigurable Context-Sensitive Middleware (RCSM)RCSM FeaturesRCSM Component HierarchyDevelopment and Runtime SupportContext-sensitive Application ObjectSpecifying a ContextDevice-specific ContextEnvironment-specific ContextUser-specific ContextContext VariablesTemporal OperatorsContext ExpressionsContext-Sensitive Interface SpecificationIncoming and Outgoing TagsInterface ExampleInterfaceExampleExample: Sensor NetworkSlide 35Object MB: Mobile Robot ObjectObject M: Motion Data CollectorObject N: Noise Data CollectorAdaptive Object ContainersSlide 40ADC ArchitectureGenerated ADCContext PropagationContext Match EventObject Discovery MessagesObject Match EventsInter-Object CommunicationMotion Detector Sends DataObject MB Receives Motion DataR-ORB ImplementationFuture DirectionsSlide 52Adaptive Middleware for Real-Time SoftwareLouise AvilaCIS 700-02November 2, 2005Topic“An Adaptive Middleware for Context-Sensitive Communications for Real-Time Applications in Ubiquitous Computing Environments.” Real-Time Systems Journal. January 2004. Stephen S. Yau and Fariaz KarimReconfigurable Context-Sensitive Middleware Research Project, Arizona State UniversityUbiquitous ComputingComputing experience is everywhere but enabling technologies are invisible Makes the user the center of computingDynamically adapt to user’s needs and actionsMobile Ad Hoc Networks (MANET)Collection of connected autonomous mobile nodes such as wearable, handheld and other mobile devicesFree to move arbitrarilyBandwidth and energy constraintsDynamic network topologiesNo dedicated network connectivity devicesNodes form short-range wireless networksTheir GoalMake MANET context-sensitiveUse data about environment and available resourcesAdapt behavior and interactionsSchedule and execute time critical tasksContext sensitive interactions between applicationsContext-Sensitive ServicesDetects, establishes and terminates communication channels New devices enter the environment Existing devices move awayEfficient Address heterogeneity of devicesOne potential solution: middlewareMiddleware: DefinitionSoftware is distributed and developed using different languages, operating systems and hardware platformsMiddleware "glues together" or mediates between two separate programs or software packagesCORBACommon Object Request Broker ArchitectureCreating and managing distributed objects in a networkIndustry standard developed by the Object Management Group http://www.omg.org/CORBA ExampleHR Rep works in San FranciscoHR Application runs on a server in DenverEmployeeApplicationCORBA ExampleClient programs don’t need to know:Location of server programImplementation of serverPlatform IndependentLanguage IndependentInterface Definition LanguageEmployee server class:public class Employee {public String getEmployeeId(String name) { return eid; } }Define interface for Employee class:interface IEmployee {String getEmployeeId(in String name); }CORBA ExampleCompile interface with IDL compilerClient StubProxy for the server that runs on the clientConverts method calls into messagesClient acts as though invoking on local object instanceServer SkeletonConverts messages back to method callsCORBA ArchitectureObject Request Broker (ORB)Locates and activates objectDelivers requestReturns responseOther servicesNaming, Lifecycle, etc.Middleware BenefitsReduce effort required to develop software Provide runtime services for applicationsForces a separation between interface and implementationORB approachIsolate transport protocols from applicationsMiddleware: LimitationsExisting middleware for enterprise and mobile networks:Industry standards: CORBA, COM, EJBSpecialized “laboratory” versions: TAOAssume stable networkUse client-server interaction semanticsDo not use different contextsLaboratory versions have unique architectures – problem of interoperabilityChallengesSystematic way to represent specific contexts and context awarenessTimely context data collection, analysis and propagationTransparentDevice and application-specificChallengesAssociating context with real-time actionsSupport for spontaneous and ad hoc context-sensitive communicationReconfigurable Context-Sensitive Middleware (RCSM)Compliant with CORBA/OMA User-level application software as application objects Object Request Broker (R-ORB)Enables application objects implemented in different languages to communicate in a distributed, heterogeneous environmentProvides context-sensitive communicationR-CAP performs low-level context monitoring and acquisitionRCSM FeaturesContext-aware interface definition language (CA-IDL)Based on IDLSeparates interfaces from implementationsAdaptive Object Containers (ADC) Interface-specific context analyzer components. Communicate at runtime with other components to acquire context dataCommunicates with the object implementation to invoke different methods when suitable contexts are detected.Client-serverobjectsRCSM Component HierarchyContext-sensitiveobjectsOperating SystemRCSM Groupcommunication serviceOtherservicesAdaptive object containers(ADCs)R-CAPR-ORBTransport layer protocols for ad hoc networksSensors(optional)Development and Runtime SupportDevelopment Support Runtime ServicesDeveloper specifies context-sensitive interface CA-IDL compiler generates interface-specific ADCCA-IDL compiler generatesobject skeletonDeveloper implements real-timeobjectDeveloper registers object with ORBContext analyzers and R-CAP monitor and analyze contextORB performs object discoveryORB establishes context-triggeredcommunication establishmentADCs perform context-basedobject activationContext-sensitive Application ObjectContext expression+Method signatureContext-independent implementation(C++, C, C# or Java)Context-sensitive interface (CA-IDL)Specifying a ContextTypes of context data available depend on host device and its context-sensing capabilitiesSteps to port RCSM to a new deviceClassify the context into categoriesDefine a


View Full Document

Penn CIS 700 - Adaptive Middleware for RealTime Software

Documents in this Course
Lists

Lists

19 pages

Actors

Actors

30 pages

Load more
Download Adaptive Middleware for RealTime Software
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Adaptive Middleware for RealTime Software and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Adaptive Middleware for RealTime Software 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?