SOFTWARE ARCHITECTURE

Similar documents
Introduction to Software Architecture (1)

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

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

A FORMAL APPROACH FOR INCORPORATING ARCHITECTURAL TACTICS INTO THE SOFTWARE ARCHITECTURE

TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK

Principles of Architecture and Construction

Interoperability in surveying

Universal Geo-database Connector Interface Component (UG-CIC) For Virtual Web-base GIS Server Essential For Real Estate Industry Uses

Introducing Property Valuation

Egyptian Nationwide Title Cadastre System

Developed with Xactware Data and Technology. April Best Practices

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

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

IBM TRIRIGA Version 10 Release 5.3. Lease and Owned Property Contract Management User Guide IBM

Topic 842 Technical Corrections Summary of Comments Received

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

New Models for Property Data Verification and Valuation

COMPUTERIZED SYSTEM SUPPORTING DEVELOPMENT OF LAND MARKET IN GEORGIA

APPRAISAL MANAGEMENT COMPANY

The Analytic Hierarchy Process. M. En C. Eduardo Bustos Farías

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

It s Back Accounting for Asset Leases the new way!

IBM TRIRIGA Version 10 Release 5.1. Lease and Owned Property Contract Management User Guide IBM

PROCESSES IN CADASTRE: PROCESS MODEL FOR SERBIAN 3D CADASTRE

Manya M. Mooya. Real Estate Valvation. Theory. A Critical Appraisal. A Springer

Lessons Learned on Cooperative Government/Industry Appraisals aka Registered Appraisals. Melanie G. Benhoff Integrity Applications, Inc

Graphical Representation of Defeasible Logic Rules Using Digraphs

IFRS 15. Revenue from Contracts with Customers. Presented by CPA Dr. Peter Njuguna

FASB Emerging Issues Task Force

Major Transport Scheme Appraisal An Overview

THE EXISTING LEGAL CADASTRE REGISTRATION OF CADASTRAL SPATIAL RIGHTS IN ISRAEL R&D PROJECT IN ISRAEL IN ISRAEL R&D PROJECT THE EXISTING LEGAL CADASTRE

Return to Iowa farmland versus S&P 500

Mass appraisal Educational offerings and Designation Requirements. designations provide a portable measurement of your capabilities

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

RICS property measurement 2nd edition: Basis for conclusions. Purpose

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

HOW TO MAKE THE RIGHT LEASING DECISIONS

A Complete, Free Solution for Cadastral Map Management

Cadastral services and virtual office in e-cadastre

Real Estate Transaction Method And System

Preprint.

A Vision for a Fully Digital Cadastral Survey System

Preparing for the new ASC 842 Leasing Standard Challenges and Solutions. August 24, 2017

AIREN. A Decentralized Network where AI meets Real Estate

MRI Commercial Management For Web Operational Training Guide Version 4.2

Tools for Asset Management. A Real Estate Perspective

Rohan Bennett (PhD) Jaap Zevenbergen (Prof.)

OPEN BIM Healthcare Design by LINK arkitektur

HOW TO JUMP START YOUR ASC 842 LEASE ACCOUNTING PROJECT WEBINAR MARCH

Service Oriented Architectural Design

International Accounting Standards Board 30 Cannon Street London EC4M 6XH United Kingdom. September 13, 2013

Real Estate Appraisal / Finance 322 Spring, 2011

Cube Land integration between land use and transportation

Henry Muccini. Pisa, March , workshop on Architecture-based Testing: Moving Research into Practice

SOFTWARE ARCHITECTURES:

SUBJECT: Unacceptable Assignment Conditions in Real Property Appraisal Assignments

BUSINESS AND REAL ESTATE & MORTGAGE BROKER LCA.EQ

BACHELOR S DEGREE IN ARCHITECTURE STUDIES LA SALLE CAMPUS BARCELONA

Introducing. Property. Valuation. Second edition. Michael Blackledge. Routledge R Taylor & Francis Croup LONDON AND NEW YORK

IT-SUPPORTED STATE-LAND MANAGEMENT IN A TRANSITIONAL ENVIRONMENT

Valuation and the Real Estate Market; a new paradigm for a new decade

Object Oriented Unified Real Estate Registry for a Good Spatial Data Management

The joint leases project change is coming

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

Software Architecture Context

Annual Accounting and Auditing Update. 11 December 2015

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

Leases (Topic 842) Proposed Accounting Standards Update. Narrow-Scope Improvements for Lessors

New IFRS 15 & IFRS 16 standards The impact on M&A transactions. New IFRS 15 & IFRS 16 standards The impact on M&A transactions

Tool for Land Consolidation

DEVELOPMENT OF A SOFTWARE ARCHITECTURE TO SUPPORT CONDOMINIUM MANAGEMENT

Preparing for the new ASC 842 Leasing Standard Challenges and Solutions. August 24, 2017

