Title: An Adaptive Application Framework Facilitating Information Grid
1An Adaptive Application Framework Facilitating
Information Grid
- Li Gang Lv Qing-zhong Han Yan-bo
- Institute of Computing Technology
- Chinese Academy of Sciences
2Overview
- Background
- State of the Art
- Adaptive Architecture Model and the Framework
Thereof - Framework Implementation
- Framework Application
- Conclusion
3Background
- Computing Trends
- Computing is moving to grid
- Computing Environment
- Grid environments are subject to a higher degree
of heterogeneity and dynamism - Features of Application
- Grid applications are composed of heterogeneous
resources across dynamic environment, changes are
very unpredictable in nature - Changes of user requirements, grid resources etc.
cause changes of applications
4State of the Art
- Much work has been done, focusing on grid
infrastructure, application development method
etc. - How to make applications adapt to environmental
changes and evolve smoothly is still an open
issue - Related work
- Architectural reflection--Walter Cazzola etc.
- Service-oriented application construction--eFlow
- Component mark language--CXML
5Diagrammatic Representation of Our Solution
Designer Power User
6An Adaptive Architecture Model
CRAM
- Why we bring forward the model?
- There is a great gap between business domain and
software domain - Classic reflection itself is not enough for
making application adaptable to business and
resource changes in information grid - There are requirement for a model that is to
enable adaptation caused by changes in business
domain and resources - The Convergent and Reflective Architecture Model
(CRAM) - Keeping business model, architecture model and
software as a whole, which enable change mapping
between different domain - Realizing extended reflection, which make
adaptation easily
7Structure of CRAM
Business Processes and Entities
Executable Application
8Three Levels of CRAM
- Convergent and Reflective Base Level
- Focusing on implementation of users requirements
and completes computing tasks that user submits - Corresponding to the executable grid application
that offers functionalities user needs - Convergent and Reflective Meta Level
- Focusing on architecture aspect of grid
application - Depicting static and dynamic architecture
features - Convergent and Reflective Meta-meta Level
- Focusing on business view of software and catches
changes in grid resources - depicting software architecture aspects from
business domain
9A Convergent Architecture Description Language
CADEL
- Why do we bring forward the language?
- To explicitly describe application architecture
and enable adaptation - Features of the Language
- Convergent
- Executable
- XML-based
10Core of CADEL Service Description
- A service is defined as a specific capability
provided by one or more network-enabled
components - A service can be identified in terms of the
protocol that the service uses to interact with
others and the service behavior responding to
protocol messages - Capability of a service is described with
- Operations
- Attributes
- Behavior protocols
11Core of CADEL Coordination Description
- Coordination rules depict the interaction
relations among components of grid application - Coordination rules specify the data flows,
control flows and event flows among resources,
and activities fulfilled by resources - Coordination rule are specified by
- Initiation node
- Finish node
- And-in node
- And-out node
- Or-in node
- Or-out node
- Activity node etc.
12Framework Implementation Considerations in
Implementation
- Change-aware requirements
- Adaptation requires tools to capture changes in
business domain and materialize those changes in
software easily - Smooth Adaptation
- Those tools should offer automatic support to
some extent for adaptation. - Mini-kernel of the framework
- The framework should be adaptive also, must be
implemented as a mini-kernel, and can be extended
by plug-ins - When adaptation begins
- The framework should support adaptation at
runtime dynamically
13Framework Implementation
Architecture View
14Framework Implementation Key
Components (1)
- Application Composer
- It is used to capture the business view in
graphic manner and associate data object and
processing object with architecture component of
the meta level - Resource manager
- It is used to store and manage service
information and data objects - Resource Explorer
- With the responsibility for discovering and
inspecting service, Resource Explorer finds
services in term of the instruction of power
user, gets meta data of those services and stores
it into repository - Interpreter
- It interprets the specification, making it run
15Framework Implementation Key
Components (2)
- Runtime Monitor
- It is used to watch the runtime state of
application, in order to provide information for
making adjustment decision - Meta-level Controller
- It enables one to change application based on the
framework at runtime - User Proxy
- User Proxy is the provider of access control
- ServProxyPool
- It is used to access service
- Event Facility
- It provides support to asynchronous service
16Target Users of the Framework
- There are two kinds user of the framework
- Designer
- To construct a new application
- To modifying a application
- Power user
- To adapt a application at runtime or non-runtime
17Framework Application Application Background
- Vega Railway Information Grid (Vega-RIG) is
currently being developed by ICT Chinese Academy
of Science - Several large and distributed information systems
have been constructed to support railway
management - They work independently and form heterogeneous
virtual organizations - Typical problems Vega-RIG has to solve are
- How can users share information among legacy
systems and draw information from them
dynamically and synthetically? - How can information systems transparently adapt
to changes of data resources and business rules,
which take place in business evolution?
18Framework Application
A CASE
- Railage Statistics Management Information System
(RS-MIS) is an application in Vega-RIG - Changes in RS-MIS are following
Category
Line ID
Category
Line ID
19Framework Application Our Solution to the
Problem (1)
- Use the framework to construct application
- Constructing business model
- Generating specification in CADEL
- Assigning user account
- Interpreting the specification and run
20Framework Application Our Solution to the
Problem (2)
- Use the framework to adapt the application
- Adaptation at runtime
- Watching the states and architecture by runtime
monitor - Modifying the application by meta-level
controller - Adaptation at non-runtime
- Reconstructing the application by application
composer
21Conclusions
- In this paper, we present
- An adaptation-enabled convergent architecture
model named CRAM - A convergent architecture description language
CADEL which enables application adaptation with
fewer efforts by reconfiguration of resources and
adjustment of coordination rules. - An adaptive application framework facilitating
information grid