scispace - formally typeset
Search or ask a question

Showing papers on "Reference architecture published in 2005"


Proceedings ArticleDOI
06 Nov 2005
TL;DR: A new perspective on software architecture is presented, which views software architecture as a composition of a set of explicit design decisions, which makes architectural design decisions an explicit part of a software architecture.
Abstract: Software architectures have high costs for change, are complex, and erode during evolution We believe these problems are partially due to knowledge vaporization Currently, almost all the knowledge and information about the design decisions the architecture is based on are implicitly embedded in the architecture, but lack a first-class representation Consequently, knowledge about these design decisions disappears into the architecture, which leads to the aforementioned problems In this paper, a new perspective on software architecture is presented, which views software architecture as a composition of a set of explicit design decisions This perspective makes architectural design decisions an explicit part of a software architecture Consequently, knowledge vaporization is reduced, thereby alleviating some of the fundamental problems of software architecture

605 citations


Book
20 Apr 2005
TL;DR: This book shows why the role of the architect is central to any successful information-systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization's approach to software systems architecture.
Abstract: Software Systems Architecture is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices. It shows why the role of the architect is central to any successful information-systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization's approach to software systems architecture.With this book you will learn how to Design an architecture that reflects and balances the different needs of its stakeholders Communicate the architecture to stakeholders and demonstrate that it has met their requirements Focus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location Use scenarios and patterns to drive the creation and validation of your architecture Document your architecture as a set of related views Use perspectives to ensure that your architecture exhibits important qualities such as performance, scalability, and security The architectural viewpoints and perspectives presented in the book also provide a valuable long-term reference source for new and experienced architects alike.Whether you are an aspiring or practicing software architect, you will find yourself referring repeatedly to the practical advice in this book throughout the lifecycle of your projects.A supporting Web site containing further information can be found at www.viewpoints-and-perspectives.info

538 citations


Journal ArticleDOI
J. Tyree1, A. Akerman1
TL;DR: This work believes that a key to demystifying architecture products lies in the architecture decisions concept, and can make the architecture more transparent and clarify its rationale for all stakeholders by explicitly documenting major architecture decisions.
Abstract: We believe that a key to demystifying architecture products lies in the architecture decisions concept. We can make the architecture more transparent and clarify its rationale for all stakeholders by explicitly documenting major architecture decisions.

477 citations


Proceedings ArticleDOI
12 Oct 2005
TL;DR: An approach to managing the architecture of large software systems is presented, and dependencies are extracted from the code by a conventional static analysis, and shown in a tabular form known as the 'Dependency Structure Matrix' (DSM).
Abstract: An approach to managing the architecture of large software systems is presented. Dependencies are extracted from the code by a conventional static analysis, and shown in a tabular form known as the 'Dependency Structure Matrix' (DSM). A variety of algorithms are available to help organize the matrix in a form that reflects the architecture and highlights patterns and problematic dependencies. A hierarchical structure obtained in part by such algorithms, and in part by input from the user, then becomes the basis for 'design rules' that capture the architect's intent about which dependencies are acceptable. The design rules are applied repeatedly as the system evolves, to identify violations, and keep the code and its architecture in conformance with one another. The analysis has been implemented in a tool called LDM which has been applied in several commercial projects; in this paper, a case study application to Haystack, an information retrieval system, is described.

433 citations


Journal ArticleDOI
TL;DR: The design of a holonic manufacturing execution system is an instantiation of the PROSA reference architecture augmented with coordination and control mechanisms inspired by natural systems – i.e. food foraging behavior in ant colonies.

216 citations


