Status Report: A Technology Investigation Supporting Software Architecture and Analysis for Evolution
Agreement/Contract Number: F30602-97-2-0031
For the period: October 1997 through December 1997
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
Visitors and Postdocs
Staff
2.0 Ongoing Research & Development
The following are the on-going research and development activities for the Composable Software Systems group.
On-going support is being provided to users and evaluators of Armani, Aesop, the ACMELib library and toolset, Lackwit, Revere, and the UniCon toolset.
The UniCon toolset has now been acquired by 201 organizations in 35 different
countries.
Research continues on the Armani software architecture design
language. Armani extends the ACME architecture description language
with constructs for capturing architectural design expertise and
design constraints. An initial version of the design language has
been specified and the language processing infrastructure is in
development. In addition to the language itself, initial prototyping
is underway on a configurable software architecture design environment
based on the Armani language.
Research continues on the next generation of the UniCon language,
UniCon 2. We are currently designing the language and the next
generation of tools to edit and compile descriptions in the language.
UniCon 2 improvements will include improved type checking, improved
support for adding connector types, evolvable specifications, support
for adding component types, and improvements in multi-level
definition handling.
We continue to use Aesop to develop new styles and analyses for
architectural design. We continue to find ways to integrate Aesop with
evolving ACME facilities and tools.
We continue to develop extensions of Wright to permit description of
dynamically-reconfigurable architectures and allow automated analysis of
these descriptions. Also we continue to apply Wright to the DMSO High
Level Architecture for Distributed Simulations.
We continue to work on development of bounded generation techniques in
Nitpick.
We continue our work with theory generation.
We continue to do research in the area of using ML for architectural
descriptions.
We continue our work with analyzing security protocols.
We continue to design and implement Lackwit analysis for Java software.
3.0 Notable Accomplishments & Technology Transition
The following represent the accomplishments and the technology transition activities accomplished by the Composable Software Systems group during the reporting period.
Helped Defense Modeling and Simulation Office (DIMSO) produce the next draft
of the High Level Architecture (HLA) IFSpec.
Craig Damon successfully proposed his PhD thesis entitled
"Selective Enumeration," October 27, 1997.
We developed the initial prototype of the UniCon 2 graphical editor
using Visio 5.0, Visual Basic for Applications (VBA), and Java.
Architectural descriptions in the UniCon 2 textual syntax can be
loaded into the editor, rendered graphically, and then exported as
text once again. This can be accomplished for the pipe-and-filter
style. Additionally, these graphical descriptions can be partially
built, meaning that the glue code is generated for the connections
when the system is built. We plan this next quarter to implement
generation of binary executables during the build.
We implemented Mary Shaw's notion of credentials in the UniCon 2
compiler prototype backend. More information on credentials can be
found in her paper:
Shaw, M.
Truth vs. Knowledge: The Difference Between What a Component Does and What We Know It Does
Proceedings of the 8th International Workshop on Software Specification and Design, March 1996.
We developed the first formal definition of bounded elimination, one
of Nitpick's state space reduction techniques. This will become a
chapter in Craig Damon's thesis.
We made significant progress this quarter on the formalization of
theory generation, the key technique behind Revere. We identified it
to be a decidable fragment of first-order logic. This will be a
chapter in Darrell Kindred's thesis.
Jeannette Wing was elected ACM Fellow this quarter.
In our research with using ML for architecture descriptions, we
defined an approach to take a sugared version of ML that captures
architectural descriptions, translates it into an existing HIL
(High-level Intermediate Language), which then feeds into the back-end
of a standard ML compiler. This comes at the cost of "rolling" and
"unrolling" mutually recursive ML structures, the one language feature
not directly supported by ML but needed to best support software
architecture description. Hence, we made a conceptual breakthrough
and nailed down that one thing that ML lacks which is needed for
describing software architectures. Moreover, we believe we have a way
to implement this feature given existing ML implementations. Getting
over this hump is key to Siddhartha Puri's thesis; hence, we expect him to
propose early next term based on these results.
We investigated existing model checkers (Spin) and proof checkers
(Step) in preparation for designing a hybrid checker for analyzing
security protocols. We immediately discovered many limitations of both
tools that would stand in the way of using them directly. We plan to
look at secure auction protocols as our challenge problem.
4.0 Progress on Inter/Intra Cluster Collaborations
- COLLABORATION WITH INTEGRATORS
- Global Transportation Network
- Worked with Dick Creps at Lockheed Martin to continue to transition
CMU EDCS technology.
- COLLABORATION WITH OTHER PROJECTS IN ARCHITECTURE CLUSTER
- Lockheed-Martin (Creps)
- We provided the language reference manual for Version 3.0 of ACME
to Lockheed-Martin.
- 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
- No new progress to report.
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
Garlan, D., Monroe, R.T., Wile, D.
ACME: An Architecture Description Interchange Language
Proceedings of CASCON'97, November, 1997.
Melton, R., Garlan, D.
Architectural Unification
Proceedings of CASCON'97, November, 1997.
Garlan, D., Tomayko, J.E., Gluch, D.
Agents of Change: Educating Future Leaders in Software Engineering
IEEE Computer, November, 1997.
Accepted
Garlan, D.
Higher-Order Connectors
To appear Proceedings of Workshop on Compositional Software Architectures, January, 1998.
Wang, Z.
Separating Application Logic from Architectural Concerns - Beyond Object Services and Frameworks
To appear Proceedings of Workshop on Compositional Software Architectures, January, 1998.
Submitted
Allen, R., Garlan, D., Douence, R.
Specifying Dynamism in Software Architectures
Submitted to Workshop on Foundations of Component-Based Software Engineering(FASE), September, 1997.
Garlan, D., Wang, Z.
Architecture-Based Performance Analysis
Submitted for publication, November, 1997.
DeLine, R.
Understanding Changes to Software Component Packaging
Submitted to the 5th International Conference on Software Reuse,
December, 1997.
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.
David Garlan (invited talk):
EDCS Research at CMU
Lockheed-Martin
Atlanta, GA, December, 1997
Jeannette Wing
DARPA ITO PI Meeting
Austin Texas, November 10-12, 1997
7.0 Miscellaneous/Administrative/Problematic Issues
8.0 Plans For The Next Reporting Period
We plan to continue our redesign of the UniCon 2 language and toolset.
UniCon 2 improvements will include improved type checking, improved
support for adding connector types, evolvable specifications, support
for adding component types, and improvements in multi-level definition
handling. We plan to re-target UniCon 2 to handle PCs, probably
rehosting in the process.
During this next quarter, we plan to make the UniCon 2 compiler prototype
backend completely interactive to support interactive editing functions
in the new graphical editor tool. We also plan to implement building of
PC applications in the compiler backend.
We plan to continue helping Lockheed-Martin identify technology to inporporate
into the next demonstration for the EDCS "Demo Days" '98.
We plan to continue our work on applying Wright to HLA, working with DMSO to
develop a better architectural standard.
We plan to write up our most recent results on our experience with
integrating Aesop, UniCon, and ACME.
We plan to continue to develop the Armani constraint language, and investigate
the incorporation of that language into a new extension of ACME.
We plan to write up our research in the area of honesty and responsibility
checks for Revere.
We plan to work on the organizing committee for the Architecture Cluster
presentations at the July EDCS Demo Days.
We plan to produce preliminary Armani language reference manual, and
prototype tools.