Status Report: A Technology Investigation Supporting Software Architecture and Analysis for Evolution
Agreement/Contract Number: F30602-97-2-0031
For the period: October 1998 through December 1998
Principal Investigators:
David Garlan and Mary Shaw
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA 15213-3891
E-mail:
garlan@cs.cmu.edu, mary.shaw@cs.cmu.edu
WWW Homepage: http://www.cs.cmu.edu/~Compose/
Voice:
412-268-5056 (Garlan); 412-268-2589 (Shaw)
FAX:
412-268-5576  

1.0 Participants

Carnegie Mellon University

Faculty

David Garlan Associate Professor of Computer Science
Mary Shaw Alan J. Perlis Professor of Computer Science, Associate Dean for Professional Programs
Jeannette Wing Professor of Computer Science

Graduate Students

Shawn Butler
Craig Damon
Robert DeLine
Darrell Kindred
Robert Monroe
Robert O'Callahan
Siddhartha Puri
Bridget Spitznagel
Zhenyu Wang
Hao-Chi Wong

Visitors and Postdocs

John Ockerbloom Postdoctoral Fellow

Staff

Andrew Kompanek Senior Research Programmer

2.0 Ongoing Research & Development

The following are the on-going research and development activities for the Composable Software Systems group.

Robert O'Callahan worked on the Ajax analysis tool for Java to increase its coverage of the Java bytecode language and to improve scalability. He also built some more tools using the framework, to explore new applications of the technology.

Craig Damon made significant progress towards the completion of Ph.D. thesis related to Ladybug, particularly in the areas of formalization of the techniques and proving them sound.

Darrell Kindered wrote a nearly complete draft of his Ph.D. thesis related toRevere.

Continued development and refinement of Armani language and environment. Began significant beta-testing efforts. Preliminary integration of Armani with the AcmeStudio architectural design environment.

DeLine's thesis is near completion. He designed a method and tools to separate a component's functionality from its interaction with other components. He performed several case studies to test the feasability and scalability of the approach. The studies include many popular forms of component interaction: ActiveX controls, Windows applications, Netscape plugins, ODBC database access, CGI scripts, pipes/filters, TCP/IP sockets.

