Results 1 - 10
of
12
Acme: An Architecture Description Interchange Language
- in Proceedings of CASCON’97
, 1997
"... Numerous architectural description languages (ADLs) have been developed, each providing complementary capabilities for architectural development and analysis. Unfortunately, each ADL and supporting toolset operates in isolation, making it di cult to integrate those tools and share architectural desc ..."
Abstract
-
Cited by 247 (12 self)
- Add to MetaCart
Numerous architectural description languages (ADLs) have been developed, each providing complementary capabilities for architectural development and analysis. Unfortunately, each ADL and supporting toolset operates in isolation, making it di cult to integrate those tools and share architectural descriptions. Acme is being developed as a joint e ort of the software architecture research community as a common interchange format for architecture design tools. Acme provides a structural framework for characterizing architectures, together with annotation facilities for additional ADLspeci c information. This scheme permits subsets of ADL tools to share architectural information that is jointly understood, while tolerating the presence of information that falls outside their common vocabulary. In this paper we describe Acme's key features, rationale, and technical innovations. 1
Software Architecture: a Roadmap
, 2000
"... attention as an important sub#eld of software engineering. During that time there has been considerable progress in developing the technological and methodological base for treating architectural design as an engineering discipline. However, much remains to be done to achieve that goal. Moreover, th ..."
Abstract
-
Cited by 53 (0 self)
- Add to MetaCart
attention as an important sub#eld of software engineering. During that time there has been considerable progress in developing the technological and methodological base for treating architectural design as an engineering discipline. However, much remains to be done to achieve that goal. Moreover, the changing face of technology raises anumber of new challenges for software architecture. This paper examines some of the important trends of software architecture in research and practice, and speculates on the important emerging trends, challenges, and aspirations.
Extending design environments to software architecture design
- Automated Software Engineering
, 1996
"... Domain-oriented design environments are cooperative problem-solving systems that support designers in complex design tasks. In this paper we present the facilities and architecture of Argo, a domain-oriented design environment for software architecture. Argo’s architecture is motivated by the desire ..."
Abstract
-
Cited by 44 (10 self)
- Add to MetaCart
Domain-oriented design environments are cooperative problem-solving systems that support designers in complex design tasks. In this paper we present the facilities and architecture of Argo, a domain-oriented design environment for software architecture. Argo’s architecture is motivated by the desire to achieve reuse and extensibility of the design environment. It separates domain-neutral code from domain-oriented code, which is distributed among intelligent design materials as opposed to being centralized in the design environment. Argo’s facilities are motivated by the observed cognitive needs of designers. These facilities extend previous work in design environments to support reflection-in-action, opportunistic design, and comprehension and problem-solving. Keywords: Domain-oriented design environments, critics, software architectures, architectural styles, humancomputer interaction, human cognitive skills.
Towards Formalized Software Architectures
- Computer Science Today: Recent Trends and Developments, Lecture Notes in Computer Science, Volume 1000
, 1992
"... An important goal in software engineering is to describe complex software systems at an architectural level of abstraction. While there are many useful architectural paradigms (pipes, blackboards, etc.) they are typically understood only idiomatically and applied in an ad hoc fashion. We show how a ..."
Abstract
-
Cited by 42 (3 self)
- Add to MetaCart
An important goal in software engineering is to describe complex software systems at an architectural level of abstraction. While there are many useful architectural paradigms (pipes, blackboards, etc.) they are typically understood only idiomatically and applied in an ad hoc fashion. We show how a formal model allows us to say precisely what we mean by a software architecture, explore its properties, and systematically describe instances of the architecture. We illustrate the approach using the well-known example of pipe-filter architectures. This research was sponsored by the National Science Foundation under Grants CCR-9109469 and CCR-9112880, and by Siemens Corporate Research, Inc. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of Siemens or the U.S. Government. Keywords: Dataflow Systems, Pipes and Filters, Software Architecture, Software Engineering, S...
Formal Modeling and Analysis of the HLA Component Integration Standard
- Proceedings of the Sixth International Symposium on the Foundations of Software Engineering (FSE-6
, 1998
"... An increasingly important trend in the engineering of complex systems is the design of component integration standards. Such standards define rules of interaction and shared communication infrastructure that permit composition of systems out of independently-developed parts. A problem with these sta ..."
Abstract
-
Cited by 36 (5 self)
- Add to MetaCart
An increasingly important trend in the engineering of complex systems is the design of component integration standards. Such standards define rules of interaction and shared communication infrastructure that permit composition of systems out of independently-developed parts. A problem with these standards is that it is often difficult to understand exactly what they require and provide, and to analyze them in order to understand their deeper properties. In this paper we use our experience in modeling the High Level Architecture (HLA) for Distributed Simulation to show how one can capture the structured protocol inherent in an integration standard as a formal architectural model that can be analyzed to detect anomalies, race conditions, and deadlocks. KEYWORDS Component integration standards, component-based software, protocol families, software architecture, formal specification. 1 Introduction Component integration standards are becoming increasingly important for commercial sof...
Fault Tolerant Software Architectures
- In Technical report, INRIA/IRISA
, 1998
"... Coping explicitly with failures during the conception and the design of software development complicates signicantly the designer's job. The design complexity leads to software descriptions difficult to understand, which have to undergo many simplifications until their first functioning version. To ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
Coping explicitly with failures during the conception and the design of software development complicates signicantly the designer's job. The design complexity leads to software descriptions difficult to understand, which have to undergo many simplifications until their first functioning version. To support the systematic development of complex, fault tolerant software, this paper proposes a layered framework for the analysis of the fault tolerance software properties, where the top-most layer provides the means for specifying the abstract failure semantics expressed in the initial conception stage, and each successive layer is a renement towards an elaborated description of a fault tolerant software architecture. We present the logical vehicle that permits reasoning on the equivalence or the compatibility of the various expressions of fault tolerance properties at various abstraction levels. In addition, we propose a mapping schema, which permits the correct transformation of abstract ent...
Refinement of Pipe-and-Filter Architectures
, 1999
"... Software and hardware architectures are prone to modifications. ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Software and hardware architectures are prone to modifications.
Multi-View Description of Software Architectures
- In Proceedings of the 3rd ACM SIGSOFT International Software Architecture Workshop
, 1998
"... The specification of a software architecture using different ADLs allows system designers to carry out a number of complementary analyses. In this position paper, we go one step further in this direction by advocating the need for specifying distinct views of a software architecture, each characteri ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
The specification of a software architecture using different ADLs allows system designers to carry out a number of complementary analyses. In this position paper, we go one step further in this direction by advocating the need for specifying distinct views of a software architecture, each characterizing a specific type of properties (i.e. functional, interaction, and quality properties). Multi-view description of a software architecture raises the issue of combining a set of architectural views so as to derive the resulting overall architecture. We propose some hints on how this can be handled. 1 Introduction It is now recognized that the construction of complex software systems can greatly benefit from the software architecture paradigm [9]. The software architecture of a system describes the system's gross organization using an ADL, which provides notations for the abstract specification of its architectural elements. Practically, the construction of a system from its software archi...
Stepwise Refinement of Data Flow Architectures
, 1997
"... Software and hardware architectures are prone to modifications. We demonstrate how a mathematically founded refinement calculus for a class of architectures, namely data flow networks, can be used to modify a system in a provably correct way. The calculus consists of basic rules to add and to remove ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Software and hardware architectures are prone to modifications. We demonstrate how a mathematically founded refinement calculus for a class of architectures, namely data flow networks, can be used to modify a system in a provably correct way. The calculus consists of basic rules to add and to remove components and channels to a system.
Robust Development of Dependable Software Systems
, 1999
"... : The indissoluble bonds of computers and failures have produced a plurality of fault tolerant techniques to satisfy, potentially, any dependability requirement. As a consequence, the development of dependable systems is not based on inventing the mechanism that provides the desired dependability gu ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
: The indissoluble bonds of computers and failures have produced a plurality of fault tolerant techniques to satisfy, potentially, any dependability requirement. As a consequence, the development of dependable systems is not based on inventing the mechanism that provides the desired dependability guarantees. Rather, it is based on selecting from the existing techniques the one that best meets the system's dependability requirements. Then, some codiøcation of the selected technique can be used as the search-key for retrieving from a repository of fault tolerant mechanisms the one that implements the selected technique. Hence, the development of dependable systems becomes a process that transforms a set of dependability constraints into a fault tolerant mechanism that meets them. The focus of our work is to ensure the rigorous development of dependable systems by creating a formal basis for the aforementioned selection process. More precisely, this formal basis consists of: a system mode...

