Results 1 - 10
of
25
A formal basis for architectural connection
- ACM TRANSACTIONS ON SOJIWARE ENGINEERING AND METHODOLOGY
, 1997
"... ..."
A classification and comparison framework for software architecture description languages
- IEEE Transactions on Software Engineering
, 2000
"... Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. Architecture description languages (ADLs) have been proposed as modeling notations to support architecture-based development. There is, howev ..."
Abstract
-
Cited by 529 (49 self)
- Add to MetaCart
Software architectures shift the focus of developers from lines-of-code to coarser-grained architectural elements and their overall interconnection structure. Architecture description languages (ADLs) have been proposed as modeling notations to support architecture-based development. There is, however, little consensus in the research community on what is an ADL, what aspects of an architecture should be modeled in an ADL, and which of several possible ADLs is best suited for a particular problem. Furthermore, the distinction is rarely made between ADLs on one hand and formal specification, module interconnection, simulation, and programming languages on the other. This paper attempts to provide an answer to these questions. It motivates and presents a definition and a classification framework for ADLs. The utility of the definition is demonstrated by using it to differentiate ADLs from other modeling notations. The framework is used to classify and compare several existing ADLs, enabling us in the process to identify key properties of ADLs. The comparison highlights areas where existing ADLs provide extensive support and those in which they are deficient, suggesting a research agenda for the future.
A Formal Approach to Software Architecture
, 1997
"... As software systems become more complex, the overall system structure---or software architecture---becomes a central design problem. A system's architecture provides a model of the system that suppresses implementation detail, allowing the architect to concentrate on the analyses and decisions that ..."
Abstract
-
Cited by 258 (14 self)
- Add to MetaCart
As software systems become more complex, the overall system structure---or software architecture---becomes a central design problem. A system's architecture provides a model of the system that suppresses 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, current representations of software architecture are informal and ad hoc. While architectural concepts are often embodied in infrastructure to support specific architectural styles and in the initial conceptualization of a system configuration, the lack of an explicit, independently-characterized architecture or architectural style significantly limits the benefits of software architectural design in current practice. In this dissertation, I show that an Architecture Description Language based on a formal, abstract model of system behavior can provide a practical means of describing and analyzing softwar...
Hardware-software Co-synthesis for Digital Systems
- IEEE Design & Test of Computers
, 1993
"... As the complexity of system design increases, use of pre-designed components, such as generalpurpose microprocessors, provides an effective way to reduce the complexity of synthesized hardware. While the design problem of systems that contain processors and ASIC chips is not new, computeraided sy ..."
Abstract
-
Cited by 195 (12 self)
- Add to MetaCart
As the complexity of system design increases, use of pre-designed components, such as generalpurpose microprocessors, provides an effective way to reduce the complexity of synthesized hardware. While the design problem of systems that contain processors and ASIC chips is not new, computeraided synthesis of such heterogeneous or mixed systems poses challenging problems because of the differences in model and rate of computation by application-specific hardware and processor software. In this article, we demonstrate the feasibility of achieving synthesis of heterogeneous systems which uses timing constraints to delegate tasks between hardware and software such that the final implementation meets required performance constraints. 1
Correct Architecture Refinement
- IEEE Transactions on Software Engineering
, 1995
"... A method is presented for the stepwise refinement of an abstract architecture into a relatively correct lower-level architecture that is intended to implement it. A refinement step involves the application of a predefined refinement pattern that provides a routine solution to a standard architectura ..."
Abstract
-
Cited by 159 (8 self)
- Add to MetaCart
A method is presented for the stepwise refinement of an abstract architecture into a relatively correct lower-level architecture that is intended to implement it. A refinement step involves the application of a predefined refinement pattern that provides a routine solution to a standard architectural design problem. A pattern contains an abstract architecture schema and a more detailed schema intended to implement it. The two schemas usually contain very different architectural concepts (from different architectural styles). Once a refinement pattern is proven correct, instances of it can be used without proof in developing specific architectures. Individual refinements are compositional, permitting incremental development and local reasoning. A special correctness criterion is defined for the domain of software architecture, as well as an accompanying proof technique. A useful syntactic form of correct composition is defined. The main points are illustrated by means of familiar archit...
Abstraction and Modularity Mechanisms for Concurrent Computing
- IEEE Parallel and Distributed Technology: Systems and Applications
, 1993
"... ion and Modularity Mechanisms for Concurrent Computing Gul Agha, Svend Frølund, WooYoung Kim, Rajendra Panwar, Anna Patterson, and Daniel Sturman Department of Computer Science 1304 W. Springfield Avenue University of Illinois at Urbana-Champaign Urbana, IL 61801, USA Email: !agha---frolund---wooyou ..."
Abstract
-
Cited by 67 (22 self)
- Add to MetaCart
ion and Modularity Mechanisms for Concurrent Computing Gul Agha, Svend Frølund, WooYoung Kim, Rajendra Panwar, Anna Patterson, and Daniel Sturman Department of Computer Science 1304 W. Springfield Avenue University of Illinois at Urbana-Champaign Urbana, IL 61801, USA Email: !agha---frolund---wooyoung---raju---annap---sturman?@cs.uiuc.edu 1 Introduction The transition from sequential to parallel and distributed computing has been widely accepted as a major paradigm shift occurring in Computer Science. It has been observed that the sequential programming model is inadequate for parallel and distributed computing. At a conceptual level, one can compare the fundamental intuition between sequential and concurrent computing as follows: ffl The sequential programming model essentially defines a computation as a sequence of instructions which manipulate a global store. The standard abstraction mechanism for sequential programs is procedures. Procedures glue a sequence of instructions; they a...
Correctness and Composition of Software Architectures
- ACM SIGSOFT
, 1994
"... The design of a large system typically involves the development of a hierarchy of different but related architectures. A criterion for the relative correctness of an architecture is presented, and conditions for architecture composition are defined which ensure that the correctness of a composite ar ..."
Abstract
-
Cited by 40 (2 self)
- Add to MetaCart
The design of a large system typically involves the development of a hierarchy of different but related architectures. A criterion for the relative correctness of an architecture is presented, and conditions for architecture composition are defined which ensure that the correctness of a composite architecture follows from the correctness of its parts. Both the criterion and the composition requirements reflect special considerations from the domain of software architecture. The main points are illustrated by means of familiar architectures for a compiler. A proof of the relative correctness of two different compiler architectures shows how to decompose a proof into generic properties, which are proved once for every pair of architectural styles, and instance-level properties, which must be proved for every architecture. 1 Introduction The development of an architecture for a large system is a complicated task that can be made simpler by means of a stepwise development methodology. Ide...
Beyond Definition/Use: Architectural Interconnection
- PROCEEDINGS OF THE ACM INTERFACE DEFINITION LANGUAGE WORKSHOP
, 1994
"... Large software systems require decompositional mechanisms in order to make them tractable. Traditionally, MILs and IDLs have played this role by providing notations based on definition/use bindings. In this paper we argue that current MIL/IDLs based on definition/use have some serious drawbacks. A s ..."
Abstract
-
Cited by 25 (2 self)
- Add to MetaCart
Large software systems require decompositional mechanisms in order to make them tractable. Traditionally, MILs and IDLs have played this role by providing notations based on definition/use bindings. In this paper we argue that current MIL/IDLs based on definition/use have some serious drawbacks. A significant problem is that they fail to distinguish between “implementation” and “interaction” relationships between modules. We propose an alternative model in which components interact along well-defined lines of communication – or connectors. Connectors are defined as protocols that capture the expected patterns of communication between modules. We show how this leads to a scheme that is much more expressive for architectural relationships, that allows the formal definition of module interaction, and that supports its own form of automated checks and formal reasoning.
A Program Behavior Model Based on Event Grammar and its Application for Debugging Automation
, 1995
"... . The notion of event constitutes the basis of the target program behavior model. This model, called H-space (History-space), is formally defined through a set of axioms (event grammar) for two basic relations, which may hold between two arbitrary events: the events may be sequentially ordered or o ..."
Abstract
-
Cited by 23 (6 self)
- Add to MetaCart
. The notion of event constitutes the basis of the target program behavior model. This model, called H-space (History-space), is formally defined through a set of axioms (event grammar) for two basic relations, which may hold between two arbitrary events: the events may be sequentially ordered or one of them might be included in another composite event. Target program execution history is represented as a set of nested events. A general paradigm of "computation over execution history" is suggested in this paper as a basis for debugging automation. A language to describe computations over execution histories of target programs provides means for assertion checking, debugging queries, profiles, and performance measurement. Event patterns and aggregate operations over event traces, can be used in order to describe typical bugs and debugging rules. The knowledge about typical bugs and debugging rules can be formalized in libraries of assertions and debugging rules and can be used for run-...
Domains of Concern in Software Architectures and Architecture Description Languages
- In Proceedings of the USENIX Conference on Domain-Specific Languages
, 1997
"... Software architectures shift the focus of developers from lines-of-code to coarser-grained elements and their interconnection structure. Architecture description languages (ADLs) have been proposed as domain-specific languages for the domain of software architecture. There is still little consensus ..."
Abstract
-
Cited by 15 (6 self)
- Add to MetaCart
Software architectures shift the focus of developers from lines-of-code to coarser-grained elements and their interconnection structure. Architecture description languages (ADLs) have been proposed as domain-specific languages for the domain of software architecture. There is still little consensus in the research community on what problems are most important to address in a study of software architecture, what aspects of an architecture should be modeled in an ADL, or even what an ADL is. To shed light on these issues, we provide a framework of architectural domains, or areas of concern in the study of software architectures. We evaluate existing ADLs with respect to the framework and study the relationship between architectural and application domains. One conclusion is that, while the architectural domains perspective enables one to approach architectures and ADLs in a new, more structured manner, further understanding of architectural domains, their tie to application domains, and their specific influence on ADLs is needed.

