Detecting and Maintaining Architecture Consistency. Dr Liam O Brien, Geoscience Australia

Similar documents
Introduction to Software Architecture (1)

SOFTWARE ARCHITECTURES:

Rationale for Software Architecture Design. Definitions for Software Architecture. Rationale for Software Architecture. Common Misconceptions

Curriculum Catalog

RAD: Really Awful Design - Really? Rob Day & Eoin Woods Agile Conference, September 2005

USABILITY BRIEFING FOR HEALTHCARE ARCHITECTURE - Exploring user needs and experiences to improve complex buildings

Interoperability, Architecture And Architectural Frameworks. Rob Dobson Rob Dobson & Associates Pty Ltd

SOFTWARE ARCHITECTURE

A FORMAL APPROACH FOR INCORPORATING ARCHITECTURAL TACTICS INTO THE SOFTWARE ARCHITECTURE

REGISTRATION OF PROPERTIES IN STRATA

Re: File Reference: No , Exposure Draft: Leases (Topic 842)

A Vision for a Fully Digital Cadastral Survey System

Software Architecture Context

Internal Controls and Best Practices for Appraisal Departments

IASB Exposure Draft ED/2013/6 - Leases

Press Release. Commercial Real Estate - Digital Opportunities in a Shifting Industry

GOPALAN COLLEGE OF ENGINEERING AND MANAGEMENT Department of Computer Science and Engineering

Land Information System as new instrument for Land Administration: Case Examples. Mike Cheremshynskyi Consultant, Land Administration Expert

IASB Exposure Draft ED/2013/6 Leases

Egyptian Nationwide Title Cadastre System

The Method-Framework for Engineering System Architectures (MFESA)

HERE WE GO AGAIN. THE NEW LEASE STANDARD (ASC TOPIC 842) February Internal Audit, Risk, Business & Technology Consulting

October 20/04 Board Item 4

Ind AS 115 Impact on the real estate sector and construction companies

Information contained

LAND ADMINISTRATION FOR FOOD SECURITY A RESEARCH SYNTHESIS

BULGARIAN CADASTRE A GUARANTEE FOR THE OWNERSHIP RIGHTS IN IMMOVABLE PROPERTIES

RT319 Validating Advanced Work Packaging as a Best Practice A Game Changer

Cube Land integration between land use and transportation

LADM-based Crowdsourced 3D Cadastral Surveying Potential and Perspectives

Advances in Modern Land Administration Cadastre 2014 in the Year 2006

Major Transport Scheme Appraisal An Overview

A NOMINAL ASSET VALUE-BASED APPROACH FOR LAND READJUSTMENT AND ITS IMPLEMENTATION USING GEOGRAPHICAL INFORMATION SYSTEMS

SOFTWARE ARCHITECTURE. Semester II (Computer Engineering) SUB CODE: MECE202. Evaluation Scheme L T P Total Credit Theory Mid Sem Exam

Information Quality - A Critical Success Factor How to make it all right!

21 August Mr Hans Hoogervorst Chairman International Accounting Standards Board 30 Cannon Street London EC4M 6XH United Kingdom

REGIONAL GEOINFORMATION ENVIRONMENT REGIA

Village of Bremen 9090 Marietta Road, SE Bremen, Ohio (740)

Easy Being Green: A New Generation of Auto-Pop

Auditor General s Office

Digitalisation of the Real Property Rights Towards Spatially enabled E-Government

Reporting Thailand Cadastral System in Cadastre 2014 Trends BY VUTTINAN UTESNAN. Rajamangala University of Technology Krungthep

The Cadastral Template 2.0, From Design to Implementation

Barbara County Housing Element. Table 5.1 Proposed Draft Housing Element Goals, Policies and Programs

Results of Central European Land Knowledge Center (CELK) Activities

#ARCHICAD is BIM. #BIM for Architects

Lease Accounting: Gather your data now and understand tax implications. Tuesday, December 5, 2017

TITLE: ON THE PROTECTION OF ANTIQUITIES AND CULTURAL HERITAGE IN GENERAL.

Chapter 9: 3D Visualisation as a Tool to Facilitate Managing Land and Properties

OPEN BIM Healthcare Design by LINK arkitektur

INTERNAL AUDITOR S REPORT

GAUSSCAD A WEBGIS APPLICATION FOR COLLECTING CADASTRAL DATA

MEMORANDUM. Apportionment Methodologies

AMERICAN INTERNATIONAL GROUP, INC.

APPRAISAL MANAGEMENT COMPANY

LIS a motivation for SDI initiative

Spatially Enabled Society Role of the Cadastre

