Abstract-Architecture Compliance Checking (ACC) is useful to bridge the gap between architecture and implementation. ACC is an approach to verify conformance of implemented program code to high-level models of architectural design. Static ACC focuses on the modular software architecture and on the existence of rule violating dependencies between modules. Accurate tool support is essential for effective and efficient ACC. This paper presents a study on the accuracy of ACC tools regarding dependency analysis and violation reporting. Seven tools were tested and compared by means of a custom-made test application. In addition, the code of open source system Freemind was used to compare the tools on the number and precision of reported violation and dependency messages. On the average, 74 percent of 34 dependency types in our custom-made test software were reported, while 69 percent of 109 violating dependencies within a module of Freemind were reported. The test results show large differences between the tools, but all tools could improve the accuracy of the reported dependencies and violations.
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.
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?
This project assists architects and engineers to validate their strategies and methods, respectively, toward a sustainable design practice. The aim is to develop prototype intelligent tools to forecast the carbon footprint of a building in the initial design process given the visual representations of space layout. The prediction of carbon emission (both embodied and operational) in the primary stages of architectural design, can have a long-lasting impact on the carbon footprint of a building. In the current design strategy, emission measures are considered only at the final phase of the design process once major parameters of space configuration such as volume, compactness, envelope, and materials are fixed. The emission assessment only at the final phase of the building design is due to the costly and inefficient interaction between the architect and the consultant. This proposal offers a method to automate the exchange between the designer and the engineer using a computer vision tool that reads the architectural drawings and estimates the carbon emission at each design iteration. The tool is directly used by the designer to track the effectiveness of every design choice on emission score. In turn, the engineering firm adapts the tool to calculate the emission for a future building directly from visual models such as shared Revit documents. The building realization is predominantly visual at the early design stages. Thus, computer vision is a promising technology to infer visual attributes, from architectural drawings, to calculate the carbon footprint of the building. The data collection for training and evaluation of the computer vision model and machine learning framework is the main challenge of the project. Our consortium provides the required resources and expertise to develop trustworthy data for predicting emission scores directly from architectural drawings.