TriSL: A Software Architecture Description Language and Environment
Abstract
As the size and complexity of a software system increases, the design problem goes beyond the algorithms and data structures of the computation. Designing and specifying the overall system structure -- or software architecture --
becomes the central problem. A system's architecture provides a model of the
system that hides implementation detail, allowing the architect to concentrate on the analyses and decisions that are most crucial to structuring
the system to satisfy its requirements.
Unfortunately, with few exceptions, current exploitation of software architecture and architectural style is informal and ad hoc.
The lack of an explicit, independent characterization of architecture and architectural style significantly limits the extent to which software architecture can be exploited using current practices.
Architecture Description Languages(ADL) result from a linguistic approach to the formal description of software architectures. ADLs should facilitate building of architectures, not just specification. Further, they should also address the compositionality, substitutability, and reusability issues, which are the key to
successful large-scale software development.
A software architecture description language with a well defined type system can facilitate compositionality, substitutability, and usability, the three keys to successful large-scale software development.
Our contribution is a new software architecture
description language, TriSL, which supports these features. In this talk we describe the design and implementation of TriSL and its type system. We demonstrate the power of our language and its expressiveness through case studies of real world applications.