Many quality aspects of software systems are addressed in the existing literature on software architecture patterns. But the aspect of system administration seems to be a bit overlooked, even though it is an important aspect too. In this work we present three software architecture patterns that, when applied by software architects, support the work of system administrators: PROVIDE AN ADMINISTRATION API, SINGLE FILE LOCATION, and CENTRALIZED SYSTEM LOGGING. PROVIDE AN ADMINISTRATION API should solve problems encountered when trying to automate administration tasks. The SINGLE FILE LOCATION pattern should help system administrators to find the files of an application in one (hierarchical) place. CENTRALIZED SYSTEM LOGGING is useful to prevent coming up with several logging formats and locations. Abstract provided by the authors. Published in PLoP '13: Proceedings of the 20th Conference on Pattern Languages of Programs ACM.
DOCUMENT
To successfully develop a system, a solid understanding of its architecture by stakeholders involved in the development of the system is key. This process is supported by System Architects, who have a profession that is often regarded as experience based. However, we argue that it is important to familiarize students with the concept of System Architecting, so that they are at least receptive of the nuances involved and potentially can continue a pathway of development towards such a role. In this paper we explore the potential use of A3 Architecture Overviews (A3AO) as an educational tool to support familiarization with Systems Engineering and Systems Architecting. The A3AO has been developed as a supportive tool to communicate a system’s architecture. It uses diagrams to model and visualize a system with different views and is intended to be printed on a physical A3 paper. It serves as a reference for, and facilitator of design discussions. Skills envisioned to be developed while using an A3AO include strict selection and visualization of information, two critical competencies to handle systems’ complexity. The A3AOs have been applied in a course on Systems Engineering at an applied University in The Netherlands and were part of the assessed deliverables. The relative free-form nature of the A3AO posed students with various dilemmas in their use, but also provided the opportunity for guided development on the envisioned competencies. We conclude that more research is required to further formalize this guided development, but we also experience that the A3AO has the potential to support systems engineering and systems architecting practices in education.
DOCUMENT
Author Supplied: In the last decades, architecture has emerged as a discipline in the domain of Information Technology (IT). A well-accepted definition of architecture is from ISO/IEC 42010: "The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution." Currently, many levels and types of architecture in the domain of IT have been defined. We have scoped our work to two types of architecture: enterprise architecture and software architecture. IT architecture work is demanding and challenging and includes, inter alia, identifying architectural significant requirements (functional and non-functional), designing and selecting solutions for these requirements, and ensuring that the solutions are implemented according to the architectural design. To reflect on the quality of architecture work, we have taken ISO/IEC 8402 as a starting point. It defines quality as "the totality of characteristics of an entity that bear on its ability to satisfy stated requirements". We consider architecture work to be of high quality, when it is effective; when it answers stated requirements. Although IT Architecture has been introduced in many organizations, the elaboration does not always proceed without problems. In the domain of enterprise architecture, most practices are still in the early stages of maturity with, for example, low scores on the focus areas ‘Development of architecture’ and ‘Monitoring’ (of the implementation activities). In the domain of software architecture, problems of the same kind are observed. For instance, architecture designs are frequently poor and incomplete, while architecture compliance checking is performed in practice on a limited scale only. With our work, we intend to contribute to the advancement of architecture in the domain of IT and the effectiveness of architecture work by means of the development and improvement of supporting instruments and tools. In line with this intention, the main research question of this thesis is: How can the effectiveness of IT architecture work be evaluated and improved?
DOCUMENT
Author supplied: Teaching software architecture (SA) in a bachelor computer science curriculum can be challenging, as the concepts are on a high abstraction level and not easy to grasp for students. Good techniques and tools that help with addressing the challenging SA aspects in a didactically responsible way are needed. In this tool demo we show how we used the software architecture compliance checking tool HUSACCT for addressing various concepts of SA in our courses on software architecture. The students were introduced to architectural reconstruction and architecture compliance checking, which helped them to gain important insights in aspects such as the relation between architectural models and code and the specification of dependency relations between architecture elements as concrete rules.
DOCUMENT
Abstract Healthcare organizations operate within a network of governments, insurers, inspection services and other healthcare organizations to provide clients with the best possible care. The parties involved must collaborate and are accountable to each other for the care provided. This has led to a diversity of administrative processes that are supported by a multi-system landscape, resulting in administrative burdens among healthcare professionals. Management methods, such as Enterprise Architecture (EA), should help to develop and manage such landscapes, but they are systematic, while the network of healthcare parties is dynamic. The aim of this research is therefore to develop an EA framework that fits the dynamics of network organizations (such as long-term healthcare). This research proposal outlines the practical and scientific relevance of this research and the proposed method. The current status and next steps are also described.
DOCUMENT
Author supplied: "Abstract—Software architecture compliance checking (SACC) is an approach to monitor the consistency between the intended and the implemented architecture. In case of static SACC, the focus is mainly on the detection of dependencies that violate architectural relation rules. Interpretation of reported violations may be cumbersome, since the violations need to be connected to architectural resolutions and targeted qualities such as maintainability and portability. This paper describes an SACC case study which shows that inclusion of different types of rules in the SACC process enhances reasoning on architecture violations, especially if a rule type is related to specific architectural pattern. The SACC is performed with HUSACCT, an SACC-tool that provides rich sets of module and rule types in support of patterns such as layers, facade, and gateway. The case system is a governmental system developed in C#, which follows the .NET common application architecture. Even though the system appeared to be well-structured, the SACC revealed that 10 of the 17 architectural rules were violated." http://ieeexplore.ieee.org/document/7484100/ http://dx.doi.org/10.1109/QRASA.2016.7
DOCUMENT
Author supplied: "Abstract—Software architecture compliance checking (SACC) is an approach to monitor the consistency between the intended and the implemented architecture. In case of static SACC, the focus is mainly on the detection of dependencies that violate architectural relation rules. Interpretation of reported violations may be cumbersome, since the violations need to be connected to architectural resolutions and targeted qualities such as maintainability and portability. This paper describes an SACC case study which shows that inclusion of different types of rules in the SACC process enhances reasoning on architecture violations, especially if a rule type is related to specific architectural pattern. The SACC is performed with HUSACCT, an SACC-tool that provides rich sets of module and rule types in support of patterns such as layers, facade, and gateway. The case system is a governmental system developed in C#, which follows the .NET common application architecture. Even though the system appeared to be well-structured, the SACC revealed that 10 of the 17 architectural rules were violated."
DOCUMENT
From ACM: "In cases where architectural documentation is outdated or missing, software architecture reconstruction (SAR) techniques may be used to create architectural views of a system. This paper describes a case study in which SAR techniques are applied to reconstruct module views of a case system; a debt settlements suite for local governments, developed in C#. A manual approach and its results are described and compared to the outcome of a layers reconstruction algorithm. Furthermore, this paper explains how software architecture compliance checking (SACC) techniques may help to test the results of reconstruction activities. In this study, SAR and SACC were supported by HUSACCT, a tool that provides rich sets of module and rule types in support of layers, facade, and gateway patterns." https://doi.org/10.1145/3129790.3129809
DOCUMENT
With the development of Enterprise Architecture (EA) as a discipline, measuring and understanding its value for business and IT has become relevant. In this paper a framework for categorizing the benefits of EA, the Enterprise Architecture Value Framework (EAVF), is presented and based on this framework, a measurability maturity scale is introduced. In the EAVF the value aspects of EA are expressed using the four perspectives of the Balanced Scorecard with regard to the development of these aspects over time, defining sixteen key areas in which EA may provide value. In its current form the framework can support architects and researchers in describing and categorizing the benefits of EA. As part of our ongoing research on the value of EA, two pilots using the framework have been carried out at large financial institutions. These pilots illustrate how to use the EAVF as a tool in measuring the benefits of EA.
DOCUMENT
Abstract-Architecture Compliance Checking (ACC) is an approach to verify the conformance of implemented program code to high-level models of architectural design. ACC is used to prevent architectural erosion during the development and evolution of a software system. Static ACC, based on static software analysis techniques, focuses on the modular architecture and especially on rules constraining the modular elements. A semantically rich modular architecture (SRMA) is expressive and may contain modules with different semantics, like layers and subsystems, constrained by rules of different types. To check the conformance to an SRMA, ACC-tools should support the module and rule types used by the architect. This paper presents requirements regarding SRMA support and an inventory of common module and rule types, on which basis eight commercial and non-commercial tools were tested. The test results show large differences between the tools, but all could improve their support of SRMA, what might contribute to the adoption of ACC in practice.
DOCUMENT