Journal ArticleDOI
TL;DR: The technical contribution of the infrastructure is augmented by several research contributions: the first decomposition of an architecture description language into modules, insights about how to develop new language modules and a process for integrating them, and insights about the roles of different kinds of tools in a modular ADL-based infrastructure.
Abstract: Research over the past decade has revealed that modeling software architecture at the level of components and connectors is useful in a growing variety of contexts. This has led to the development of a plethora of notations for representing software architectures, each focusing on different aspects of the systems being modeled. In general, these notations have been developed without regard to reuse or extension. This makes the effort in adapting an existing notation to a new purpose commensurate with developing a new notation from scratch. To address this problem, we have developed an approach that allows for the rapid construction of new architecture description languages (ADLs). Our approach is unique because it encapsulates ADL features in modules that are composed to form ADLs. We achieve this by leveraging the extension mechanisms provided by XML and XML schemas. We have defined a set of generic, reusable ADL modules called xADL 2.0, useful as an ADL by itself, but also extensible to support new applications and domains. To support this extensibility, we have developed a set of reflective syntax-based tools that adapt to language changes automatically, as well as several semantically-aware tools that provide support for advanced features of xADL 2.0. We demonstrate the effectiveness, scalability, and flexibility of our approach through a diverse set of experiences. First, our approach has been applied in industrial contexts, modeling software architectures for aircraft software and spacecraft systems. Second, we show how xADL 2.0 can be extended to support the modeling features found in two different representations for modeling product-line architectures. Finally, we show how our infrastructure has been used to support its own development. The technical contribution of our infrastructure is augmented by several research contributions: the first decomposition of an architecture description language into modules, insights about how to develop new language modules and a process for integrating them, and insights about the roles of different kinds of tools in a modular ADL-based infrastructure.

200 citations


Journal ArticleDOI
TL;DR: An environment and an architecture exploration for a novel CGRA template and a retargetable simulator and compiler enable systematic architecture exploration that can lead to more efficient domain-specific architecture design.
Abstract: Coarse-grained architectures (CGRAs) can be tailored and optimized for different application domains. The vast design space of coarse-grained reconfigurable architectures complicates the design of optimized processors. The goal is to design a domain-specific processor that provides just enough-flexibility for that domain while minimizing the energy consumption for a given level of performance. However, a flexible architecture template and a retargetable simulator and compiler enable systematic architecture exploration that can lead to more efficient domain-specific architecture design. This article presents such an environment and an architecture exploration for a novel CGRA template.

182 citations


Journal ArticleDOI
Donald F. Ferguson1, M. L. Stockton1
TL;DR: This paper concisely defines the IBM SOA programming model and the product architecture that supports it and provides the motivation for the programming-model and design decisions.
Abstract: IBM products increasingly implement a service-oriented architecture (SOA), in which programmers build services, use services, and develop solutions that aggregate services. IBM Software Group middleware products and tools support the development and deployment of SOA solutions, and increasingly make functional interfaces between components and products visible through a service model. Software Group components will increasingly use SOA standards for intracomponent communications. Our move to SOA encompasses both the programming model and lower-level infrastructure software, for example, systems-management and storage-management application programming interfaces and functions. This paper concisely defines the IBM SOA programming model and the product architecture that supports it. We provide the motivation for our programming-model and design decisions. This paper also focuses on the architectural concepts that underlie our programming model and product architecture.

179 citations


Book ChapterDOI
TL;DR: It is argued that an architecture that maximises compatibility with existing languages, in particular RDF and OWL, will benefit the development of the Semantic Web, and still allow for forms of closed world assumption and negation as failure.
Abstract: We discuss language architecture for the Semantic Web, and in particular different proposals for extending this architecture with a rules component. We argue that an architecture that maximises compatibility with existing languages, in particular RDF and OWL, will benefit the development of the Semantic Web, and still allow for forms of closed world assumption and negation as failure.

157 citations


Proceedings ArticleDOI
31 Aug 2005
TL;DR: A reference model for overlay networks is proposed which is capable of modeling different approaches in this domain in a generic manner and is intended to allow researchers and users to assess the properties of concrete systems, to establish a common vocabulary for scientific discussion, and to serve as the basis for defining a standardized API to make overlay networks interoperable.
Abstract: The success of the P2P idea has created a huge diversity of approaches, among which overlay networks, for example, Gnutella, Kazaa, Chord, Pastry, Tapestry, P-Grid, or DKS, have received specific attention from both developers and researchers. A wide variety of algorithms, data structures, and architectures have been proposed. The terminologies and abstractions used, however, have become quite inconsistent since the P2P paradigm has attracted people from many different communities, e.g., networking, databases, distributed systems, graph theory, complexity theory, biology, etc. In this paper we propose a reference model for overlay networks which is capable of modeling different approaches in this domain in a generic manner. It is intended to allow researchers and users to assess the properties of concrete systems, to establish a common vocabulary for scientific discussion, to facilitate the qualitative comparison of the systems, and to serve as the basis for defining a standardized API to make overlay networks interoperable.

