Quarterly Technical Status Report: Architecture-based Adaptation of Complex Systems (Rainbow)

 

 

Agreement/Contract Number: F30602-00-2-0616

For the period of: July – September 2000

David Garlan, Principal Investigator

School of Computer Science, Carnegie Mellon University

5000 Forbes Ave

Pittsburgh, PA 15213

E-mail: garlan@cs.cmu.edu

WWW Homepage: http://www.cs.cmu.edu/~garlan

Voice: 412-268-5057

FAX: 412-268-5576

 

 

1.0 Participants

 

Faculty:

David Garlan

Peter Steenkiste

Bradley Schmerl (joined group in August 2000)

 

Graduate Students:

Bridget Spitznagel

Owen Cheng (joined group in August 2000)

Jichuan Chang (joined group in August 2000)

Jianing Hu (departed group in August 2000)

Ningning Hu (joined group in August 2000)

 

Staff:

Nancy Miller

 

2.0  Ongoing Research & Development

 

The goal of the Rainbow project is to adapt complex systems by analyzing and adapting their architectures. The architecture of a system describes the intentions of a designer, and can be used to express the expectation of quality of service attributes. Existing analysis tools have been used to check to see whether these architectures can satisfy these attributes statically. Our approach is to migrate these techniques so that they can be used in dynamic adaptation, so that software architectures are analyzed at runtime. If the architectures fail to meet quality attributes then repair strategies are used to adapt the architecture (and thence the implementation) so that these quality attributes can be achieved. Our hypotheses are:

We plan to use tools developed at CMU to support the Acme architecture description language to in this project, in addition to the Remos system to provide us with probes into network performance. We will describe architectures and adaptations for applications where network performance is and important factor.

In addition to this specific work, we will also provide infrastructure support for extensions to Acme and associated tool support that will be required by other DASADA program participants. Thus, we are involved in the Gauges Infrastructure Working Group and the Resource Constrained Systems Working Group.

 

2.1 Development of XML standard for software architecture interchange

 

XML (The Extensible Markup Language) is a standard language for specifying interchange. We plan to use XML in DASADA to communicate the architectures between tools. xArch is being developed as an XML encoding of software architectures. As there are a number of existing ADLs, each with different foci and styles, such a standard is required for interchange between various tools. Because XML is an international standard, there are existing tools for manipulating and viewing XML documents that can be used by architecture tools to provide tool support for storage and transmission.

Garlan and Schmerl participated in numerous discussions with investigators at UCI to develop a standard for representing the structural components of an architecture in XML. This representation is called xArch, the first release of which is anticipated in November. This initial release will allow only architectural instances to be specified. In subsequent quarters, xArch will be extended using a layered and modular approach so that it can be used to specify domain specific architectures. In particular, we will be involved in developing extensions that will allow the encoding of Acme.

 

2.2 Investigation of relationship between UML and software architectures

 

Work began on creating a mapping between the real time profile of UML and Acme. The goal of this is allow architecture descriptions to be represented in UML enabling a linkage between architectural tools and commercial UML tools (such as Rose-RT).

 

2.3 Acme and AcmeStudio

We developed prototypes for Acme extensions for mapping and events, and incorporated them into our AcmeLib parsers. We have been working toward releasing a new version of AcmeStudio and the Armani constraint checker for November 2000.

 

3.0 Notable Accomplishments, Breakthroughs & Technology Transition

 

·        Acme Mapping Extension proposal written and disseminated to other members of the DASADA community.

·        Refinement of Acme Activity Extension, and development of prototype tool support in AcmeLib.

 

4.0 Collaboration Activities

 

·        Event standard distributed to Bob Reimenschneider

·        Collaboration with University of California, Irvine, to develop a draft of xArch – an XML representation of structural architectural entities.

·        Initial discussions on formal semantics for Acme with SRI, Teknowledge and Kestrel institute.

 

5.0 Publications and Presentations

 

Published

"Capturing Software Architecture Design Expertise with Armani, Version 2.3,"  Robert T. Monroe. Published as Technical Report CMU-CS-98-163, Carnegie Mellon University (Revised September, 2000).

 

Accepted

"Reconciling the Needs of Architectural Description with Object-Modeling Notations," David Garlan and Andrew Kompanek. Accepted for the Third International Conference on the Unified Modeling Language - << UML >> 2000, York, UK, October 2000.

"Modeling of Architectures with UML," David Garlan , John Knapman , Birger Møller-Pedersen , Bran Selic, and Thomas Weigert. Accepted for the Third International Conference on the Unified Modeling Language - << UML >> 2000, York, UK, October 2000.

"Model Checking Implicit Invocation Systems," David Garlan and Serge Khersonsky. Accepted to the International Workshop on Software Specification and Design, San Diego, CA, November 2000.

 

 

 

6.0 Travel

 

Schmerl and Garlan attended the DASADA kick-off meeting in Santa Fe in September.

 

Garlan gave the keynote presentation at Symposium 2000 on Object-Oriented Technologies, Tokyo, Japan, August 30 to Sept1, 2000 Talk title: Software Architectures and Object-Oriented Systems.

 

7.0 Funding Summary

 

8.0 Overall Project Status: [green]

 

9.0 Plans For The Next Reporting Period

 

·        Produce an experimental scenario for dynamic architectural adaptation, from among a number of possible application domains.

·        Release a new version of AcmeStudio

·        Develop a prototype Acme->UML translator.

·        Further develop xArch.

·        Work with the Gauges Infrastructure and Resource Constrained working groups.

·        Participate with Bruce Lewis in the experiment for the resource constrained working group.

·        Collaboration with Veridian to migrate their Venice architectural tool to use Acme.