Carnegie Mellon University
Visitors and Postdocs
2.0 Ongoing Research & Development
The following are the on-going research and development activities for the Composable Software Systems group.
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. We developed an initial version of an Armani language reference manual, and prototype tools. As part of this work, we developed a formal, set-theoretic semantics for architectural constraints that permits one to incorporate predicates into the type checking rules for architectures. This semantics is based on a PVS-style interpretation of "types as predicates over sets".
We continue to develop extensions of Wright to permit description of dynamically-reconfigurable architectures and allow automated analysis of these descriptions.
We continue to apply Wright to the Defense Modeling and Simulation Office (DMSO) High Level Architecture (HLA) for distributed simulation. Specifically, we modeled the part of the architecture that concerns distributed time management. This led to new insights into the algorithms for time management, which in turn led to changes in the the most recent release of the published HLA specification.
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 our research 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 investigate the relationship between modules in advanced programming languages and ADLs. In particular, we envision that SML-mod-rec can be used as an "intermediate language" into which many existing ADLs can translate. SML-mod-rec has the potential to handle dynamism for ADLs too. We will build support for SML-mod-rec by extending the existing SML TIL compiler.
We continue to make progress on showing how the theory generation approach, in its full generality, can be used to specify and reason about authentication protocols and the relationship between a concrete protocol and its BAN abstract version.
We continue to make progress on formally defining the techniques used by Nitpick and the next generation tool, Ladybug (see below).
We continue to make progress on Lackwit's successor for Java: a code-level analysis tool based on type inference for finding data dependencies in large-scaled software systems.
We continue our work with analyzing security protocols.
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 227 organizations in 36 different countries.
The following represent the accomplishments and the technology transition activities accomplished by the Composable Software Systems group during the reporting period.
In UniCon 2 and the associated toolset, we implemented Remote Procedure Call (RPC) and Pipe connector abstractions for systems targetted for the Unix platform, as well as PLBundler, ProcedureCall, and DataAccess connector abstractions for systems that are targetted for both the Unix and Windows NT environments.
In the UniCon 2 graphical editor, we implemented the capability of saving textual descriptions after they have been manipulated graphically. This includes the saving of the positioning information associated with the graphical shapes. The editor was also enhanced to load descriptions written in any architectural style: unknown component and connector abstractions are rendered with default shapes.
In the UniCon 2 tool suite, we have started implementing conversions to and from ACME. The UniCon->ACME translator is nearly complete.
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.
Allen, R., Douence, R., Garlan, D.
Specifying and Analyzing Dynamic Software Architectures.
Proceedings of the 1998 Conference on Fundamental Approaches to Software Engineering (FASE'98) , March, 1998.
Proceedings of the Workshop on Compositional Software Architectures, January, 1998.
Jackson, D., Ng, Y., Wing, J.M.
A Nitpick Analysis of Mobile IPv6
CMU Technical Report CMU-CS-98-113, March, 1998.
Separating Application Logic from Architectural Concerns - Beyond Object Services and Frameworks Proceedings of Workshop on Compositional Software Architectures, January, 1998.
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.
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. Specifically, we plan to start work on a Database connector abstraction for UniCon 2. We also plan to implement an ACME to UniCon translator. Additionally, we plan to augment the UniCon 2 graphical editor to be able to perform edit operations on graphical descriptions.
We plan to continue helping Lockheed-Martin incorporate CMU technology into the next demonstration for the EDCS "Demo Days" '98.
We plan to finish writing up our most recent results on our experience with integrating Aesop, UniCon, and ACME.
Continue to apply Wright to the HLA, develop Armani language and tools, understand architectural refinement, and higher-order connectors.
We plan to transition prototype Armani environment to Lockheed Martin for incorporation in their July Demo.
We plan to complete the thesis work on Revere.
We plan to publicly release the next generation Nitpick tool, Ladybug.
We plan to continue progress on Lackwit (and the Java version), Nitpick, and Ladybug.