Architecture Description Really Matters
by Yan Zhao
Published by IASA and Microsoft
Many years ago, I was hired as a corporate-level principal architect. The first assignment I got was to describe the... more
Many years ago, I was hired as a corporate-level principal architect. The first assignment I got was to describe the architecture of an existing software-system product inherited from a company acquisition. The people who created the system originally had left the company. There were no architecture or design documents; no one had insight about it to be able to describe what it really was. Folks did not know how to market it to external customers, so the product faced the "death penalty." To the engineering teams who understood something of the system, however, the product was current, state-of-the-art, and very competitive, with lots of great ideas built-in. By collecting information from multiple channels, I provided the architecture description for this system, and did it justice. Also, I provided an architecture for its future evolution. Both marketing folks and engineering teams were happy with the results.
By sharing my experience, I will show what is involved with creating an architecture description, and how we architects can perform our roles effectively. In the context of overall architecture design, the goal of creating an architecture description is to transform the collected and organized architectural information and intents into viable models. The creation and adoption of effective architecture approaches, methodologies, patterns, reference models, and so on can certainly benefit architecture description. The architecture description is the end product of an architecture-development process, and it is the ultimately visible representation of architecture. Let's look at more details in the following subsections.
The TIDIA-Ae Portfolio Tool: a case study of its development following a component-based layered architecture
by Ivan Ricarte
Co-authored with DM Beder, JL Otsuka JL, CG Silva, AC Silva, A Talarico-Neto, AR Oliveira, HV Rocha, JC Anacleto. Published in TIDIA Workshop, 2005.
The objective of the present case study is the validation of the Architecture and Development Process definitions used... more The objective of the present case study is the validation of the Architecture and Development Process definitions used within the TIDIA-Ae Project, as exemplified in the development of the Portfolio tool. In this way, the main results obtained in the development process of the Portfolio tool, the solutions adopted for the open issues encountered in this process, and the main lessons to be learned are presented.
Synthetic metrics for evaluating performance of software architectures with complex tradeoffs
In Proceedings of the 35th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), Patra, Greece, IEEE Computer Society, 237-242, 2009
Co-authors: Panagiotis Katsaros, Lefteris Angelis
Runtime quality of software, such as availability and throughput, depends on architectural factors and execution... more Runtime quality of software, such as availability and throughput, depends on architectural factors and execution environment characteristics (e.g. CPU speed, network latency). Although the specific properties of the underlying execution environment are unknown at design time, the software architecture can be used to assess the inherent impact of the adopted design decisions on runtime quality. However, the design decisions that arise in complex software architectures exhibit non trivial interdependences. This work introduces an approach that discovers the most influential factors, by exploiting the correlation structure of the analyzed metrics via factor analysis of simulation data. A synthetic performance metric is constructed for each group of correlated metrics. The variability of these metrics summarizes the combined factor effects hence it is easier to assess the impact of the analyzed architecture decisions on the runtime quality. The approach is applied on experimental results obtained with the ACID Sim Tools framework for simulating transaction processing architectures.
Quantification of interacting runtime qualities in software architectures: insights from transaction processing in client-server architectures
Information and Software Technology, Vol. 52 (12), 1331-1345, Elsevier, 2010
Co-authors: Panagiotis Katsaros, Lefteris Angelis, George Kakarontzas
Architecture is fundamental for fulfilling requirements related to the non-functional behavior of a software system... more Architecture is fundamental for fulfilling requirements related to the non-functional behavior of a software system such as the quality requirement that response time does not degrade to a point where it is noticeable. Approaches like the Architecture Tradeoff Analysis Method (ATAM) combine qualitative analysis heuristics (e.g. scenarios) for one or more quality metrics with quantitative analyses. A quantitative analysis evaluates a single metric such as response time. However, since quality metrics interact with each other, a change in the architecture can affect unpredictably multiple quality metrics. This paper introduces a quantitative method that determines the impact of a design change on multiple metrics, thus reducing the risks in architecture design. As a proof of concept, the method is applied on a simulation model of transaction processing in client-server architecture. Factor analysis is used to unveil latent (i.e. not directlymeasurable) quality features represented by new variables that reflect architecture-specific correlations between metrics. Separate Analyses of Variance (ANOVA) are then applied to these variables, for interpreting the tradeoffs detected by factor analysis in terms of the quantified metrics. The results for the examined transaction processing architecture show three latent quality features, the corresponding groups of strongly correlated quality metrics and the impact of architecture characteristics on the latent quality features.
An Architecture for Inquiry : Building Computer Platforms for Discovery
by Jon Awbrey
Awbrey, S.M., and Awbrey, J.L. (May 1991), “An Architecture for Inquiry : Building Computer Platforms for Discovery”, Proceedings of the Eighth International Conference on Technology and Education, Toronto, Canada, pp. 874–875.
More and more we hear the complaint that the gap between research and instruction is widening and a vital sense of... more More and more we hear the complaint that the gap between research and instruction is widening and a vital sense of motivation is falling between the cracks. It is our vision that intelligent computing systems will become a partner in the reintegration of discovery and learning within the inquiry process. We will address certain issues that must be faced if computer media are to have the characteristics necessary to support this integration. The development of the computer to date has required a careful attention to the syntax and semantics of the rather limited symbol systems we have induced them to use. A capacity for communicating in multiple modalities with non-uniform communities of symbol users — for sharing in the discovery of a pluralistic universe — will demand a quantum leap in our understanding of the pragmatic dimensions of symbol use. In the future the capacity for inquiry must permeate the living architecture of the computer system. A computer program that begins to embody these ideas will be discussed.
Reverse Engineering Architectural Feature Models
Reverse engineering the variability of an existing system is a challenging activity. The architect knowledge is... more Reverse engineering the variability of an existing system is a challenging activity. The architect knowledge is essential to identify variation points and explicit constraints between features, for instance in feature models (FMs), but the manual creation of FMs is both time-consuming and error-prone. On a large scale, it is very difficult for an architect to guarantee that the resulting FM ensures a safe composition of the architectural elements when some features are selected. In this paper, we present a comprehensive, tool supported process for reverse engineering architectural FMs. We develop automated techniques to extract and combine different variability descriptions of an architecture. Then, alignment and reasoning techniques are applied to integrate the architect knowledge and reinforce the extracted FM. We illustrate the reverse engineering process when applied to a representative software system, FraSCAti, and we report on our experience in this context.
15 views
Seen by:Architecture, Design, Implementation
by Amnon Eden
Co-authored with Rick Kazman. In: Laurie Dillon, Walter Tichy (eds.) Proc. 25th Int'l Conf. Software Engineering—ICSE (3–10 May 2003), Portland, OR, USA, pp. 149–159. Los Alamitos, USA: IEEE Computer Society Press
The distinction between the terms architecture, design, and implementation is largely informal. We provide a... more The distinction between the terms architecture, design, and implementation is largely informal. We provide a formal insight into the distinction using the Intension/Locality Criteria. We demonstrate that, regardless the choice of specification language, architectural styles are intensional and non-local; that design patterns are intensional and local; and that implementations are extensional and local.
Architectural Models for Reliable Multi-User Interfaces
by Mario Ciampi
M. Ciampi, A. Coronato, G. De Pietro, and L. Gallo, in B. H. Khan (Ed.), User Interface Design for Virtual Environments: Challenges and Advances, pp. 76-91, 2011, IGI Publishing, Hershey, PA, USA
14 views
Seen by:A software architecture for the deployment of executable transformation models
Authors: Diego Bernini, Daniele Toscani, Marco Frigerio
IWCMC 2010
Emergency management involves collaboration among different operators (e.g. policemen, firemen, medics) on critical... more Emergency management involves collaboration among different operators (e.g. policemen, firemen, medics) on critical and dangerous situations (e.g. fires, floods). Real-time elaborations of a large amount of information and knowledge are needed to automate control and decision making processes. In this scenario raw data are captured and processed through a chain of activities (filtering, fusion, classification) generating abstract information that is selected, diffused and presented to interested users. These activities can be turned into the interpretation of executable transformation models, abstract representations of input-output transformations which can be coded on a calculator. Executable transformation models might not be static; but they may be dynamically generated by observing and processing incoming data. From the architectural point of view the dynamic model generation implies the existence of mechanisms for the dynamic deployment of the executable transformation models. In this paper we present a software architecture aimed at providing these mechanisms.
Technologies for complex systems automation and autonomy in deep space exploration
Atkinson, D. J.; Castano, R.; Chien, S. and Fijany, A. "Technologies for complex systems automation and autonomy in deep space exploration". Appears in National Manufacturing Technology Transfer Conference and Exposition Chicago, IL, USA 3-Mar-2003
11 views
Seen by:Constellation Program Return to the Moon: Software Systems Challenges
Atkinson, David J. Constellation Program Return to the Moon: Software Systems Challenges. EASE, pp. 73-78. Third IEEE International Workshop on Engineering of Autonomic & Autonomous Systems (EASE'06). (2006)
Constellation Program Return to the Moon: Software Systems Challenges--Autonomy and Autonomicity a Solution?
Atkinson, David J. Constellation Program Return to the Moon: Software Systems Challenges. EASE, pp. 73-78. Third IEEE International Workshop on Engineering of Autonomic & Autonomous Systems (EASE'06). (2006)
10 views
Seen by:OSGART - A Pragmatic Approach to MR
Julian Looser, Raphael Grasset, Hartmut Seichter, Mark Billinghurst
5th IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR 06): Industrial Workshop, 22-25 Oct 2006.