140 citations


01 Jan 2005
TL;DR: Catamount is designed to be a low overhead operating system for a parallel computing environment that is limited to the minimum set needed to run a scientific computation.
Abstract: Catamount is designed to be a low overhead operating system for a parallel computing environment. Functionality is limited to the minimum set needed to run a scientific computation. The design choices and implementations will be presented.

Journal ArticleDOI
TL;DR: Several in-depth analysis techniques applicable to AHP are proposed to identify critical tradeoffs and sensitive points in the decision process and are applied to an example of a real-world distributed architecture presented in the literature.
Abstract: Software architecture evaluation involves evaluating different architecture design alternatives against multiple quality-attributes. These attributes typically have intrinsic conflicts and must be considered simultaneously in order to reach a final design decision. AHP (Analytic Hierarchy Process), an important decision making technique, has been leveraged to resolve such conflicts. AHP can help provide an overall ranking of design alternatives. However it lacks the capability to explicitly identify the exact tradeoffs being made and the relative size of these tradeoffs. Moreover, the ranking produced can be sensitive such that the smallest change in intermediate priority weights can alter the final order of design alternatives. In this paper, we propose several in-depth analysis techniques applicable to AHP to identify critical tradeoffs and sensitive points in the decision process. We apply our method to an example of a real-world distributed architecture presented in the literature. The results are promising in that they make important decision consequences explicit in terms of key design tradeoffs and the architecture's capability to handle future quality attribute changes. These expose critical decisions which are otherwise too subtle to be detected in standard AHP results.

Proceedings Article
01 Jan 2005
TL;DR: A comparative, cross-cultural case study of the implementation of Service Oriented Architectures at a Scandinavian bank and a Swiss bank shows that the strategic rewards in the adoption of SOA appear to go beyond marketplace issues of ICT capability acquisition, and unexpectedly arise in the creation of an extensible organizational ICT architecture.
Abstract: Information and communication technology (ICT) has helped to drive increasingly intense global competition. In turn, this intensity increases the need for flexibility and rapid changeability in ICT to support strategies that depend on organizational agility. We report a comparative, cross-cultural case study of the implementation of Service Oriented Architectures (SOA) at a Scandinavian bank and a Swiss bank. The strategic rewards in the adoption of SOA appear to go beyond marketplace issues of ICT capability acquisition, and unexpectedly arise in the creation of an extensible organizational ICT architecture. The extensibility of the ICT architecture that results from the adoption of SOA provides potential for greater organizational agility (and thereby competitiveness).

Proceedings ArticleDOI
23 Feb 2005
TL;DR: The requirements for supporting the lifecycle of an experiment and how they influenced the overall design of the architecture of the ORBIT radio grid testbed are described.
Abstract: This paper presents the software architecture of the ORBIT radio grid testbed. We describe the requirements for supporting the lifecycle of an experiment and how they influenced the overall design of the architecture. We specifically highlight those components and services which will be visible to a user of the ORBIT testbed.

Proceedings ArticleDOI
01 Dec 2005
TL;DR: This paper presents an architecture that allows to build applications with a much smaller TCB based on a kernelized architecture and on the reuse of legacy software using trusted wrappers.
Abstract: The trusted computing bases (TCBs) of applications running on today's commodity operating systems have become extremely large This paper presents an architecture that allows to build applications with a much smaller TCB It is based on a kernelized architecture and on the reuse of legacy software using trusted wrappers We discuss the design principles, the architecture and some components, and a number of usage examples

