Title: UniFrame: An Exercise in Developing Distributed Software Systems
1- UniFrame An Exercise in Developing Distributed
Software Systems - Rajeev R. Raje
- IUPUI
2Why Distributed Computing Systems (DCS)?
- Need to build reliable systems which can take
advantage of geographically dispersed computer
and data resources - Demanding applications -- to run on a single host
- Limitations of pure client-server model are
reached -- need for newer and effective paradigms
3Enablers for Proliferation of DCS
- Advances in hardware and networking technologies
- The world is getting inter-connected
- An inherent distributedness and complexity in
applications
4Applications
- Telecommunication
- Multi-media Information Access
- Health-care
- Financial -- Trading, Insurance
- Human-Computer Collaborations
- Distributed AI
- High-performance Meta-computing
5What is a DCS?
- A DCS consists of multiple autonomous processors
that do not share primary memory but cooperate by
sending messages over a communication network - A DCS consists of a collection of autonomous
computers linked by a network and equipped with
distributed system software
6(No Transcript)
7Software is Complex!
- It Challenge of Programming has already taught
us a few lessons, and the one I have chosen to
stress in this talk is the following. We shall do
much better programming job, provided that we
approach the task with a full appreciation of its
tremendous difficulty, provided that we stick to
modest and elegant programming languages,
provided that we respect the intrinsic limitation
of the human mind and approach the task as very
humble programmers. - -- E. W. Dijkstra
- (1972 ACM Turing Award Lecture)
8Key Challenges in Developing Software for DCS
- Openness
- Heterogeneity
- Concurrency
- Scalability
- Fault Tolerance
- Transparency
- Developing High-confidence Software for DCS is a
Complex Task!
9UniFrame Overview
10Vision of UniFrame
Automate the process of integrating
heterogeneous components to create distributed
systems that conform to quality requirements
11Current Objective
-
- Create a Framework that will enable a seamless
interoperation of heterogeneous distributed
components -
- Directions
- Process for Distributed System Generation
- Representation and Interoperation of Components
- Techniques for Reasoning about Quality
- Validation through Experimentation
12Key Research Issues
- Architecture-based Interoperability (UAB IUPUI)
- Automation, standardization, mappings and tools
- Distributed Resource Discovery (IUPUI)
- Specification, publication, distribution,
selection - Validation of Quality Requirements (NPS IUPUI)
- Vocabulary and associated metrics, composition,
monitoring
Main Challenge Heterogeneity
13Assumptions
- Distributed system construction by integrating
independently deployed heterogeneous components - Accepted knowledgebase with explicit quality
requirements - Presence of distributed component repositories
- Known certification mechanisms for quality
attributes - Advantages of automation
- Increased reliability
- Shorter delivery time
14UniFrame Solution
15UniFrame Process An Overview
16UniFrame Process
- Knowledgebase
- Distributed System Constructor
17UniFrame Knowledgebase
- Created by experts
- Hierarchical business line architecture
- Standards-based
- Categorized by features
- Mapping to design models (component-based)
- Service-oriented hierarchy
- Realizes MDA mapping of Platform Independent
Models to Platform Specific Models - Facilitates interoperability
18Overview of System Constructor
- Given requirements for a DCS,
- finds a design specification in the
knowledgebase, - collects the specified component implementations,
- integrates them into the designed DCS,
- tests against the requirements (white black
box). - Supports iterative, incremental development
19Salient Features
- Increases product quality through
- use of well-tested designs and components
- automation in construction and testing
- Decreases development time through
- use of predefined domain and design models
- automation
20UniFrame Resource Discovery Mechanism
21UniFrame Resource Discovery Mechanism
- Unified Meta-component Model (UMM)
- Component
- Specification
- Service
- Quality attributes, selection
- Infrastructure
- Registration, publication, discovery
22Components
- Heterogeneous and distributed
- Adhere to the standardized knowledgebase
- Code UMM specification
- Quality assurance through the design by
multi-level contract - Beugnard, et al IEEE/Computer 1999
- UMM specification includes
- Inherent attributes, functional attributes,
non-functional attributes, cooperative
attributes, auxiliary attributes, deployment
attributes, creation attributes
23Example of UMM Specification
- Component Name Validation Server
- Domain Name Document Management
- System Name Document Manager
- Informal Description Provides validation
service. - Computational Attributes
- a) Inherent Attributes
- ID, Version, Author, Date, Validity,
- Atomicity, Registration, Model
- b) Functional Attributes
- Purpose, Algorithm, Complexity, Syntactic
Contract, Behavioral Contract, Synchronization
Contract, Technology, Expected Resources,
Design Patterns, Known Usages, Aliases
- Cooperation Attributes
- Pre-processing and Post-processing Collaborators
- Auxiliary Attributes
- Mobility, Security, Fault-tolerance
- Quality of Service Attributes
- Qos Metrics, QoS Level, Cost, Effect of
Environment, Effect of usage patterns - Deployment Attributes N/A
- Creational Attributes Atomic
24Service
- Well-defined concept of the application logic
- Basic composable abstraction
- Need for assured levels of service
- Functional and QoS
- Emphasis on QoS and its validation
- Platform independent QoS catalog
- Description, Measurement, Classification,
Behavior, and Composition of QoS Parameters - Assist component developer and system integrator
25Infrastructure
- UniFrame Resource Discovery Service (URDS)
- Hierarchical, Proactive, Interoperable,
Decentralized - URDS Constituents
- Active Registries
- Headhunters and Meta-repositories
- Internet Component Broker
- Domain Security Manager, Query Manager, Adapter
Manager and Link Manager
26UniFrame Resource Discovery Service
Internet Component Broker
Domain Security Manager
Link Manager
Query Manager
Adapter Manager
Query
Authentication
Headhunters
Adapter Components
Meta-Repositories
Proactive Discovery
.NET
RMI
CORBA
27Salient Features
- Meta-model based technique
- Quality assurance through multi-level
specification and QoS validation - Platform independent QoS catalog
- Distributed, proactive, hierarchical and
interoperable discovery service
28Architecture-based Interoperability Glue
Wrapper Construction
29Glue Wrapper Construction
- UniFrame Knowledgebase
- Glue and Wrapper Constructor
30Construction Process
- Knowledgebase
- Business and Technology domain model requirements
- Component type hierarchy
- Associated Rules expressed in Two-Level Grammar
- Constructor
- Inputs
- Discovered components
- Knowledgebase
- Outputs
- Glue and Wrapper code
31Two-Level Grammar (TLG)
- Invented by van Wijngaarden for specifying syntax
and operational semantics - Consists of two CFGs type and function
definitions - Extended for object orientation
- Used here to indicate rules of code generation
for component integrations - Integrated with VDM (Vienna Development Method)
tools for UML modeling, Java and C code
generation
32Glue Wrapper Construction
Bridge driver
RMI Document Terminal (DT)
CORBA Validation Server (VS)
Proxy server
Proxy client
TLG specification for
TLG specification for CORBA VS
RMI DT
Business Domain Model
Technology Domain Model
33Salient Features
- TLG class hierarchy provides a means for
expressing multiple levels of component
abstractions - TLG rules provide for validation of feature and
component compositions - TLG rules provide code generation necessary for
bridging component models and QoS instrumentation
34UniFrame Quality Framework Event Grammar
Approach
35UniFrame QoS Framework
- Development of a QoS catalog
- Creation and application of unifying system
monitoring techniques - To develop unifying principles for program
monitoring activities. - To apply these principles for the validation of
dynamic QoS parameters. - To develop and experiment with different
techniques for implementing these principles.
36Program Behavior Models
- Program monitoring activities can be specified in
a uniform way using program behavior models based
on the event notion. - An event corresponds to any detectable action,
e.g., subroutine call, message passing, etc. An
event corresponds to a time interval. - Two partial order binary relations are defined
for events precedence and inclusion. - An event has attributes, such as, type, duration,
program state at beginning or end of the event
and value.
37Program Behavior Models
- Event grammar specifies the constraints on
configurations of events generated at run time
(axioms, or lightweight semantics of the target
language). - Some axioms are generic, e.g., transitivity.
- A PRECEDES B and B PRECEDES C ? A PRECEDES C
- A IN B and B IN C ? A IN C
38Example of Event Grammar
- ex_prog ex_stmt
- ex_stmt ex_assignmt ex_read_stmt
- ex_assignmt eval_expr destination
39Salient Features
- Unifying framework for program monitoring based
on precise behavior models and event trace
computations - Computations on the event traces can be
implemented in a nondestructive way via automatic
instrumentation of the source code or even of the
executables (Dyninst approach). - Can specify generic trace computations, such as,
bug detection, dynamic QoS metrics, profiles and
visualization. - Both functional and non-functional requirements
can - be monitored.
- An alternative approach to aspect-oriented
paradigm - Validity of the approach has been shown by
creating prototypes for different languages, such
as, Pascal, C and Unicon.
40Summary
41Summary and Salient Features
- Results achieved so far have created a foundation
for realizing the vision of UniFrame - Automate the process of integrating
heterogeneous components to create distributed
systems that conform to quality requirements - Unified Approach
- Process, Model Driven technique for automation
- UniFrame Resource Discovery Mechanism
- Multi-level specification, Proactive,
Interoperable - Quality of Service Framework
- Vocabulary and associated metrics, Unifying
system monitoring technique
42Thank YouQuestions?http//www.cs.iupui.edu/uni
Frame