AN OVERVIEW OF LAND TOOLS IN SUB- SAHARAN AFRICA: PAST, PRESENT AND FUTURE

The Method-Framework for Engineering System Architectures (MFESA)

Influence of Digital Computer Technology on Architectural Design Teaching Mode

4 York Region Housing Incentives Study

Chapter 3: A Framework for a National Land Information Infrastructure

Implementing the New Lease Guidance

XXV FIG CONGRESS KUALA LUMPUR, MALAYSIA, JUNE 2014.

COUNTY OF SAN MATEO Inter-Departmental Correspondence Planning and Building. Steve Monowitz, Community Development Director

METROPOLITAN COUNCIL S FORECASTS METHODOLOGY

Architecture Oriented Formal Approaches to Software Development. Keijiro Araki. October 31, Kyushu University.

Welcome. Chapps Dorm Inspector. Walkthrough

Commission 7 Cadastre and Land Administration. Work Plan

LRIMS Cadastre Module

2017 SOLGM Conference VALUATION ISSUES

DEVELOPMENT OF A SOFTWARE ARCHITECTURE TO SUPPORT CONDOMINIUM MANAGEMENT

Addressing the New Challenges of Silicon Test. Joe Sawicki Vice President and General Manager Design-to-Silicon Division

Software Design & Architecture. Mei Nagappan (material adapted from Reid Holmes)

Domain Rental Report June Quarter 2015

In Conversation with Charles Young Bringing Government Cadastres Online

European Component Oriented Architecture (ECOA ) Collaboration Programme: ECOA White Paper

Real Estate Solutions. For Multiple Listing Organizations and Associations

Trip Rate and Parking Databases in New Zealand and Australia

REPEATABILITY & REPRODUCIBILITY (R&R) STUDY

Royal Institute of British Architects. Report of the RIBA visiting board to Coventry University

Spatial Data Warehouse Ltd. Cadastral Mapping INITIATIVE 1: CADASTRAL MAPPING. Version Spatial Data Warehouse Ltd. & AltaLIS Ltd.

Community Titles Schemes

Demonstrate knowledge of, and extract, cadastral data from Landonline

NPI-Market Value Percentiles

The New Technology of a Survey Data Model and Cadastral Fabric as the Foundation for a Future Land Administration System.

Fulfilment of the contract depends on the use of an identified asset; and

Rebuilding Settlements with Communities

CHAPTER Committee Substitute for Committee Substitute for House Bill No. 437

Geo-information for Disaster Management: 9/11 Lessons & Developments Since

The Governance of Land Use

Course Descriptions Real Estate and the Built Environment

Dear members of the International Accounting Standards Board,

Application of tsunami modelling for escape and refuge planning in Aceh (Indonesia)

What s Next for Commercial Real Estate Leveraging Technology and Local Analytics to Grow Your Commercial Real Estate Business

GIS and Land Records Integration A PRIA White Paper

ParcelMap BC Compiling a Parcel Fabric for the Province of British Columbia. Presented by: Ellen Styner (General Manager) and Wendy Amy (GIS Manager)

The Social Tenure Domain Model STDM-Online

Town of Niagara-on-the-Lake Official Plan Review. Discussion Paper: Second Residential Units. Prepared for: The Town of Niagara-on-the-Lake

Spatial Data Infrastructure in Sweden

Transcription:

Detecting and Maintaining Architecture Consistency Dr Liam O Brien, Geoscience Australia

Personal Background 25 years experience in the IT area mainly as: Researcher (21 years) Reverse engineering, Reengineering, Software Architecture, Architecture Reconstruction, SOA, Cloud Computing Solution Architect (past 4 years) CSIRO Chief Software Architect for eresearch SOA, Cloud Computing, Scientific Workflow, Data Management Tools and Workflows Geoscience Australia SOA, Data services, Data Processing CO2 Infrastructure Assessment (CIAP) Sentinel Bushfire Hotspots National Offshore Petroleum Information Management System (NOPIMS) National Flood Risk Information Platform (NFRIP)

Overview Why is Architecture Important? Architecture Consistency and Clarity Architecture Inconsistencies Detecting Architecture Inconsistency Ensuring Architecture Consistency Architecture Reconstruction Examples of Architecture Reconstruction Reflexion Modelling Conclusion

Why is Architecture Important? Represents earliest design decisions hardest to change later most critical to get right communication vehicle among stakeholders First design artifact addressing performance reliability modifiability security Key to systematic reuse transferable, reusable abstraction The right architecture paves the way for system success. The wrong architecture usually spells some form of disaster.

Consistency and Clarity From: http://www.codingthearchitecture.com/pages/book/structure-and-guidelines-consistency-and-clarity.html