24 Oct 2005
TL;DR: This paper describes the extension of an existing approach to enterprise architecture and its implementation using a commercial metamodeling platform and the linkages between different architecture layers, both in the underlying model and in its implementation.
Abstract: Due to the growing importance of alignment, compliance and manageability issues, increased attention is being paid to architectures and architecture management recently. A holistic approach to enterprise architecture requires business related and information systems related artifacts to be equally treated. This paper describes the extension of an existing approach to enterprise architecture and its implementation using a commercial metamodeling platform. In addition to the approach metamodels in general, special attention is paid to the linkages between different architecture layers, both in the underlying model and in its implementation.

Proceedings ArticleDOI
06 Nov 2005
TL;DR: The five industrial software architecture design methods are compared and it is found that the 5 approaches have a lot in common and match more or less the "ideal" pattern.
Abstract: We compare five industrial software architecture design methods and we extract from their commonalities a general software architecture design approach. Using this general approach, we compare across the five methods the artifacts and activities they use or recommend, and we pinpoint similarities and differences. Once we get beyond the great variance in terminology and description, we find that the 5 approaches have a lot in common and match more or less the "ideal" pattern we introduced.

01 Jan 2005
TL;DR: This paper presents use cases for a provenance architecture from current experiments in biology, chemistry, physics and computer science, and analyse the use cases to determine the technical requirements of a generic, application-independent architecture.
Abstract: In e-Science experiments, it is vital to record the experimental process for later use such as in interpreting results, verifying that the correct process took place or tracing where data came from. The process that led to some data is called the provenance of that data, and a provenance architecture is the software architecture for a system that will provide the necessary functionality to record, store and use process documentation to determine the provenance of data items. However, there has been little principled analysis of what is actually required of a provenance architecture, so it is impossible to determine the functionality they would ideally support. In this paper, we present use cases for a provenance architecture from current experiments in biology, chemistry, physics and computer science, and analyse the use cases to determine the technical requirements of a generic, application-independent architecture. We propose an architecture that meets these requirements and evaluate a preliminary implementation by attempting to realise two of the use cases.

Proceedings ArticleDOI
25 Sep 2005
TL;DR: The history of the Web browser domain is examined and several underlying phenomena are identified that have contributed to its evolution, including the significant reuse of open source components among different browsers and the emergence of extensive Web standards.
Abstract: A reference architecture for a domain captures the fundamental subsystems common to systems of that domain as well as the relationships between these subsystems. Having a reference architecture available can aid both during maintenance and at design time: it can improve understanding of a given system, it can aid in analyzing tradeoffs between different design options, and it can serve as a template for designing new systems and re-engineering existing ones. In this paper, we examine the history of the Web browser domain and identify several underlying phenomena that have contributed to its evolution. We develop a reference architecture for Web browsers based on two well known open source implementations, and we validate it against two additional implementations. Finally, we discuss our observations about this domain and its evolutionary history; in particular, we note that the significant reuse of open source components among different browsers and the emergence of extensive Web standards have caused the browsers to exhibit "convergent evolution".

Proceedings ArticleDOI
14 Nov 2005
TL;DR: The VIPS image processing library and user-interface is described, which is used in many museums and galleries in Europe, America and Australia for image capture, analysis and output.
Abstract: This paper describes the VIPS image processing library and user-interface. VIPS is used in many museums and galleries in Europe, America and Australia for image capture, analysis and output. VIPS is popular because it is free, cross-platform, fast, and can manage images of unlimited size. It also has good support for color, an important feature in this sector. Its architecture will be illustrated through examples of its use in a range of museum-driven applications. VIPS is free software distributed under the LGPL license.

Journal ArticleDOI
01 May 2005
TL;DR: A set of tools that enable the quantitative evaluation of architectures for quantum computers and a simple, regular architecture for ion-trap based quantum computers are presented.
Abstract: The theoretical study of quantum computation has yielded efficient algorithms for some traditionally hard problems. Correspondingly, experimental work on the underlying physical implementation technology has progressed steadily. However, almost no work has yet been done which explores the architecture design space of large scale quantum computing systems. In this paper, we present a set of tools that enable the quantitative evaluation of architectures for quantum computers. The infrastructure we created comprises a complete compilation and simulation system for computers containing thousands of quantum bits. We begin by compiling complete algorithms into a quantum instruction set. This ISA enables the simple manipulation of quantum state. Another tool we developed automatically transforms quantum software into an equivalent, fault-tolerant version required to operate on real quantum devices. Next, our infrastructure transforms the ISA into a set of low-level micro architecture specific control operations. In the future, these operations can be used to directly control a quantum computer. For now, our simulation framework quickly uses them to determine the reliability of the application for the target micro architecture. Finally, we propose a simple, regular architecture for ion-trap based quantum computers. Using our software infrastructure, we evaluate the design trade offs of this micro architecture.

