![]() |
||||||||
![]() |
Software Architecture Overview |
|||||||
| Contact
Information
Professor Richard N. Taylor
University of California, Irvine |
UCI's
research in software architecture is directed at reducing the cost of application
development by focusing attention on high level design issues and increasing
the potential for reuse among systems in closely related product families. UCI's
work in software architecture provides:
BenefitsThe goal of UCI's research in software architecture is to support the evolution of large-scale, heterogeneous, distributed, multi-user systems. UCI's architecture-based technologies provide the following benefits:
ApplicabilityExtensive research and experience with architectures for graphical user interface software has led to a general component- and message-based architectural style , known as C2, that is well-suited for large-scale, heterogeneous, and distributed applications. UCI's architecture research helps developers evolve complex systems that are open, flexible, reliable, and understandable.Currently Available SoftwareThere are a number of Software items available. The most recent item is the ArchStudio2.0 Architectural Design environment demo program. The goals of this environment included a graphical design facility for C2 Architectures, a runtime system for dynamic architectures, and a means by which a Component could be downloaded from the WWW and integrated into a running system on the fly. Information about the design environment can be found on the ArchStudio homepage. A major accomplishment of this system was the creation of xADL, and XML based ADL. The basis for this system is the C2 Class Framework, available in Java and C++ with a graphics binding in Java awt and with documentation. This Framework provided the implementaions and skeletons for the Components and Connectors of the system along with the Messages passed between them (known as Notifications and Requests). This C2 Class Framework distribution also includes simple example applications including a Java stack example with multiple graphical depictions and a C++ implementation of the KLAX(TM) video game. ArchShell, a command line tool with which you can build architecture using commands and run them has also been devloped. You can learn more about ArchShell on the Dyanic Architecture page. An internet alpha version of the Argo design
environment (implemented in Java), which includes the C2
Class Frameworks is freely available to download. The Argo design environment
provided a graphics based architecture editor which was used as the basis
for Argo/C2 (the precursor of the graphic editor in ArchStudio2.0) and Argo/UML,
a widely used open-source design tool. Future Architecture WorkUCI will develop and distribute an integrated C2 development environment including graphical design facilities, a runtime system for dynamic architectures, and tools for subtyping and wrapping architectural components.This tool will facilitate any designers of systems which adhere to C2 style rules, and provides a basis for further development for such areas as embedded systems. The design of this system will be entirely in C2 style and will allow for the tools to be added at run-time, and will also leveage the XML based generic ADL known as xADL . This work will also include integration with the WWW to support a component marketplace model of distribution, as well as integration with active design rationale capture and delivery facilities. System generation facilities will initially support Java and C++ and a single interprocess communication mechanism. Support for Ada95, Smalltalk, and other languages, as well as other communication mechanisms is also planned. |
|||||||
|
Acknowledgement This material is based upon work sponsored by the Air Force Materiel Command, Rome Laboratory, and the Defense Advanced Research Projects Agency under Contract Number F30602-94-C-0218. The content of the information does not necessarily reflect the position or the policy of the Government and no official endorsement should be inferred. |
||||||||