UniFrame: An Exercise in Developing Distributed Software Systems - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

UniFrame: An Exercise in Developing Distributed Software Systems

Description:

Need to build reliable systems which ... Realizes MDA mapping of Platform Independent Models to Platform Specific Models ... Platform independent QoS catalog ... – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 38
Provided by: rajee2
Category:

less

Transcript and Presenter's Notes

Title: UniFrame: An Exercise in Developing Distributed Software Systems


1
  • UniFrame An Exercise in Developing Distributed
    Software Systems
  • Rajeev R. Raje
  • IUPUI

2
Why 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

3
Enablers for Proliferation of DCS
  • Advances in hardware and networking technologies
  • The world is getting inter-connected
  • An inherent distributedness and complexity in
    applications

4
Applications
  • Telecommunication
  • Multi-media Information Access
  • Health-care
  • Financial -- Trading, Insurance
  • Human-Computer Collaborations
  • Distributed AI
  • High-performance Meta-computing

5
What 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)
7
Software 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)

8
Key Challenges in Developing Software for DCS
  • Openness
  • Heterogeneity
  • Concurrency
  • Scalability
  • Fault Tolerance
  • Transparency
  • Developing High-confidence Software for DCS is a
    Complex Task!

9
UniFrame Overview
10
Vision of UniFrame
Automate the process of integrating
heterogeneous components to create distributed
systems that conform to quality requirements
11
Current 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

12
Key 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
13
Assumptions
  • 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

14
UniFrame Solution
15
UniFrame Process An Overview
16
UniFrame Process
  • Knowledgebase
  • Distributed System Constructor

17
UniFrame 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

18
Overview 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

19
Salient 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

20
UniFrame Resource Discovery Mechanism
21
UniFrame Resource Discovery Mechanism
  • Unified Meta-component Model (UMM)
  • Component
  • Specification
  • Service
  • Quality attributes, selection
  • Infrastructure
  • Registration, publication, discovery

22
Components
  • 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

23
Example 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

24
Service
  • 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

25
Infrastructure
  • 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

26
UniFrame 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
27
Salient 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

28
Architecture-based Interoperability Glue
Wrapper Construction
29
Glue Wrapper Construction
  • UniFrame Knowledgebase
  • Glue and Wrapper Constructor

30
Construction 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

31
Two-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

32
Glue 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

33
Salient 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

34
UniFrame Quality Framework Event Grammar
Approach
35
UniFrame 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.

36
Program 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.

37
Program 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

38
Example of Event Grammar
  • ex_prog ex_stmt
  • ex_stmt ex_assignmt ex_read_stmt
  • ex_assignmt eval_expr destination

39
Salient 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.

40
Summary
41
Summary 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

42
Thank YouQuestions?http//www.cs.iupui.edu/uni
Frame
Write a Comment
User Comments (0)
About PowerShow.com