Journal ArticleDOI
TL;DR: A new multi-agent system (MAS) architecture to support the inter-enterprise functions/resources integration and collaboration over the networked environment, including the hybrid agent architecture and hybrid network architecture is proposed.
Abstract: The manufacturing industries are now experiencing fierce pressure of competition from every corner on this planet. In addition, the advancement in computer networks and information technologies has been gradually reshaping the manufacturing companies by shifting from the industrial age to the information era. Due to these elevated competitiveness and advanced computer technology, a number of new manufacturing and management strategies (e.g., CE or CIM) have emerged for the innovation of manufacturing enterprises. Although they have different definitions and scopes, there are several common issues: inter-enterprise functions integration; inter-enterprise resources integration; and collaboration. This paper proposes a new multi-agent system (MAS) architecture to support the inter-enterprise functions/resources integration and collaboration over the networked environment, including the hybrid agent architecture and hybrid network architecture. In contrast to the existing agent architectures, the proposed agent architecture enables agents to exhibit the hybrid (continuous and discrete) behavior and interactions. In addition, our network architecture is more suitable for building the large-scale distributed manufacturing systems that are prone to dynamic random changes of their environment. Based on the proposed MAS architecture, a collaborative product development environment is implemented as a starting point, and a multidisciplinary team-oriented design problem is illustrated to provide the vision of the proposed MAS architecture.

Proceedings ArticleDOI
25 Jul 2005
TL;DR: The overall AmbieSense system architecture and particularly the agent-system and its main features are described and an account of the experiences from user tests executed during the demonstration is given.
Abstract: Context-aware information systems for mobile users have to cope with a variety of requirements in order to be able to provide an added value that goes beyond simply location-based services. The EU-IST AmbieSense project has developed a reference architecture and implemented demonstrators that meet a number of these requirements. In this paper we present AmbieAgents, an agent-based infrastructure for context-based information delivery for mobile users. We describe the overall AmbieSense system architecture and particularly the agent-system and its main features. As the AmbieSense system was demonstrated in a real world scenario at the Oslo international airport, we also give an account of our experiences from user tests executed during the demonstration.

ReportDOI
01 Jan 2005
TL;DR: This document describes a new approach that explores the use of Semantic Web languages in building an architecture for supporting context-aware systems called Context Broker Architecture (CoBrA), which differs from other architectures in using the Web Ontology Language OWL for modeling ontologies of context and for Supporting context reasoning.
Abstract: This document describes a new approach that explores the use of Semantic Web languages in building an architecture for supporting context-aware systems. This new architecture called Context Broker Architecture (CoBrA) differs from other architectures in using the Web Ontology Language OWL for modeling ontologies of context and for supporting context reasoning. Central to our architecture is a broker agent that maintains a shared model of context for all computing entities in the space and enforces the privacy policies defined by the users. We also describe the use of CoBrA and its associated ontologies in prototyping an intelligent meeting room.

Book ChapterDOI
20 Jun 2005
TL;DR: The basic concepts for a dynamic architecture modeling using nets-within-nets, a powerful formalism that allows active elements, i.e. nets, to be nested in arbitrary and dynamically changeable hierarchies, are presented.
Abstract: Current modeling techniques are not well equipped to design dynamic software architectures. In this work we present the basic concepts for a dynamic architecture modeling using nets-within-nets. Nets-within-nets represent a powerful formalism that allows active elements, i.e. nets, to be nested in arbitrary and dynamically changeable hierarchies. Applying the concepts from nets-within-nets, therefore, allows us to model complex dynamic system architectures in a simple way, which enables us to design the system at different levels of abstractions using refinements of net models. Additionally to the conceptual modeling of such architecture, we provide a practical example where the concept has been successfully applied in the development of the latest release of Renew (Version 2 of the multi-formalism Petri net IDE). The overall monolithic architecture has been exchanged with a system that is divided into a plug-in management system and plug-in's that provide functionality for the users. By combining plug-ins the system can be adapted to the users' needs. Through the introduction of the Petri net concepts, the new architecture is now – at runtime – dynamically extensible by registering plug-ins with the management system. The introduced architecture is applicable for any kind of architecture but most suitable for applications with dynamic structure.

