Title: A Middleware Infrastructure for Active Space GAIA
1A Middleware Infrastructure for Active Space
(GAIA)
- School of Computer Science
- UIUC(00 )
- Supercomputing Lab.
- Joo-kyoung Park
2Contents
- Introduction
- Active Space
- System software
- Gaia Kernel
- Application Framework
- Gaia management tools
- Scripting language
- Example
3Introduction
- Characteristic of Ubi-Env.
- Device-rich, Context-aware environment
- Very highly dynamic
- Problem of programming Ubi-Env.
- The resource and context can change rapidly
- Developer can not expect to know how various
tasks are performed - Program must be able to adapt the changing
context and resource - ? Can solve as Management Framework
4Active Space(1/2)
- Definition
- A physical space coordinated by a responsive
context-based software infrastructure - Physical space
- A geographic region with limited and well-defined
physical boundaries - Object of Active space
- Support the development and execution of
user-centric mobile applications - Simplify application programming and execution
5Active Space(2/2)
- Characteristic of Active space
- A one-to-one relationship between a user and
keyboard, mouse, and display interfaces does not
exist
6Gaia System software
- Gaia manages an active spaces resources and
services - Provides location, context, and event services
and stores information about the active space - Gaia is composed kernel, the application
framework, and the applications
7Gaia kernel(1/4)
- Consists of a component management core and an
interrelated set of basic services used by all
Gaia applications.
8Gaia kenel(2/4)
- Component management core
- Dynamically loads, unloads, transfers, creates,
and destroys all Gaia components and applications - Five basic services
- Event manager
- Distributes events in the active space
- Implements a decoupled communication model based
on suppliers, consumers, and channels - Context service
- Applications query and register for particular
context information through Context service - Infer certain higher-level contexts on the basis
of sensed information
9Gaia kernel(3/4)
- Context service
- An atomic context predicate is defined as
Context(, ,
,) - Ex. Context(temperature, room 3231, is, 98 F)
- Presence service
- Must maintain updated information about active
space resources. - Digital-entity presence Subsystem
- Detects service and application entities
- Physical-entity presence Subsystem
- Detects devices and people present in the active
space.
10Gaia kernel(4/4)
- Space repository
- Stores information (name, type, owner, and so on)
about all software and hardware entities - Retrieve entities on the basis of specific
attributes. - Context file system
- Provide automatically available context in the
users current location - Make and organize personal data automatically
available to applications, conditioned on user
presence - Constructs a virtual directory hierarchy based on
the types of context - Retrieve data in a format based on user
preferences or device characteristics
11Application Framework(1/6)
- Lets users construct, run, or adapt existing
applications to active spaces - Application Framework consist of
- A distributed component-based infrastructure
- A mapping mechanism
- A group of policies
- Infrastructure
- Use MVC model
12Application Framework(2/6)
- Definition of MVC design pattern
- Used by App. that need to maintain multiple views
of the same data - Component of MVC design pattern
- Model
- Maintaining the data
- View
- Displaying the data
- Controller
- Handling events that affect the model or views
13Application Framework(3/6)
- General structure of MVC
- Example of MVC
14Application Framework(4/6)
- Extended MVC model
- The model implements the application logic.
- The presentation display the application data.
- The input sensor lets the user interact with the
application. - The controller maps input sensor events (such as
touch-screen events and context changes) into
method requests for the model. - The coordinator manages the first four components
15Application Framework(5/6)
16Application Framework(6/6)
- A mapping mechanism
- AGD(Application generic description)
- Created by the application developer
- Listing the application components, the minimum
and maximum number of instances allowed, and
component requirements - ACD(Application customed description
- Implemented as a script that coordinates the
instantiation and assembly of the different
components - Customization policies
- The application framework relies on policies to
address reliability, adaptation, mobility, and
related issues
17Gaia Management tools
- Relies on a scripting language to coordinate the
digital-entities running in an active space. - Scripting language
- uses a high-level scripting language, LuaOrb,
- Program and configure active spaces and to
coordinate the active entities
18Registering with the active space
Active space
4.Accesses the user profile, obtains the
speakers mount points, and mounts the data in
the space
5.The speaker registers the handheld and
periodically sends a heartbeat signal
CFS
Event
Event
7.contacts the device to retrieve the XML
description, and stores the information
Presence Service
Space Repository
6.Receives the event and sends a new event to the
device presence channel
Event
2.Event contains information about the speaker,
including a reference to users preference
3.Retrieves an XML description for the user
entity, and stores the information
1.Presence service detect badge and send an event
to the person presence channel
19Starting the application
1.Register with the context service to be
notified when the room context meets this
condition
3.When the user data is mounted in Active Meeting
Room 2401
Context Service
4.the trigger service requires a valid ACD
Trigger action Application
Trigger Service
Lua Script
Presentation Manager
ACD (Lua Script)
2.Gets the presentation files name and starts
the presentation manager