Technology Transition



Technology Transition

Another way we transition our research is to collaborate with other ARPA and EDCS projects around the country. By collaborating with academic partners, we leverage against the research done by others and expand the context in which our research is performed and applied. By collaborating with industrial partners, we transition the ideas, approaches, languages, and tools to a sector that can apply them to real world problems. The feedback we receive is invaluable in that it grounds us in the context of the real world.
 

Lockheed-Martin (Creps)

We provided our prototypes to Lockheed-Martin for integration, and worked with them to develop sample applications.

We provided the language reference manual for Version 3.0 of ACME to Lockheed-Martin.

Worked with Paul Kogut of Lockheed Martin to define a collaborative demonstration for the EDCS Demo Days conference in July, 1998 involving CMU technology.

We began collaborative work with Carolyn Talcott and Jose Meseuger on modeling Wright in Maude.

Lockheed-Martin made significant progress on incorporating and integrating Aesop and ACME into a technology demonstration for the July EDCS meeting.

Worked with Dick Creps at Lockheed Martin to continue to transition CMU EDCS technology.

Stanford University (Luckham)

CMU created an ACME-based translator from Wright to Rapide. This tool uses the Rapide analysis and display tools.

SRI (Moriconi)

CMU worked with the developers of SRI's SADL to make sure that ACME can handle the constraints associated with architectural style and refinement.

University of Texas (Batory)

CMU held discussions on how Batory's notion of architectural refinement compares with DeLine's flexible component packaging and whether Batory's generator technology is a good tool to support DeLine's thesis work.

USC/ISI (Balzer)

Wang worked with Bob Balzer and Dave Wile at ISI to produce a software architecture debugging environment.

USC/ISI (Wile)

CMU extended their ADL tools (for Wright, UniCon, and Aesop) to read and write ACME specifications. This work leverages the ACME language definition, the ACMELib infrastructure, and some of the ACME-based tools.

University of Massachussets (Osterweil/Clarke)

CMU worked with UMASS to combine the static checking capabilities of Wright with those of Flavors/INCA.

MCC

MCC expressed interest in integrating Nitpick into Quest.

University of Washington (Notkin)

Garlan collaborated with Notkin to develop formal models for reasoning about Implicit Invocation Architectures.

CMU (Scherlis)

O'Callahan held discussions with Scherlis' student Chan about applying a Java version of Lackwit to help them do code analysis.

CMU (Falhman)

CMU held discussions with the Gwydion project on how to incorporate some form of architecture description view and/or formally derived/described properties of software systems into their hypercode system.

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

CMU has transitioned the original UniCon tool suite (released 1996) to over 275 locations around the world.

