Software architecture abstraction and aggregation as algebraic manipulations
نویسنده
چکیده
The structure of a large system can be made comprehensible if it can be viewed as a modest number of interacting entities. For example, the 800,000 line Linux kernel can be reasonably viewed as its five top-level interconnected subsystems. Each abstracted entity (subsystem) may have aggregated attributes, e.g., the total count of the number of lines of code in it, or the set of programmers who have worked on it. Given that the software architecture of the system is represented as a typed graph, both abstraction (ignoring details inside subsystems) and aggregation (collecting selected internal information) can be specified as algebraic manipulations. Our approach, based on Tarski relational algebra, allows direct execution of these abstraction and aggregation specifications by means of a relational calculator.
منابع مشابه
Structural Manipulations of Software Architecture using Tarski Relational Algebra
A software architecture is typically drawn as a nested set of box and arrow diagrams. The boxes represent components of the software system and the edges represent interactions. These diagrams correspond to typed graphs, in which there are a number of "types" or "colors" of edges, and in which there is a distinguished "contain" relation that represents the system hierarchy (the nesting of boxes...
متن کاملWins and Losses of Algebraic Transformations of Software Architectures
In order to understand, analyze and modify software, we commonly examine and manipulate its architecture. For example, we may want to examine the architecture at different levels of abstraction. We can view such manipulations as architectural transformations, and more specifically, as graph transformations. In this paper, we evaluate relational algebra as a way of specifying and automating the ...
متن کاملSupporting runtime software architecture: A bidirectional-transformation-based approach
Runtime software architectures (RSA) are architecture-level, dynamic representations of running software systems, which help monitor and adapt the systems at a high abstraction level. The key issue to support RSA is tomaintain the causal connection between the architecture and the system, ensuring that the architecture represents the current system, and the modifications on the architecture cau...
متن کاملConceptual Integrity of Software Systems: Architecture, Abstraction and Algebra
Conceptual Integrity has been claimed to be the essence of high-quality software system design. On the other hand, it has been a rather elusive attribute of software systems, challenging various attempts of a clear-cut characterization. This paper evolves in this direction by two means: first, by analysis and clarification of open issues in architecture and abstraction terms; second, by pointin...
متن کاملExplaining the Methods of Architecture Representation Using Semiotic Analysis (Umberto Eco's Theory of Architecture Codes)
: In this paper, it is tried to explain the concept of representation and architectural representation through a qualitative methodology, approach its procedure for gradual creation in architecture and then according to scholars and to obtain the effect of this concept in the process of architectural facts the concepts are presented. In addition, it is referred to theories and practical texts b...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999