Using DARPA Software Architecture Technologies
to Design and Construct CORBA-based Systems
A Position Paper for the
OMG-DARPA Workshop on Compositional Software Architectures
Richard Creps Lockheed Martin C2 Integration Systems 9255 Wellington Road Manassas, VA 20110 E-mail: dick.creps@lmco.com Phone: (703) 367-1353 Fax: (703) 367-1389
Paul Kogut Lockheed Martin C2 Integration Systems 590 Lancaster Avenue, PO Box 4001 Frazer, PA 19355 E-mail: paul.kogut@lmco.com Phone: (610) 407-3524 Fax: (610) 407-3512
The DARPA Evolutionary Design of Complex Software (EDCS) program is developing technologies to support evolution of large software systems. OMG has developed the Object Management Architecture (OMA) which includes the Common Object Request Broker Architecture (CORBA). The EDCS program has focused on the development and integration of tools to support architecture composition, evaluation, and knowledge management. The OMG has focused on defining standard distributed object middleware and standard notations for object analysis and design. We believe the efforts of OMG and DARPA EDCS are complementary and that integrating these efforts would provide great benefit to both government and industry.
The Lockheed Martin Architectural Design, Analysis and Measurement (ADAM) project has the role of integrator in the EDCS Architecture and Generation cluster. The ADAM project has defined a realistic architecture evolution scenario for the DoD Global Transportation Network (GTN). The scenario spans the process of modifying the GTN system architecture to replace proprietary middleware with CORBA and migrating the current GTN client applications to Java. We have applied various EDCS tools in the context of the evolution scenario for the yearly EDCS demos. A major goal of our research is to determine if EDCS technologies would scale-up to real world architectures. In the rest of this paper we discuss our experience with some EDCS tools in the context of distributed object architectures. This discussion is meant to identify key technologies and research problems and suggest approaches for converging the EDCS and OMG initiatives.
We used Aesop to model the Java/CORBA GTN architecture. Aesop is a toolkit for building style-specific architecture design environments developed by Carnegie Mellon University (CMU) (see http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/index.html). We developed the Internet Distributed Object (IDO) architecture style which includes components such as CORBA servers, browsers, web servers and Java applets and connectors such as Internet Inter-ORB Protocol (IIOP) and HTTP. The IDO style provides visual cues for model understanding and rules for legal configurations. The major benefit of Aesop is the facilitation of style specific analyses of system-wide properties. These proactive analyses are meant to catch problems in the architectural design phase. We developed an analysis capability for a performance problem that is specific to the IDO style. This analysis capability supports estimation of the number of web servers needed to give adequate peak-load performance for downloading client applets. We believe there are major benefits to extending the IDO style to better support design of CORBA-based systems. Potential extensions include:
ACME is a language developed in the EDCS program to facilitate interchange of architecture models between tools (see http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www/index.htm). We used ACME to convey architectural information between Aesop and the performance analysis tool mentioned above. We have also used ACME to translate Aesop models into image-mapped HTML documents for display over the WWW.
Interchange of models through ACME allows an engineer to take advantage of the architecture evaluation capabilities of a variety of tools. OMG has been defining an object analysis and design facility which is based on the Unified Modeling Language (UML) version 1.1. We think it would be beneficial to develop a capability to import UML models into EDCS tools through ACME. We are currently investigating this import capability.
Rapide is an executable architecture definition language developed by Stanford University (see http://anna.stanford.edu/rapide/rapide.html). Rapide has tools that allow you to browse and animate complex sequences of events generated by an architecture simulation. We used Rapide to model failover in the Java CORBA GTN architecture. We think that Rapide is a critical tool for understanding and validating the complex behavior of distributed object architectures. Rapide is a prime example of an EDCS tool that should be made conveniently accessible to engineers who use UML models.
There are other EDCS technologies that appear promising for composing and evaluating OMG-flavored distributed object architectures. We are currently investigating the use of the CMU UniCon tool to generate Java code to support migration of legacy systems to CORBA (see http://www.cs.cmu.edu/~UniCon/). UniCon has demonstrated code generation for remote procedure calls and real-time processes. Researchers at Stanford are investigating mega-programming languages that will support a variety of middleware including CORBA and DCOM (see http://www-db.stanford.edu/CHAIMS/). Researchers at the University of California Irvine are investigating dynamic architectures (see http://www.ics.uci.edu/pub/arch/dynamic-arch.html). CORBA-based architectures may have dynamic properties like runtime object creation and location.
In conclusion, we believe that the focus of OMG on middleware and notation standards complements the focus of the DARPA EDCS program on architecture tools and evaluation of system-wide properties. We see this OMG DARPA workshop as a great opportunity to develop a comprehensive approach to integrating OMG and EDCS initiatives.