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
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
"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.