Maconomy Property Solution better insight and control over your real estate portfolio

Lease Accounting Standard Update ASU Presented by: Nicholas Hoefel, CPA Manager, Audit Services Group

Course outline. Code: PED210 Title: Principles of Property Valuation

The Digital Cadastral Database and the Role of the Private Licensed Surveyors in Denmark

next generation automated collateral risk solution for those who demand true valuation

Lease Accounting and Loan Covenants: What is the Impact?

DAYLIGHT SIMULATION FOR CODE COMPLIANCE: CREATING A DECISION TOOL. Krystle Stewart 1 and Michael Donn 1

IS YOUR LEASE SOLUTION FASB READY? It s here!

New Developments Summary

Basic Appraisal Procedures

Leases: Overview of the new guidance

HUD Multifamily Utility Benchmarking Webinar Series Webinar 2: Creating a Plan and Managing Data for Multifamily Utility Benchmarking

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

Applying the new lease accounting standard

86 years in the making Caspar G Haas 1922 Sales Prices as a Basis for Estimating Farmland Value

MyCommunity Interactive web portals for real estate communities

Is Your Operating Lease An Asset or Liability? It s Now Both

Curriculum Catalog

Arlington County, Virginia. Internal Audit of the Real Estate Assessment Appeals Process Calendar Year Ended December 31, 2014

PART ONE - GENERAL INFORMATION

Land Details. Bridging the Gap between Assessor Acres and GIS Acres

IFRS 16 Lease overview and EY s enabling toolkit

PRACTICAL TIPS FOR IMPLEMENTING THE NEW LEASE ACCOUNTING STANDARD

MONTGOMERY COUNTY PLANNING DEPARTMENT THE MARYLAND-NATIONAL CAPITAL PARK AND PLANNING COMMISSION

11.01 digital painting I

TSO1C: Land Reforms. Commission 7

Directorate of Survey and Mapping NAMIBIA. Cadastral Information System. Vehupisa Kasuko Tjatindi Surveyor Directorate of Survey and Mapping NAMIBIA

Technical Corrections and Improvements to Recently Issued Standards

Transcription:

SOFTWARE ARCHITECTURE PERSPECTIVES ON AN EMERGING DISCIPLINE MARY SHAW Carnegie Mellon University DAVID GARLAN Carnegie Mellon University An Alan R. Apt Book Prentice Hall, Upper Saddle River, New Jersey 07458

CONTENTS CHAPTER 1 Introduction 1.1 What Is Software Architecture? 1 1.1.1 Software Design Levels, 4 1.2 An Engineering Discipline for Software 5 1.2.1 What Is Engineering?, 6 1.2.2 The Current State of Software Technology, 10 1.3 The Status of Software Architecture 15 1.4 The Plan of This Book 17 CHAPTER 2 Architectural Styles 2.1 Architectural Styles 19 2.2 Pipes and Filters 21 23 Data Abstraction and Object-Oriented Organization 22 2.4 Event-Based, Implicit Invocation 23 2.5 Layered Systems 25 2.6 Repositories 26 2.7 Interpreters 27 2.8 Process Control 27 2.8.1 Process-Control Paradigms, 28 2.8.2 A Software Paradigm for Process Control, 30 2.9 Other Familiar Architectures 31 2.10 Heterogeneous Architectures 32

XVlll CONTENTS CHAPTER 3 Case Studies 33 3.1 Key Word in Context 33 3.1.1 Solution 1: Main Program/Subroutine with Shared Data, 34 3.1.2 Solution 2: Abstract Data Types, 35 3.1.3 Solution 3: Implicit Invocation, 36 3.1.4 Solution 4: Pipes and Filters, 37 3.1.5 Comparisons, 38 3.2 Instrumentation Software 39 3.2.1 An Object-Oriented Model, 39 3.2.2 A Layered Model, 40 3.2.3 APipe-and-FilterModel,41 3.2.4 A Modified Pipe-and-Filter Model, 41 3.2.5 Further Specialization, 42 3.2.6 Summary, 42 3.3 Mobile Robotics 43 By Marco Schumacher 3.3.1 Design Considerations, 43 3.3.2 Solution 1: Control Loop, 44 3.3.3 Solution 2: Layered Architecture, 45 3.3.4 Solution 3: Implicit Invocation, 47 3.3.5 Solution 4: Blackboard Architecture, 49 3.3.6 Comparisons, 51 3.4 Cruise Control 51 3.4.1 Object View of Cruise Control, 53 3.4.2 Process-Control View of Cruise Control, 53 3.4.3 Analysis and Discussion, 58 3.4.4 Summary, 60 3.5 Three Vignettes in Mixed Style 60 3.5.1 A Layered Design with Different Styles for the Layers, 60 3.5.2 An Interpreter Using Different Idioms for the Components, 63 3.5.3 A Blackboard Globally Recast as an Interpreter, 66 CHAPTER 4 Shared Information Systems 69 4.1 Shared Information Systems 69 4.2 Database Integration 70 4.2.1 Batch Sequential, 70 4.2.2 Simple Repository, 71 4.2.3 Virtual Repository, 75 4.2.4 Hierarchical Layers, 79 4.2.5 Evolution of Shared Information Systems in Business Data Processing, 80 4.3 Integration in Software Development Environments 82 4.3.1 Batch Sequential, 83 4.3.2 Transition from Batch Sequential to Repository, 83