Journal ArticleDOI
TL;DR: This work proposes several integrated security architectures for distributed client-server group communication systems and discusses performance and accompanying trust issues of each proposed architecture and presents experimental results that demonstrate the superior scalability of an integrated architecture.
Abstract: Group communication systems are high-availability distributed systems providing reliable and ordered message delivery, as well as a membership service, to group-oriented applications. Many such systems are built using a distributed client-server architecture where a relatively small set of servers provide service to numerous clients. In this work, we show how group communication systems can be enhanced with security services without sacrificing robustness and performance. More specifically, we propose several integrated security architectures for distributed client-server group communication systems. In an integrated architecture, security services are implemented in servers, in contrast to a layered architecture, where the same services are implemented in clients. We discuss performance and accompanying trust issues of each proposed architecture and present experimental results that demonstrate the superior scalability of an integrated architecture.

Journal ArticleDOI
TL;DR: An evolutionary perspective of product architecture is proposed and the history of Fanuc numerical controllers regarding the evolution of NC architecture from 1962 to 1997 is analyzed to derive the following hypotheses concerning the development of the product architecture.

Journal ArticleDOI
TL;DR: This paper examines the criteria for analyzing architecture analysis methods, and suggests a new set of criteria that focus on the essence of what it means to be an architecture analysis method.
Abstract: A software architecture is a key asset for any organization that builds complex software-intensive systems. Because of an architecture's central role as a project blueprint, organizations should analyze the architecture before committing resources to it. An analysis helps to ensure that sound architectural decisions are made. Over the past decade a large number of architecture analysis methods have been created, and at least two surveys of these methods have been published. This paper examines the criteria for analyzing architecture analysis methods, and suggests a new set of criteria that focus on the essence of what it means to be an architecture analysis method. These criteria could be used to compare methods, to help understand the suitability of a method, or to improve a method. We then examine two methods--the Architecture Tradeoff Analysis Method and Architecture-level Modifiability Analysis--in light of these criteria, and provide some insight into how these methods can be improved.

Book ChapterDOI
13 Jun 2005
TL;DR: This position paper will propose a set of elements, information and graphical notation to record the design decisions during the modelling process, to detail the idea of considering the architecture as a composition of architectural design decisions.
Abstract: Documenting software architectures is a key aspect to achieve success when communicating the architecture to different stakeholders. Several architectural views have been used with different purposes during the design process. The traditional view on software architecture defines this in terms of components and connectors. Also, the “4+1” view model proposes several views from the same design to satisfy the interests of the different stakeholders involved in the modelling process. In this position paper we try to go a step beyond previous proposals, to detail the idea of considering the architecture as a composition of architectural design decisions. We will propose a set of elements, information and graphical notation to record the design decisions during the modelling process.

Proceedings ArticleDOI
05 Dec 2005
TL;DR: The Evolution Robotics Software Platform (ERSP/spl trade/), which provides a commercial-grade software architecture for mobile robots, is described, which has been designed to be modular, scalable, lightweight, portable, and reusable.
Abstract: In this paper we describe the need for, and the characteristics of a software architecture for commercial robotic products. We describe the Evolution Robotics Software Platform (ERSP/spl trade/), which provides a commercial-grade software architecture for mobile robots. The architecture has been designed to be modular, scalable, lightweight, portable, and reusable. It follows a hybrid model of data flow, combining behavior-based processing modules for real-time reactions with event-based task planning routines. We provide a detailed description of the main architectural components and some basic usage studies. We also highlight areas where compromises have been made and for which continuing work is needed.