As part of ADL Toolkit, effort John Ockerbloom has collected information on ADLs and related tools, and have published much of this on the ADL Toolkit Web page (http://www.cs.cmu.edu/~spok/adl/ and started an ADL Toolkit mailing list. He also articipated in an ADL Toolkit working group meeting in December. Currently, he is investigating specific mechanisms and libraries we can use to make diverse ADL tools work together with David Garlan and Dave Wile at ISI.

Work continues on Acme-based environment (AcmeStudio) at CMU. This work includes adding mechanisms to support the integration of externally developed tools. The integration framework has been tested by integrating the Armani typechecking tool into AcmeStudio.

We continue to support users and evaluators of our Acme-based design environment (AcmeStudio), the Acme developer's libraries (Java and C++ AcmeLib), Armani, Lackwit and Revere.

3.0 Notable Accomplishments & Technology Transition

The Ajax tool handles the entire Java bytecode language and can analyze small to medium sized Java programs.

A Beta version of the Armani language and environment was released and is now available via request to bmonroe@cs.cmu.edu. A complete version of the language reference manual is also available through this site.

AcmeStudio (an Acme environment and editor) and environment with preliminary support for Armani is now publically available throught the Acme web site (http://www.cs.cmu.edu/~acme).

As part of ADL Toolkit, effort John Ockerbloom has collected information on ADLs and related tools, and have published much of this on the ADL Toolkit Web page (http://www.cs.cmu.edu/~spok/adl/ and started an ADL Toolkit mailing list

4.0 Progress on Inter/Intra Cluster Collaborations

Daniel Jackson (MIT)

Robert O'Callahan met with Daniel Jackson and his students at MIT for more discussions about using Ajax technology in their WOMBLE project.

HLA

Craig Damon and others applied Ladybug to two portions of the HLA specification, discovering flaws in both areas. The resultant TR will be published this spring.

COLLABORATION WITH OTHER PROJECTS IN ARCHITECTURE CLUSTER

Peter Feiller (SEI)

Ongoing collaboration with Peter Feiller and Jun Li at SEI using Armani to model real-time preformance and fault-tolerance architectural properties. Also supporting their use of the AcmeStudio environment.

Lockheed-Martin (Creps)

We continued to collaborate with Lockheed Martin, transitioning new versions of our design tools to them for incorporation in demos and pilot projects.

David Wile (USC ISI)

We continued to collaborate with Dave Wile at USC ISI on application of Acme to our ADLs and tools.

COLLABORATION WITH PROJECTS IN HIGH ASSURANCE CLUSTER

No new progress to report.

COLLABORATION WITH PROJECTS IN DESIGN MANAGEMENT CLUSTER

No new progress to report.

COLLABORATION WITH PROJECTS IN DYNAMIC LANGUAGES CLUSTER

We met with Paul Hudak (Yale) to discuss his proposals for higher-order, polymorphic extensions to ACME.

5.0 Publications

The following are the papers that have been authored by the members of this contract during the reporting period. They have been organized into groups based on their status as submitted, accepted, or published. They represent transition of our research to the community at large.

Published

Monroe, R.T.
Capturing Software Architecture Design
Expertise With Armani. Technical Report CMU-CS-98-163,
Carnegie Mellon University School of Computer Science,
October 1998

Dingel, J., Garlan, D., Jha, Somesh, Notkin, D.
Reasoning about Implicit Invocation
Accepted for publication at Sixth International Symposium on the Foundation of
Software Engineering (FSE 6). November 1998.

Allen, R., Garlan, D., Ivers, J., Alan, R.
Formal Modeling and Analysis of Component Integration Frameworks
Accepted for publication at Sixth International Symposium on the Foundations of
Software Engineering (FSE 6). November 1998.

Accepted  

Robert O'Callahan
A New Type System for Java Bytecode Subroutines
Proceedings of the 24th ACM Conference on Principles of Programming
Languages, January 1999.

J.M. Wing and J. Ockerbloom,
Respectful Type Converters
to appear in IEEE Transactions on Software Engineering
accepted November 1998; also published as CMU-CS-98-130.

A paper on Acme was accepted for publication as chapter in book on "Foundations of Component Based Systems" edited by Leavens and Sitaraman.

6.0 Travel

The following are the talks, presentations, panels, lectures, workshops, and demonstrations given by the members of this contract during the reporting period. They represent transition of our research to the community at large.

Jeannette Wing
NSF Software Workshop
Baltimore, MD
October 15-16, 1998.

Jeannette Wing
DARPA Formal Methods PI Meeting
Palo Alto, October 29-30, 1998.

Jeannette Wing
ONR and NSF Workshop in Computer Security, Fault Tolerance, and Software Assurance:
From Needs to Solutions

Williamsburg, VA
November 10-12, 1998.

Jeannette Wing
Talk: ``Formal Methods: Past, Present, and Future,''
DISTINGUISHED LECTURE SERIES
DePaul University,
October 2, 1998.

Jeannette Wing
Talk: ``Formal Methods: Past, Present, and Future,''
1998 Asian Computing Science Conference

1998, KEYNOTE SPEAKER.
Manila, The Philippines
December 10

Robert O'Callahan
Talk: "The Design and Implementation of Program Analysis Services"
MIT

Robert O'Callahan
"A New Type System for Java Bytecode Subroutines"
MIT

David Garlan
Talk: Architecture Research
IBM Watson Research Labs
December 1998

David Garlan
Program Comittee
WICSA: First Working Conference on Software Architecture
Formal Methods'99

David Garlan
Program Co-Chair
1999 International Conference on Software Engineering (ICSE)

David Garlan
EDCS PI Meeting
San Diego, CA
October 1998

David Garlan
International Software ArchitectureWorkshop (ISAW)
Orlando, FL
November 1998

David Garlan
Foundations In Software Engineering (FSE'99)
Orlando, FL
November 1998

David Garlan, John Ockerbloom
EDCS PI ADL Toolkit Meeting
SRI (Menlo Park CA)
December 12, 1998

7.0 Miscellaneous/Administrative/Problematic Issues

8.0 Plans For The Next Reporting Period

Continue work on Ajax to improve its scalability and to treat difficult language features such as reflection and calling native code. Measure the performance and accuracy of the analysis system applied to large Java programs.

Continue towards completion of the Ph.D. thesis related to Ladybug.

Finish thesis related to Revere.

Continue supporting Armani and transitioning from research to industry.

Continue supporting Acme developer's libraries and environment.

Continue work on ADL toolkit related research and infrastructure design and dvelopment.