TriSL: A Software Architecture Description Language and Environment
Ramkumar Lakshminarayanan
Abstract
Ramkumar Lakshminarayanan
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.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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.
Key concepts: Software architecture description, Computer science, Reference architecture, Resource-oriented architecture, Software architecture, Software engineering, Database-centric architecture, Software design description