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."
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.
Many organizations have undergone substantial reorganization in the last decade. They re-engineered their business processes and exchanged proprietary, not integrated applications for more standard solutions. Integration of structured data in relational data bases has improved documentation of business transactions and increased data quality. But almost 90% of the information that organizations manage is unstructured, can not easily be integrated into a traditional database. Just like structured data, unstructured information in organizations are records, meant and used as evidence for organizational actions and transactions. Governments, courts and other stakeholders are making increasing demands for the trustworthiness of records. This is part of a long-term trend toward defining what accountability means in a digital era. An analysis of literature of information science, organization science and archival science illustrates that for accountability, reconstruction of the past is essential. Hypothesis of this paper is that for the reconstruction of the past each organization needs (at least) a combination of three mechanisms: enterprise records management, organizational memory and records auditing. Enterprise records management ensures that records meet the for accountability necessary quality requirements: integrity, authenticity, controllability and historicity. These requirements ensure records that can be trusted. Trusted records enhance the possibility of reconstructing the past. The organizational memory ensures that trusted records are preserved for as long as is necessary to comply to accountability regulations. It provides an information and communication technology infrastructure to (indefinitely) store those records and to keep them accessible. Records auditing audits enterprise records management and organizational memory to assess the possibility to reconstruct past organizational actions and transactions. These mechanisms ensure that organizations have a documented understanding of: the processing of actions and transactions within business processes; the dissemination of trusted records; the way the organization accounts for the actions and transactions within its business processes; and the reconstruction of actions and transactions from business processes over time. This understanding is important for the reconstruction of the past in digitized organizations and improve organizational accountability.