Discussion Slides - TUISR( twzr), the University of Tulsa's Institute

advertisement

International Workshop on

Incorporating COTS-Software into

Software Systems: Tools and

Techniques (IWICSS)

Alexander Egyed (Teknowledge Corporation)

Dewayne Perry (University of Texas at Austin)

(chairs)

February 1, 2004

Overview

Technologies for “plugging” COTS software into software systems

Safely and predictably

Design, implement, and test

Software engineering principles

=> Several times more difficult than ordinary application code

Challenges

 how to write glue code how to implement data and control dependencies how to make the COTS software aware of its surroundings how to resolve stumbling blocks and risks how to integrate user interfaces how to handle new COTS releases and other maintenance issues how to reverse engineer how to design product lines with COTS software how to test COTS-based systems

Participation

Accepted 6 papers

Had 30+ attendees

1.00 – 1.20 Tools for Commercial Component

Assembly

1.20 – 1.40 Discussion

Program

1:40 – 2.00 Container-Managed Exception

Handling Framework

2.00 – 2.20 Discussion

2:20 – 2.40 Dynamism Gloom and Doom?

2:40 – 3.00 Break

3.00 – 3.20 Discussion

3.20 – 3.40 Reengineering Large-Scale Polylingual

Systems

Francis Bordeleau

Mark Vigder

Kevin Simons

Judith Stafford

T. Gamble

D.Flagg

R. Baird

Rose Gamble

Mark Grechanik

Dewayne E. Perry

Don Batory

3.40 – 4.00 Discussion

4.00 – 4.20 State Consistency Strategies for COTS

Integration

4.20 – 4.40 Discussion

4.40 – 5.00 Break

5.00 – 5.20 Black-box Testing of Evolving COT-

Based Systems

5.20 – 5.40 Discussion

5.40>> Brainstorming on research directives

Sven Johann

Alexander Egyed

Ye Wu

Tools for Commercial Component Assembly

Francis Bordeleau (Zeligsoft/Carleton University)

Mark Vigder (National Research Council Canada)

Roles of concern:

Assembler: assemble commercial components into new applications or new

COTS products

Application deployer: deploy application within a specific environment

Issues:

Configuring, assembling, deploying components often requires highly skilled, expensive engineers

Large amounts of configuration and deployment data required, usually in the form of XML files

Generation and evolution of the data is tedious, error prone, and difficult to validate

Directions

Standards are evolving that enable the possibility of tools for generation, evolution and validation of assembly, configuration, and deployment data

Container-Managed Exception Handling

Kevin Simons and Judith Stafford

Tufts University, USA

COTS software not aware of system and its feedback need

How to interpret COTS software exceptions in context of the system

How to avoid exceptions

How to generate exceptions in COTS software if the system requires it

How to recover the state of a COTS software after an exception

Work based on infrastructure that mediates communication between COTS software and system

Dynamism Doom and Gloom?

T. Gamble, D. Flagg, R. Baird, and R. Gamble

University of Tulsa, USA

Commercial middleware is still not prepared to support dynamism

Sets impractical expectations for component interaction that impedes dynamism

Much a priori knowledge is needed by the

Component being inserted

Established middleware

Other components interacting with the system

A priori knowledge should be reduced without forfeiting control

Develop and use standards

Allow middleware to have designated wrappers for certain component functionality

Design adaptable component connectors gamble@utulsa.edu

, www.seat.utulsa.edu

Reengineering Large-Scale Polylingual Systems

Mark Grechanik, Dewayne E. Perry, and Don Batory

University of Texas, Austin

 architecture in polylingual system

How to have many different component interact with one another

N 2 problem provide a generic language for interacting with components (including COTS)

 components use generic language

Forward and reverse engineering process based on FOREL and ROOF

FOREL; reifies foreign type systems

ROOF: generalizes type systems to graphs and provides virtual machine over APIs and frameworks

State Consistency Strategies for COTS Integration

Sven Johann (University of Mannheim, Germany)

Alexander Egyed (Teknowledge Corporation)

Instant change notification

Making COTS aware of other software components to notify them instantly about state (data and control) changes

E.g., Rational Rose notifies model analysis component about UML changes.

Incremental analysis and transformation

Batch transformation and analysis are very time and resource consuming

Incremental transformation and analysis focuses on changes only

COTS issue: when and where is data changed?

Semantic differences

Maintaining the system state consistent with COTS software state is still not trivial if semantic differences exist

Transforming Rose change notifications into system change notifications

Black-box Testing for Evolving

COTS-Based Software

Ye Wu (George Mason University)

Challenges: What should COTS-users do if COTS products are changed?

Changes are analyzed and classified into: generalization, specialization and reconstruction modifications.

Adjusted black-box testing techniques are provided to adequately reassure the quality of the evolving COTS-based software

Issues

Critical problem: matching COTS features to business model and processes

Often inadequate functional support need to design system around COTS software

Not good to change business practice to accommodate

COTS software

Architectural mismatches

COTS software works well for what it was designed for

Our risk to take it out of context?

We just use a portion of COTS functionality but pay the full price

COTS footprint is increasing; many unnecessary features

COTS Vendor

Package software for becoming better COTS products (guides for developers)

What does COTS need to make explicit;

What does COTS reuser need to know

Specifications, documentation, interface, model, testing, proper use, etc

What are the dependencies

What are the quality of service factors

Feature-based installation, customization

Where to get help?

Standardization

Industry provides COTS; industry consumes COTS; what can we do?

Standards, mechanisms for implementing the standards

Requires industry participation; technical and not marketing

Industry agree-on

Standard interfaces

Component descriptions

Deployment framework

CMM – COTS Maturity Model; COTS Level 5 is better than 3?

How well does it satisfy packaging requirements?

How reusable is it?

Technology

Holy Book of Patterns for COTS Integration

Assembly and Deployment

Modeling

Testing

Product-Lines

Configuration Management

Other Observations

What can we learn from successful COTS software?

Operating system/databases are stable COTS?

Well defined interfaces

Is there a difference between legacy reuse/open source and

COTS?

Relationship between Non-developmental items (NDI) and COTS?

Is there difference between reusing small/big COTS into small/big system

What is size?

Its all about semantics: how well you understand it, how complex the interactions are

Traditional notion of size is changed

Special Issue on this topic in journal (IEEE TSE)

Program Committee

Francis Bordeleau (Carleton University, Canada)

Lisa Brownsword (Software Engineering Institute, USA)

Rose Gamble (University of Tulsa, USA)

Anna Liu (Microsoft Research, USA)

Nenad Medvidovic (University of Southern California, USA)

Maurizio Morisio (Politecnico di Torino, Italy)

Judith Stafford (Tufts University, USA)

Tarja Systa (Tampere University of Technology, Finland)

Ye Wu (George Mason University, USA)

Slides and Presentations at http://

www.tuisr.utulsa.edu/iwicss

/

GOOGLE: “IWICSS” aegyed@teknowledge.com

19 th IEEE International Conference on

Automated Software Engineering

Linz, Austria

September 20-25, 2004

Paul Grünbacher

Johannes Kepler

University, Austria

Virginie Wiels

ONERA, France

Kurt Stirewalt

Michigan State

University, USA

Technical Program

Key Dates:

Paper submission: April 9, 2004

Author notification: June 11, 2004

Camera-ready papers: July 2, 2004

http://www.ase-conference.org

Download