Results 1 - 10
of
33
Specification and analysis of system architecture using Rapide
- IEEE Transactions on Software Engineering
, 1995
"... Rapide is an event-based concurrent, object-oriented language specifically designed for prototyping system architectures. Two principle design goals are (1) to provide constructs for defining executable prototypes of architectures, and (2) to adopt an execution model in which the concurrency, sync ..."
Abstract
-
Cited by 294 (4 self)
- Add to MetaCart
Rapide is an event-based concurrent, object-oriented language specifically designed for prototyping system architectures. Two principle design goals are (1) to provide constructs for defining executable prototypes of architectures, and (2) to adopt an execution model in which the concurrency, synchronization, dataflow, and timing properties of a prototype are explicitly represented. This paper describes the partially ordered event set (poset) execution model and outlines with examples some of the event-based features for defining communication architectures and relationships between architectures. Various features of Rapide are illustrated by excerpts from a prototype of the X/Open distributed transaction processing reference architecture.
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...
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...
Composition validation and subjectivity in GenVoca generators
- IEEE Transactions on Software Engineering
, 1997
"... GenVoca generators synthesize software systems by composing components from reuse libraries. GenVoca components are designed to export and import standardized interfaces, and thus be plugcompatible, interchangeable, and interoperable with other components. In this paper, we examine two different but ..."
Abstract
-
Cited by 103 (25 self)
- Add to MetaCart
GenVoca generators synthesize software systems by composing components from reuse libraries. GenVoca components are designed to export and import standardized interfaces, and thus be plugcompatible, interchangeable, and interoperable with other components. In this paper, we examine two different but important issues in software system synthesis. First, not all syntactically correct compositions of components are semantically correct. We present simple, efficient, and domainindependent algorithms for validating compositions of GenVoca components. Second, components that export and import immutable interfaces are too restrictive for software system synthesis. We show that the interfaces and bodies of GenVoca components are subjective, i.e., they mutate and enlarge upon instantiation. This mutability enables software systems with customized interfaces to be composed from components with “standardized ” interfaces. 1
What is Style?
, 1995
"... this paper I briefly outline and compare three approaches to providing such a basis. 2. Basic Properties ..."
Abstract
-
Cited by 48 (9 self)
- Add to MetaCart
this paper I briefly outline and compare three approaches to providing such a basis. 2. Basic Properties
Style-Based Reuse for Software Architectures
- In Proceedings of the Fourth International Conference on Software Reuse
, 1996
"... Although numerous mechanisms for promoting software reuse have been proposed and implemented over the years, most have focused on the reuse of implementation code. There is much conjecture and some empirical evidence, however, that the most effective forms of reuse are generally found at more abstra ..."
Abstract
-
Cited by 34 (3 self)
- Add to MetaCart
Although numerous mechanisms for promoting software reuse have been proposed and implemented over the years, most have focused on the reuse of implementation code. There is much conjecture and some empirical evidence, however, that the most effective forms of reuse are generally found at more abstract levels of software design. In this paper we discuss software reuse at the architectural level of design. Specifically, we argue that the concept of “architectural style ” is useful for supporting the classification, storage, and retrieval of reusable architectural design elements. We briefly describe the Aesop system’s Software Shelf, a tool that assists designers in selecting appropriate design elements and patterns based on stylistic
Validating Component Compositions in Software System Generators
- In Proceedings of the Fourth International Conference on Software Reuse
, 1995
"... GenVoca generators synthesize software systems by composing components from reuse libraries. Although GenVoca components can be composed in a vast number of ways, not all compositions are correct. In this paper, we present a model for validating component compositions. The model is based on attribut ..."
Abstract
-
Cited by 22 (7 self)
- Add to MetaCart
GenVoca generators synthesize software systems by composing components from reuse libraries. Although GenVoca components can be composed in a vast number of ways, not all compositions are correct. In this paper, we present a model for validating component compositions. The model is based on attribute grammars and provides a powerful debugging capability of explanation-based error reporting. We demonstrate our results with examples from a GenVoca generator for container data structures. Keywords: software architectures, software system generators, attribute grammars, domain models, GenVoca, software components, explanation-based error reporting. 1 Introduction Software component technologies will play an important role in future software development. Examples of today's componentry include Unix file filters and Visual Basic custom controls (VBXes) [Ude94]. Support for componentry in distributed environments is under development: the Object Management Group's CORBA (Common Object Reque...
Secure software architectures
- In Proceedings of the 1997 IEEE Symposium on Security and Privacy
, 1997
"... The computer industry is increasingly dependent on open architectural standards for their competitive success. This paper describes a new approach to secure system design in which the various representations of the architecture of a software system are described formally and the desired security pro ..."
Abstract
-
Cited by 20 (6 self)
- Add to MetaCart
The computer industry is increasingly dependent on open architectural standards for their competitive success. This paper describes a new approach to secure system design in which the various representations of the architecture of a software system are described formally and the desired security properties of the system are proven to hold at the architectural level. The main ideas are illustrated by means of the X/Open Distributed Transaction Processing reference architecture, which is formalized and extended for secure access control as defined by the Bell-LaPadula model. The extension allows vendors to develop individual components independently and with minimal concern about security. Two important observations were gleaned on the implications of incorporating security into software architectures. Keywords: secure systems, software architecture, X/Open DTP, formal methods, access control
Views and Viewpoints in Software Systems Architecture
, 1999
"... Although the use of multiple views is a virtual holy grail of software and systems engineering, its status appears less secure in the field known as Software Architecture. Yet, practicing architects need views to manage the inherent complexity of the large, software-intensive systems they specify an ..."
Abstract
-
Cited by 12 (7 self)
- Add to MetaCart
Although the use of multiple views is a virtual holy grail of software and systems engineering, its status appears less secure in the field known as Software Architecture. Yet, practicing architects need views to manage the inherent complexity of the large, software-intensive systems they specify and build. This paper begins with a brief survey of the topic from its historical origins through current usage and issues, and ends with an overview of an approach to treating views as first-class entities within architectural description with respect to their usage in architectural specification, analysis and evolution. Keywords: architectural description, multiple views, viewpoints 1 Introduction The notion of multiple views has a long history in software engineering and related fields (such as requirements engineering, data engineering and systems engineering), where views are introduced to separate concerns and therefore to control descriptive complexity. Despite these precursors, thei...