CONTENTS xix 4.3.3 Repository, 85 4.3.4 Hierarchical Layers, 86 4.3.5 Evolution of Shared Information Systems in Software Development Environments, 88 4.4 Integration in the Design of Buildings 88 4.4.1 Repository, 89 4.4.2 Intelligent Control, 90 4.4.3 Evolution of Shared Information Systems in Building Design, 91 4.5 Architectural Structures for Shared Information Systems 93 4.5.1 Variants on Dataflow Systems, 93 4.5.2 Variants on Repositories, 94 4.6 Some Conclusions 95 CHAPTER 5 Architectural Design Guidance 97 5.1 Guidance for User-Interface Architectures 97 by Thomas G. Lane 5.1.1 Design Spaces and Rules, 97 5.1.2 A Design Space for User-Interface Architectures, 100 5.1.3 Design Rules for User-Interface Architecture, 110 5.1.4 Applying the Design Space: An Example, 111 5.1.5 A Validation Experiment, 113 5.1.6 How the Design Space Was Prepared, 114 5.1.7 Summary, 115 5.2 The Quantified Design Space 116 by Toru Asada, Roy F. Swonger, Nadine Bounds, and Paul Duerig 5.2.1 Overview, 116 5.2.2 Background, 116 5.2.3 Quantified Design Space, 120 5.2.4 Conclusion, 127 CHAPTER 6 Formal Models and Specifications 129 6.1 The Value of Architectural Formalism 129 6.2 Formalizing the Architecture of a Specific System 130 6.3 Formalizing an Architectural Style 133 6.3.1 Filters, 134 6.3.2 Pipes, 135 6.3.3 Pipe-and-Filter System, 136 6.4 Formalizing an Architectural Design Space 139 6.5 Toward a Theory of Software Architecture 142 6.6 What Next? 142 6.7 Z Notation Used in This Chapter 143

XX CONTENTS CHAPTER 7 Linguistic Issues 147 7.1 Requirements for Architecture-Description Languages 147 7.1.1 The Linguistic Character of Architectural Description, 148 7.1.2 Desiderata for Architecture-Description Languages, 151 7.1.3 Problems with Existing Languages, 155 7.2 First-Class Connectors 160 7.2.1 Current Practice, 160 7.2.2 Problems with Current Practice, 161 7.2.3 A Fresh View of Software System Composition, 165 7.2.4 An Architectural Language with First-Class Connectors, 166 7.2.5 The Promise of Explicit Architectural Notations, 171 7.3 Adding Implicit Invocation to Traditional Programming Languages 172 7.3.1 Introduction, 172 7.3.2 Adding Implicit Invocation to Ada, 174 7.3.3 Evaluation, 181 CHAPTER 8 Tools for Architectural Design 183 8.1 UniCon: A Universal Connector Language 183 8.1.1 Components and Connectors, 185 8.1.2 Abstraction and Encapsulation, 186 8.1.3 Types and Type Checking, 187 8.1.4 Accommodating Analysis Tools, 188 8.2 Exploiting Style in Architectural Design Environments 190 8.2.1 What Is Architectural Style?, 190 8.2.2 Automated Support for Architectural Design, 192 8.2.3 Observations about Environments for Architectural Design, 202 8.3 Beyond Definition/Use: Architectural Interconnection 204 8.3.1 Implementation versus Interaction, 205 8.3.2 Example, 206 8.3.3 The WRIGHT Model of Architectural Description, 208 8.3.4 Reasoning about Architectural Descriptions, 210 8.3.5 A Brief Explanation of Our Use of CSP, 211 CHAPTER 9 Education of Software Architects 213 9.1 Philosophy and Course Overview 213 9.1.1 Objectives, 213 9.1.2 Approach, 214 9.2 Course Description 215 9.3 Assignments 218 9.3.1 Purpose, 218 9.3.2 Readings, 219 9.3.3 Architectural Development Tasks, 220 9.3.4 Formal Modeling, 222

CONTENTS xxi 9.3.5 Analysis and Interpretation of a System, 222 9.4 Evaluation 223 9.4.1 Lessons from the Initial Offering, 223 9.4.2 Conclusions About Teaching Software Architecture, 225 Bibliography 227 Index 239