Architecture Conceptual Integrity The goal of conceptual integrity or unity of design: The best programs and software systems exhibit a sense of consistency and elegance, as if they are shaped by a single creative mind, even when they are in fact the product of many. The fiendish problem is less how to create that sense in the first place than in how to preserve it against all the other pressures that come to bear throughout the process of writing software. Frederick P Brooks Jr The Mythical Man-Month: Essays on Software Engineering

Architecture Inconsistencies Differences between architectural documentation and implemented code Name Inconsistencies difficult to catch Interface Inconsistencies ill-defined interfaces Behavioural inconsistencies - differences Interaction Inconsistencies protocol/sequence Refinement Inconsistencies high-level to low-level adding or removing something, or violating (inter-layer bridging)

Causes of Architecture Inconsistencies Differences between architecture views Implementation does not follow the architecture Uncontrolled evolution of code Architecture documentation not kept up to date

Example of Architecture Inconsistency from CIAP

CIAP GUI

Example of Architecture Inconsistency from CIAP

Example of Architecture Inconsistency from CIAP

Example of Architecture Inconsistency from CIAP

Example of Architecture Inconsistency from CIAP

Ensuring Architecture Consistency From Implementation Perspective Code Review From Architecture Perspective Architecture Review Other members of Architecture team Architecture Committee (technical people from across Organisation) Enforcing Architecture Consistency Disabling access to Databases Logging and Auditing of the system

Reviews and Inspections of Code/Architecture Reviews and inspections of code and architecture involve several participants and activities Participants: Coders, Architects, Project Managers, Reviewers Activities: Preparation for inspection of code and architecture material Preparation of participants Review/Analysis of code and architecture Analysis of the review results and recommend actions Follow-up and Finalisation

Architecture Reviews More thorough architecture reviews ATAM, etc

Detecting Architecture Inconsistencies Detecting inconsistencies between the implemented system and the architecture can be done using: Architecture Reconstruction Reflexion Modelling

Architecture Reconstruction Architecture Reconstruction is the process of reconstructing or recovering the architecture of an implemented system. Also known as Architecture Recovery. Source Code, Documentation Extraction Fusion Reconstruction Source Extraction Architecture View Composition Source Model, Selected Architecture Views Architectural Views, Styles, Patterns, Drivers

Architecture Reconstruction ARMIN Architecture Reconstruction Tool Sources extraction Extracted Sources import ARMIN Tool Project Manager definition of products and models Navigator product and model browsing Aggregator creation of aggregation models Interpreter ARL Architects creation of architecture views Experts Repository export Design Tools Analysis Tools

Architecture Consistency Arch Recon Example 1 Embedded Automotive Control System Files KLOC Functions Macros Variables Types C/c 61 9 376 225 180 5 Header 71 2 0 1055 311 56 Total 132 11 376 1280 491 61 Consistency/Conformance Exercise Determine if the architecture as documented reflects the as-built system. Layered system with three layers ApplicationSW, Data and HardwareControl. In the documentation the ApplicationSW and HardwareControl layers were only connected through the Data layer and were not directly connected.

Example Highest-level System View Layers

Exploring the Data Layer 1 Data Accesses

Exploring the Data Layer 2 Calls

Example 2 Automotive Infotainment System Code Size Files Classes C/C++ 2.58MLOC 6484 1018 Java 1.78MLOC 9570 22542 Total 4.36MLOC 16054 23560 Consistency of the Architecture Determine if the Top Level Architecture as Documented reflects the as-built system Produce views of several layers to determine consistency and if they conform to expectations

Another Example System CMM Layer

MM_SERVICES - Dependencies

Reflexion Modelling for Architecture Consistency Checking

Conclusion Architecture consistency not easy to enforce Architecture inconsistencies will occur Needs mechanisms to detect inconsistencies Don t want to make detection and enforcement too onerous on implementers or architects Similar architecture inconsistencies happen in Infrastructure Architecture

Questions or requests for meetings for further information QUESTIONS?

References Kazman, R., O Brien, L., and Verhoef, C., Architecture Reconstruction Guidelines, CMU/SEI-2001-TR-026. Van Deursen, et al, Symphony: view driven software architecture reconstruction, WICSA 2004. Stoermer, C, O Brien, L., Verhoef, C., Moving Towards Quality Attribute Driven Software Architecture Reconstruction, WCRE 2003. Murphy, G, Notkin, D., Sullivan, K., Software reflexion models: bridging the gap between source and high-level models, SIGSOFT 1995. Buckley, J., Mooney, S., Rosik, J., Ali, N., JITTAC: a just-intime tool for architectural consistency, ICSE 2013.