a framework for seamless interoperation of heterogeneous distributed software components (project...
TRANSCRIPT
A Framework for Seamless Interoperation of Heterogeneous Distributed Software Components
(Project Review – November 3, 2003)
Funded by the DoD and Office of Naval Research Funded by the DoD and Office of Naval Research under the CIP/SW Programunder the CIP/SW Program
Participants
Rajeev R. RajeAndrew M. Olson
Barrett R. Bryant Carol C. Burt
Mikhail Auguston
http://www.cs.iupui.edu/uniFrame
3
Past and Present Student Participants
R. Berbeco N. Gupta R. Neidermyer
G. Brahnmath J. Hansome R. Puljala
R. Bulusu Z. Huang M. Ridzal
S. Carpenter A. Islam P. Shah
F. Cao A. Kumari C. Sun
A. Crespi P. Kambhampati K. Tummala
V. Cheekati B. Lee S. Underwood
B. Devaraju S. Liu C. Varghese
G. Fragkos S. Mugala X. Wu
J. Freeman P. Mysore C. Yang
P. Gopalakrishna N. Nayani W. Zhao
4
Agenda
9.00 am – 9.45 am Overview of UniFrame – R. Raje
9.45 am – 11.45 am Project Briefings: UniFrame Process – A. Olson Resource Discovery Mechanism – R. Raje Architecture-based Interoperability – B. Bryant UniFrame Quality Framework – M. Auguston UniFrame and Transition – C. Burt
11.45 am – 12.00 pm Concluding Remarks – R. Raje
12.05 pm – 1.30 pm Lunch/Informal Student Poster Presentations-- A. Crespi, P. Gopalakrishna, N. Gupta, P. Mysore, C. Sun, W. Zhao
UniFrame Overview
Rajeev R. Raje
6
“Explore innovative new approaches to representing knowledge of distributed software components at their interface with respect to their bindings, their protocols, and their internal constraints.”
“Develop a logical framework to reason effectively and efficiently about software component knowledge to enable safe and secure distributed interoperation.”
CIP/SW – Topic #7 Heterogeneous Distributed Systems
7
Heterogeneous Distributed Systems(CIP/SW Kickoff Meeting [Marsh, 2001])
MotivationAbility to deal with heterogeneity is essentialNetwork centric => distributed, cooperative functionality
ChallengesMediation across environments Stability and Reliability
State of the ArtHomogeneous components and middleware environment Manual searching for components and handcrafting of bridgesLimited consideration of quality of service requirementsLabor intensive, error-prone and difficult to validate
8
Vision of UniFrame
Automate the process of integrating heterogeneous
components to create distributed systems that
conform to quality requirements
9
Current Objective
Create a Framework that will enable a seamless interoperation of heterogeneous distributed components
DirectionsProcess for Distributed System GenerationRepresentation and Interoperation of ComponentsTechniques for Reasoning about QualityValidation through Experimentation
10
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: HeterogeneityMain Challenge: Heterogeneity
11
Related Work
Architecture-based InteroperabilityMDA, GP, IMPACT, System Architect, ABLE, Connector Taxonomy, Proteus, SOFA/DCUP, SOA
Distributed Resource DiscoveryJini, CORBA Trader, Ninja, InfoSpheres, GRID, UDDI, LDAP
Validation of Quality RequirementsQuO, QML, QoS-A, OMG RFP, ISO, Middleware QoS, Dyninst
12
Assumptions
Distributed system construction by integrating independently deployed heterogeneous components
Accepted knowledgebase with explicit quality requirementsPresence of distributed component repositoriesKnown certification mechanisms for quality attributes
Advantages of automation
Increased reliabilityShorter delivery time
13
Component Search
ModifiedQuery
System Integrator
Yes
Query
No
Selected Components
AssembledSystem
Distributed Resource Discovery
ComponentDeployment Component
Quality Measures
Component Developer
Standards
UniFrame Knowledgebase
Quality ValidationSystem Deployment (End)
Domain Expert (Start)
UniFrame Solution
14
Connection to BAA“Explore innovative new approaches to representing knowledge
of distributed software components....”
Multi-level component specification Interoperable discovery mechanismUniFrame knowledgebase
“Develop a logical framework to reason effectively and efficiently about software component knowledge….”
Model driven automationQuality of Service frameworkUnifying system monitoring techniques
Quality assurance for heterogeneous distributed Quality assurance for heterogeneous distributed integrations through the UniFrame process integrations through the UniFrame process
15
Accomplishments & Scientific MeritsArchitecture-based Interoperability
Unified Approach• UniFrame Process• Model driven automation of glue and wrapper software • Interoperation of heterogeneous components having QoS
requirements
Distributed Resource DiscoveryUniFrame Resource Discovery Mechanism
• Meta-model based approach for multi-level specification • Proactive advertisement and identification of components
Validation of Quality RequirementsQuality of Service Framework
• Development of a QoS catalog• Unifying system monitoring techniques
16
Benefits to CIP/SW
System Development• UniFrame process, supported by tools, will enable
semi-automatic distributed system assembly from components.
Interoperability • Standards-based technology will be enhanced to
achieve seamless integration of heterogeneous components.
System Quality• Semi-automated system assembly with integrated
validation metrics will improve system quality.
17
Impact on EducationEnriching Student Research Experience
Inter- and intra-university collaborationsProficiency with prevalent state-of-the-artParticipation in professional forums
Impact on CurriculumIncorporation of research material into courses at IUPUI, UAB, NMSU and NPS
Computing Infrastructure EnhancementCreation of Heterogeneous Computing Laboratories at IUPUI, UAB and NMSU
Invited Presentations Academic institutions, industrial forums and standards organizations
18
MetricsProcess for Distributed System Generation
Unified approach for constructing a distributed system, which satisfies QoS requirements, from heterogeneous components
UniFrame Knowledgebase
Representation and Interoperation of Components
Unified Meta-component Model
Standards-based techniques for mappings
Techniques for Reasoning about Quality
QoS vocabulary and metrics
Validation of dynamic system compositions
Validation through Experimentation
System Generation Case Studies
19
Project Statistics
Awards & HonorsKeynote Address, Student AwardsNominations, Showcasing
PhD Awarded1 + 6 (Progress)
MS Awarded10 + 14 (Progress)
Currently PlacedU Of Bristol, UKMicrosoft, Britannia, Irwin, Praxair, US Pacific Fleet, IU
Number of Students4 PhD, 17 MS (FTE)3 PhD, 7 MS, 3 BS
(10 Women students)
PublicationsBook Chapter
• 1 Pending
Journal• 3, 2 Pending, 3 Preparation
37 Conference/Workshops
6 Technical Reports
Presentations• 23 Invited, 37 Participated
PrototypesSystem Constructor, QoS Catalog
Discovery Service
Glue and Wrapper Generator
System Monitors
20
Project Statistics
Object Management Group
• Presentations/discussions with Task Forces
• Participation in RFP activities
Software Engineering Research Center
• Presentations to Industrial Partners
2AB, Incorporated• Headhunter Technology
(orb2)
• Model-Driven Access Control (iLock)
Computer Sciences Corporation/ IAC-EA SIG
• Business Line Architecture Pilot Project
Possible Transitions
21
Project Interactions
Michigan State University
Charles University, Czech Republic
University of Maribor, Slovenia
Lancaster University, UK
Stryon Incorporated
Jadavpur University, India
IIT-Bombay, India
University of Edinburgh, UK
Software Engineering Research CenterObject Management Group
Funding Agencies
Organizations
Currently Funded Grants from ARO and DoJFuture Proposals to NSF, ARO, IBM, Homeland Security, State of Indiana
22
Project Endorsements
Richard Soley, PhD – President & CEO Object Management Group
“As more and more organizations adopt Model Driven Architecture, continuing research becomes critical in several areas, especially debugging, performance management and automation. UniFrame's area of research is one of the critical success factors for realization of the MDA vision, and we strongly support it and unreservedly recommend it continues.”
Craig Rodrigues – Distributed Systems & Logistics
BBN Technologies“I was very excited to see that you are looking at QoS and MDA. QoS
specification using open standards notation and modeling is a void that needs to be filled.”
23
Project Endorsements
John Dodd – Principal Consultant, CSC Co-chair, IAC-EA SIG
“Business Line Hub will include both common commercial server and portal elements …….. along with a series of business line service standards from the (Uniframe-[19]) with the Unified Meta-component Models and approach for distributed Computing, along with Visual and generative modeling capabilities.”
(from Business Line Architecture and Integration Summary Concept Level White PAPER, March 2003)
Naufal Khan – Vice President, Engineering, Stryon Inc.
“The .NET interoperability-related research findings of the UniFrame team have resulted in the enhancement of our product, iHUB. This is an example of the research-industry interactions and we believe that research projects, such as UniFrame, will continue to positively effect the industrial world.”
24
Plans for OptionsYear IV
Enhancement of UniFrame Knowledgebase
Establish guidelines for standardizationFacilitate automation
Incorporation of Abstract Connector Architecture
Define Platform Independent Models for managing heterogeneity
Extension of QoS FrameworkImprove QoS assurance
Exploration of Alternate Discovery Techniques
Provide optimized component discovery
Year VInteractions with Standards
Leverage existing standards
Influence the evolution of standards
Case StudiesValidate research results using more complex scenarios
Technology TransitionReduce the cost of introducing research results into commercial products
25
Project Briefings
26
UniFrame Process – An Overview
Andrew M. Olson
27
UniFrame Process
Knowledgebase
Distributed System Constructor
28
UniFrame Knowledgebase
Created by experts
Hierarchical business line architectureStandards-basedCategorized by features
Mapping to design models (component-based)Service-oriented hierarchy
Realizes MDA mapping of Platform Independent Models to Platform Specific Models
Facilitates interoperability
29
Example
Document Management System
User access point, User validator, Document manager
Standard manager of documents
Manager with extended persistence support
30
Document Management System: Business Reference Model
DM
SDM DDM
Legend:
DM: Document Manager
SDM: Standard Document Manager
DDM: Deluxe Document Manager
31
Document Management System: Service Reference Model
Legend:
DT: Document Terminal
VS: Validation Server
DS: Document Server
context Standard Document System
inv: technology =‘.NET’ or technology = ‘CORBA’
1..* 1..*
DT
VS DS
32
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
Overview of System Constructor
33
Discover
Component Specs.
Decompose
DCSComponent
classes
DCS ClassCompose with wrapper & glue
Match
FoundFail
Insert event traces
DCS Design Specification
Fail
Pass
Test
Test Plan
Requirements
Knowledgebase
Components on the Network
Construction Process
34
Salient Features
Increases product quality throughuse of well-tested designs and componentsautomation in construction and testing
Decreases development time throughuse of predefined domain and design modelsautomation
35
Questions???
UniFrame Resource Discovery Mechanism
Rajeev R. Raje
37
UniFrame Resource Discovery Mechanism
Unified Meta-component Model (UMM)
Component• Specification
Service• Quality attributes, selection
Infrastructure• Registration, publication, discovery
38
ComponentsHeterogeneous and distributed
Adhere to the standardized knowledgebase
Code + UMM specificationQuality 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
39
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
40
Service
Well-defined concept of the application logicBasic composable abstractionNeed for assured levels of service
Functional and QoS
Emphasis on QoS and its validationPlatform independent QoS catalog
• Description, Measurement, Classification, Behavior, and Composition of QoS Parameters
• Assist component developer and system integrator
41
Infrastructure
UniFrame Resource Discovery Service (URDS)Hierarchical, Proactive, Interoperable, Decentralized
URDS ConstituentsActive RegistriesHeadhunters and Meta-repositoriesInternet Component Broker
• Domain Security Manager, Query Manager, Adapter Manager and Link Manager
42
Internet Component Broker
Authentication
Query
.NET RMI CORBA
Adapter Components
Proactive Discovery
Domain Security Manager Query Manager Link Manager Adapter Manager
UniFrame Resource Discovery Service
43
URDS Key Issues
Registration
Model specific entitiesUMM specification
Publication
Headhunters
Discovery
Query ProcessingQuery Transmission AlgorithmsFault Handling Algorithms
44
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
45
Questions???
Architecture-based Interoperability – Glue & Wrapper Construction
Barrett R. Bryant
47
Glue & Wrapper Construction
UniFrame Knowledgebase
Glue and Wrapper Constructor
48
KnowledgebaseBusiness and Technology domain model requirements
• Component type hierarchy • Associated Rules expressed in Two-Level Grammar
ConstructorInputs
• Discovered components• Knowledgebase
Outputs• Glue and Wrapper code
Construction Process
49
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
50
Glue & Wrapper Construction
Technology Domain Model
Proxy server
Proxy client
Bridge driver
Business Domain Model
RMI Document Terminal (DT)
CORBA Validation Server (VS)
TLG specification for RMI DT
TLG specification for CORBA VS
51
TLG Rules for System Construction
generate system from ClientUMM and ServerUMM : ClientOperations := ClientUMM get operations, ServerOperations := ServerUMM get operations, OperationMapping := map ClientOperations into ServerOperations, ComponentModel := ServerUMM get component model, generate java code for OperationMapping using ComponentModel.
52
TLG Rules – CORBA Wrappergenerate java code OperationMapping using corba : CorbaPackageName := OperationMapping get corba package
name, CorbaObjectClass := OperationMapping get corba object type, ClassName := OperationMapping get class name, JavaClassName := Java || ClassName, CorbaObjectName := object || ClassName, SetUpCode := ComponentModel generate java code, Operations := generate java code for OperationMapping, return import CorbaPackageName . * ; public class JavaClassName { private CorbaObjectClass CorbaObjectName ; public void init () { // initialize CORBA client module SetUpCode } Operations }.
53
CORBA Method QoS Instrumentation
generate java code for OperationName1 ArgumentList1 ReturnType maps to OperationName2 ArgumentList2 ReturnType : JavaReturnType := java type of ReturnType, JavaArgumentList := list all Argument from ArgumentList1 mapped by function java argument of Argument is JavaArgument, JavaArgumentListDefinition := separate JavaArgumentList by , , OperationCall := generate java code for OperationName2 ArgumentList1
ReturnType, return public JavaReturnType OperationName1
(JavaArgumentListDefinition ) { EventTrace.setBeginTime(); OperationCall EventTrace.setEndTime(); EventTrace.calculateResponseTime(); } .
54
Example
InputstoreDocument (Document doc) → corbaStore (Document doc)
deleteDocument (Document doc) → corbaDelete (Document doc)
Outputimport corbaDocumentServer.* ;
public class JavacorbaDocumentServer {
private corbaDocumentServer objectcorbaDocumentServer;
public void init () { // initialize CORBA client module
…
}
public void storeDocument (Document doc) {
return objectcorbaDocumentServer.corbaStore(doc);
}
…
}
55
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
56
Questions???
UniFrame Quality Framework – Event Grammar Approach
Mikhail Auguston
58
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.
59
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.
60
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
61
Example of Event Grammarex_prog:: ex_stmt *
ex_stmt:: ex_assignmt | ex_read_stmt | …
ex_assignmt:: eval_expr destination
ex_prog
ex_assignmt
eval_expr destination
PRECEDES
IN
Example of an event trace
62
Program MonitoringMonitoring activities: assertion checking, profiles, performance measurements, dynamic QoS metrics, visualization, debugging queries, intrusion detection
Program monitoring can be specified in terms of computations over event traces.
We employ the language, FORMAN, to specify computations over event traces (based on event patterns and aggregate operations over events).
63
Example of Dynamic QoS metrics
Turn-around Time
transaction is an event type for Validation Server. request-validation is a single request transaction event.The FORMAN formula specifies the measurement of the turn-around time for validation request:
FOREACH a: transaction FROM execute_document_systemSAY (“Turn-around time for a validate transaction is”
SUM [b: request-validation from a APPLY b.duration]/
CARD[request-validation FROM a])
64
Example of Dynamic QoS metrics
Capacity
A FORMAN behavior model captures concurrent execution elegantly. Concurrent events of the type request may appear inside the event session without being under the PRECEDES relation.
FOREACH a: session FROM ex_prog
SAY (“Capacity for a session “ a “is “
CARD[request FROM a]/ a.duration)
65
Salient FeaturesUnifying 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.
66
Questions???
UniFrame and Technology Transition
Carol C. Burt
68
Technology Transition
Identify and Drive Relevant StandardsModel Driven ArchitectureInteroperability Infrastructure
Identify Opportunities and Encourage Transition to Commercial Vendors
Open-Source Commercial VendorsDefense Contractors
Interoperability solutions will not endure unless they are incorporated in standards and implemented by vendors
69
Identify and Drive Standards
OMG: Model Driven Architecture
Formation of MDA Vision• Architecture Board Technical Whitepaper• Model Driven Architecture Guide
Model Driven Analysis and Design• UML and Meta-Object Facility alignment• UML Profiles for Quality of Service, Testing,
Systems Engineering, Enterprise Distributed Object Computing, CORBA Components, and Enterprise Application Integration
70
Identify and Drive Standards
OMG: MDAQuality of Service Catalog
• Platform Independent QoS catalog • Parameters used to generate interfaces (static QoS)• Parameters used to generate instrumentation
(dynamic QoS)• Related Services
– Load Balancing– Instrumentation and Dynamic Metrics
71
Identify and Drive Standards
OMG: Interoperability InfrastructureInternet Component Broker• Leveraged “lessons learned” in development of
ORBs• Considered existing standard protocols, component
mappings and component adapters• Explored architecture of existing bridging standards
UniFrame Resource Discovery Service• Leveraged Naming/Trading, Interface Repository • Extended for Implementation Repository• Considered Federation and Replication Architectures
72
Commercial Transitions
Commercial Vendor FocusInteroperable and Pro-active registries
• UniFrame Resource Discovery – Intelligent Searching
Web Services• WSDL/SOAP to IDL open-source implementation
Quality of Service• Open-Source Interceptors for Instrumentation• QoS Catalog as a Platform Independent Model • Model Driven Access Control Standards• Load-Balancing Standards
73
Commercial Transitions
Defense Contractor FocusDynamic Multi-National Coalition: Shared Operational Picture
• Dynamic integration of heterogeneous platforms
Information Assurance & Trusted Platform• Model Driven Access Control
Quality of Service• Instrumentation and Metrics
74
Identified Transition Targets
2AB, Inc.BBN TechnologiesComputer Sciences CorporationPromia SystemsStyron, Inc.
Commercial Transitions
BoeingLockheed MartinMercuryMITRERaytheon
75
Questions???
76
Concluding Remarks
Rajeev R. Raje
77
Summary
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
78
Lessons Learned
Identification of the most critical research topics was possible only after a detailed exploration.
Defining appropriate abstractions and platform independent models required extensive investigation.
Educational Students’ appreciation of research experience
Group InteractionsDistributed organizationBudgetary restrictions
79
Future DirectionsEnhancement of UniFrame knowledgebase
Incorporation of abstract connector architecture
Extensions of QoS framework
Investigation of alternate discovery techniques
Interactions with standards
Case studies
Technology transitions
Many more….
80
Thank You
http://www.cs.iupui.edu/uniFrame