The following tools are available for public release, and are all accessible on the Web.

 
System UniCon
Purpose Toolset for creating, manipulating, analyzing, and compiling software architecture descriptions written in the UniCon architecture description language (ADL)
Environment Linux, SunOS 4.1.3, Solaris 5.4, 5.5 platforms; Also requires installation of Odin (make-like system construction utility, available in the public domain - see http://www.cs.cmu.edu/~UniCon)
Point of Contact UniCon-Distribution@cs.cmu.edu
URL http://www.cs.cmu.edu/~UniCon

 

Coming soon (UniCon 2):

New language and toolset. New language features include improved type checking, improved support for adding connector types, evolvable specifications, support for adding component types, and improvements in multi-level definition handling. The toolset runs on Windows '95 and Windows NT platforms, and can build systems for these platforms and Unix platforms. You must purchase a license for Visio Professional 5.0, and you must acquire Microsoft's free Java SDK Version 2.01 or higher in order to run the new tools.

 

System Nitpick
Purpose Tool for analyzing designs which are described in a Z-like specification language called NP.
Environment any Macintosh computer
Point of Contact Craig A. Damon (cdamon@cs.cmu.edu)
URL http://www.cs.cmu.edu/~nitpick

 

System Aesop
Purpose Toolkit and framework that allows software architects to quickly and easily generate customized, "style-specific" software architecture design environments
Environment SunOS 4.1.3 (Has been ported to Solaris by Aesop users, but not yet included with the CMU Aesop distribution).
Point of Contact David Garlan (garlan@cs.cmu.edu)
URL http://www.cs.cmu.edu/~able/aesop

 

System ACME
Purpose Software architecture interchange language that supports the interchange of architectural descriptions among a wide variety of architecture description languages (ADLs) and their associated toolsets.
Environment The ACME Tool Developer's Library (AcmeLib), which includes extensible ACME parsers and unparsers, is written in C++ and available for Unix and PC platforms. The primary environment requirement is a modern C++ compiler.

AcmeStudio is an extensible, customizable graphical editor for Acme-based software architecture descriptions. It is built on top of the C++ version of the Acme Tool Developer's Library (AcmeLib) and supports both customized architectural visualization and integration with external analysis tools.

There is now a Java version of AcmeLib. It provides an extensible Acme parser that produces an object-oriented representation of an Acme design that can be queried, manipulated, and analyzed by automated tools, as well as unparsed to a textual format for interchange with other ADL's. The AcmeLib supports inter-ADL translation.

The Java AcmeLib is written entirely in Java. The only requirement for making use of the library is a Java virtual machine for Java 1.1 or higher. Significant subsets of the library are Java v1.0.2 compatible as well.

Point of Contact David Garlan (garlan@cs.cmu.edu)
URL http://www.cs.cmu.edu/~acme

 

System Revere
Purpose Analysis tool for cryptographic protocols.
Environment Requires Standard ML of New Jersey, version 109.29 or higher (available for Windows 95/NT and most Unix variants)
Point of Contact Darrell Kindred (dkindred@cs.cmu.edu)
URL http://www.cs.cmu.edu/~revere

 

System Lackwit
Purpose Tool for reverse-engineering programs to recover information about the flow and use of data
Environment SunOS, Linux, Alpha OSF 3.2, or Ultrix
Point of Contact Robert O'Callahan (roc@cs.cmu.edu)
URL http://www.cs.cmu.edu/~roc/Lackwit.html

 

 

Papers

The following are the papers authored by this group during fiscal year 1998. All have been submitted, accepted for publication, or published. They represent transition of (or an attempt to transition) our research to the community at large.

Dingel, J., Garlan, D., Jha, S., Notkin, D. "Reasoning About Implicit Invocation." Accepted for publication in Proceedings of the Sixth International Symposium on the Foundations of Software Engineering, November, 1998.

Allen, R., Garlan, D., Ivers, J. "Formal Modeling and Analysis of the HLA Component Integration Framework." Accepted for publication in Proceedings of the Sixth International Symposium on the Foundations of Software Engineering, November, 1998.

Spitznagel, B., Garlan, D. "Architecture-Based Performance Analysis." Accepted for publication in Proceedings of the 10th International Conference on Software Engineering and Knowledge Engineering (SEKE'98), June, 1998.

Vaziri, M., Lynch, N., Wing, J. "Proving the Correctness of a Controller Algorithm for the RAID Level 5 System." Proceedings of the International Symposium on Fault-Tolerant Computing, June 1998. Also published as CMU School of Computer Science Technical Report CMU-CS-98-117, March 1998.

Wing, J., Ockerbloom, J. "Respectful Type Converters." Submitted to IEEE Transactions on Software Engineering, May 1998. Also published as CMU School of Computer Science Technical Report CMU-CS-98-130.

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.

Leavens, G., Wing, J. "Protective Interface Specifications." Formal Aspects of Computing, March, 1998.

Jackson, D., Ng, Y., Wing, J. "A Nitpick Analysis of Mobile IPv6." CMU Technical Report CMU-CS-98-113, March, 1998.

Garlan, D. "Higher-Order Connectors." Proceedings of Workshop on Compositional Software Architectures, January, 1998.

Wang, Z. "Separating Application Logic from Architectural Concerns - Beyond Object Services and Frameworks." Proceedings of Workshop on Compositional Software Architectures, January, 1998.

Vaziri-Farahani, M., Lynch, N., Wing, J. "Proving the Correctness of a Controller Algorithm for the RAID Level 5 System." Accepted for publication in Fault-Tolerant CS, 1998.

DeLine, R. "Understanding Changes to Software Component Packaging." Submitted to the 5th International Conference on Software Reuse, December, 1997.

Garlan, D., Monroe, R., 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., Gluch, D. "Agents of Change: Educating Future Leaders in Software Engineering." IEEE Computer, November, 1997.

Zaremski, A., Wing, J. "Specification Matching of Software Components." ACM Transactions on Software Engineering and Methodology, October, 1997.

Jackson, D., Ng, Y., Wing, J. "A Nitpick Analysis of Mobile IPv6." Submitted to Formal Aspects of Computing, September, 1997.

Allen, R., Garlan, D., Ivers, J. "Formal Modeling and Analysis of Architectural Standards." Submitted for publication, September, 1997.

Kindred, D., Wing, J. "Closing the Idealization Gap with Theory Generation." Proceedings of the DIMACS Workshop on Cryptogaphic Protocol Design and Verification, Rutgers, NJ, September, 1997. (extended abstract)

Allen, R., Garlan, D., Douence, R. "Specifying Dynamism in Software Architectures." Proceedings of the Workshop on Foundations of Component-Based Software Engineering (FASE), Zurich, Switzerland, September, 1997.

Shaw, M., Clements, P. "A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems." COMPSAC `97, August, 1997.

Wing, J. " Subtyping for Distributed Object Stores." Proceedings of the Second IFIP International Workshop onFormal Methods for Open Object-based Distributed Systems (FMOODS), University of Kent at Canterbury, July, 1997, pp. 305-318. (invited paper)

Allen, R., Garlan, D. "A Formal Basis for Architectural Connection." ACM Transactions on Software Engineering and Methodology, July, 1997.

DeLine, R., Zelesnik, G., Shaw, M. "Lessons on Converting Batch Systems to Support Interaction." Proceedings of the 19th International Conference on Software Engineering, May, 1997, pp.195-204.

Allen, R. "A Formal Approach to Software Architecture." Ph.D. Thesis, Carnegie Mellon University, May, 1997. CMU Technical Report CMU-CS-97-144.

Ng, Y. "A Nitpick Specification of IPv6." B.S. in Computer Science, May 1997.

O'Callahan, R., Jackson, D. "Lackwit: A Program Understanding Tool Based on Type Inference." Proceedings of the 19th International Conference on Software Engineering, May, 1997, pp. 338-348.

Jackson, D., Jha, S., Damon, C. "Isomorph-free Model Enumeration: A New Method for Checking Relational Specifications." ACM Transactions on Programming Languages and Systems, accepted, to appear.

Garlan, D., Wang, Z. "A Case Study in Software Architecture Interchange." Submitted for publication, February, 1998.

Dingel, J., Garlan, D., Jha, S., Notkin, D. "Towards a Formal Treatment of Implicit Invocation." Accepted for publication in Formal Aspects of Computing.

Wing, J., Vaziri-Farahani, M. "A Case Study in Model Checking Software Systems." Science of Computer Programming, Vol. 28, 1997, pp. 273-299.

Robert O'Callahan successfully proposed his PhD thesis entitled "Scalable Program Analysis and Understanding Based on Type Inference," March 16, 1998.

John Ockerbloom successfully defended his PhD thesis entitled "Mediating Among Diverse Data Types," January 20, 1998.

Craig Damon successfully proposed his PhD thesis entitled "Selective Enumeration," October 27, 1997.

 

 

Talks

Talks, lectures, presentations, and workshops represent some of the best means for transitioning research that is performed in the academic environment. The following are the opportunities we pursued during the last fiscal year for transitioning our research to selected audiences.

Mary Shaw:
Keynote Address
Fifth International Symposium on Assessment of Software Tools & Technologies
Pittsburgh PA, June 1997.

David Garlan (invited lecture):
Software Architecture: Practice and Potential.
Oregon Graduate Institute
Beaverton OR, June 1997.

Robert Monroe:
EDCS Demo Days
Aesop Demonstration, Demonstration of Integration of Aesop/ACME/UniCon
Seattle, WA, July 1997

Mary Shaw and Robert DeLine:
EDCS Demo Days
UniCon Demonstration, Demonstration of Integration of UniCon/ACME/Aesop
Seattle, WA, July 1997

Darrell Kindred:
EDCS Demo Days
Revere Demonstration
Seattle, WA, July 1997

Craig Damon:
EDCS Demo Days
Nitpick Demonstration
Seattle, WA, July 1997

Jeannette Wing (invited speaker):
Subtyping for Distributed Object Stores
Second IFIP International Workshop on Formal Methods for Open Object-based Distributed Systems (FMOODS)
University of Kent at Canterbury, July, 1997

Jeannette Wing (invited panelist):
Panel on Funding for Software Research
COMPSAC `97
Washington, DC, August, 1997.

Mary Shaw (invited panelist):
Internet Interactive Learning
COMPSAC `97
Washington, DC, August, 1997.

David Garlan (invited panelist):
Architectural Languages and Design Environments: From Research to Practice.
SEI Symposium
Pittsburgh, PA, August, 1997.

Zhenyu Wang:
A Framework for Software Architecture Debugging Environments
Information Sciences Institute (ISI)
University of Southern California (USC), August 1997.

Darrell Kindred and Jeannette Wing (workshop):
Closing the Idealization Gap with Theory Generation
DIMACS Workshop on Cryptogaphic Protocol Design and Verification
Rutgers, NJ, September 1997.

David Garlan:
Software Architecture: Practice and Potential.
University of Washington
Seattle WA, September 1997.

David Garlan:
Software Architecture: Practice and Potential.
University of California at Berkeley
Berkeley, CA, September 1997.

David Garlan:
An Overview of Architecture Description Languages.
Intel Corporation
Santa Clara, CA, September 1997.

David Garlan:
Software Architecture Research at CMU.
Hewlett Packard Laboratories
Palo Alto, CA, September 1997.

Robert Monroe (presentation):
Armani (to) Martin Griss
Hewlett Packard Laboratories
Palo Alto, CA, September 1997.

David Garlan and Robert Allen (Tutorial):
Modeling and Analysis of Software Architecture
SIGSOFT `97 Foundations of Software Engineering/European Software Engineering Conference
Zurich, Switzerland, September 1997

Robert Monroe (demonstration):
Aesop and ACME (to) Rockwell Executives
Carnegie Mellon University,
Pittsburgh, PA, September 1997.

Gregory Zelesnik (presentation/demonstration):
Composable Software Systems and UniCon (to) Rockwell Executives
Carnegie Mellon University
Pittsburgh, PA, September 1997.

Robert Monroe (demonstration):
Aesop and ACME (to) Rhoda Novak of The Aerospace Corporation
Carnegie Mellon University
Pittsburgh, PA, September 1997.

Gregory Zelesnik (demonstration):
UniCon (to) Rhoda Novak of The Aerospace Corporation
Carnegie Mellon University
Pittsburgh, PA, September 1997.

Jeannette Wing
DARPA ITO PI Meeting
Austin Texas, November 10-12, 1997

Jeannette Wing
CISE Advisory Committee meeting
National Science Foundation (NSF)
November 29 - December 1, 1997

David Garlan (invited talk):
EDCS Research at CMU
Lockheed-Martin
Atlanta, GA, December 1997

David Garlan (DARPA Planning Workshop):
AITS/EDCS Meeting
Washington, D.C., January 23, 1998.

Jeannette Wing (invited talk):
Formal Methods: Past, Present, and Future
Distinguished Lecture Series
University of Washington, February 19, 1998.

Mary Shaw (invited talk):
Architecture Description Languages (ADLs) and UniCon
IBM
Toronto, Canada, February 24, 1998.

David Garlan (DARPA Planning Workshop):
Demo Days Planning Meeting
Melbourne, FL, February 10-11, 1998.

David Garlan (DARPA Planning Workshop):
ACS/EDCS Meeting
Washington, D.C., March 11, 1998.

David Garlan (DARPA Planning Workshop):
EDCS Spring Meeting
Los Angeles, CA, March 16-17, 1998.

Jeannette Wing:
NSF CISE Advisory Board
Washington, D.C.
April 28-30, 1998

Jeannette Wing:
OOPSLA program committee
Seattle, Washington
June 7-8, 1998

Jeannette Wing:
DARPA, visit with David Tennenhouse
Washington, D.C.
June 11, 1998

Jeannette Wing:
Model Checking and Security Protocols, workshop associated with Logic in Computer Science
Bloomington, Indiana
June 25, 1998
 


Brought to you by the

Composable Software Systems Research Group of the School of Computer Science

at Carnegie Mellon University.

Email: Maintainer

Modified: 17-Aug-1998