A FORMAL APPROACH FOR INCORPORATING ARCHITECTURAL TACTICS INTO THE SOFTWARE ARCHITECTURE

Similar documents
SOFTWARE ARCHITECTURE

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

Introduction to Software Architecture (1)

Cube Land integration between land use and transportation

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

Graphical Representation of Defeasible Logic Rules Using Digraphs

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

Organizational Project Management

LAND ADMINISTRATION FOR FOOD SECURITY A RESEARCH SYNTHESIS

Rohan Bennett (PhD) Jaap Zevenbergen (Prof.)

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

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

Institutional Analysis of Condominium Management System in Amhara Region: the Case of Bahir Dar City

SOFTWARE ARCHITECTURES:

Real Estate Reference Material

IAG Conference Accounting Update Emerging issues in the public sector 20 November 2014 Michael Crowe Yannick Maurice

Multi-Paths of Colleges Performance Appraisal and Comparison Hui PENG 1,a, Lian-Sen WANG 2,3,4,b,*

Request for Proposals WASTE AND ORGANICS COLLECTION SERVICES RFP# ANM

Royal Institute of British Architects Report of the RIBA visiting board to Universidad Pontificia Bolivariana

Software Architecture Context

The agent-based modeling approach to MFM: A call to join forces

Hunting the Elusive Within-person and Between-person Effects in Random Coefficients Growth Models

CLTS seminar 24 January 2014

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

Training the Next Generation of Appraisers The S.T.A.R.T. Program - Standards to Assure Responsible Training:

Introduction. The classificatory framework of Ekistics

Goods and Services Tax and Mortgage Costs of Australian Credit Unions

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

1. Department of Decision Sciences & Information Management, Katholieke Universiteit Leuven, Belgium

Specifying and Monitoring Economic Environments Using Rights and Obligations

Syndication Resource Guide

There are many ways listings are syndicated. The most common way to syndicate listings is with assistance from CincyMLS.

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

Agreements for the Construction of Real Estate

How open is Open BIM? Pantelis Ioannidis. Digital Construction Week London, 19 October 2017

Terms of Reference for the Regional Housing Affordability Strategy

1. INTRODUCTION .., Since, Sri Lanka's economy turn in to!tee market economy policy, there has been a. 1.1 Background

Table of Contents. Appraiser Independence Policy Forms

Mixed Tenure Communities and Neighbourhood Quality

Establishing a Land policy reform and GPS Technology implementation in Burkina Faso

A Study of Experiment in Architecture with Reference to Personalised Houses

COMPUTERIZED SYSTEM SUPPORTING DEVELOPMENT OF LAND MARKET IN GEORGIA

Interoperability in surveying

Introducing Property Valuation

Macro-prudential Policy in an Agent-Based Model of the UK Housing Market

Securing Land Rights for Broadband Land Acquisition for Utilities in Sweden

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

Egyptian Nationwide Title Cadastre System

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

A Vision for a Fully Digital Cadastral Survey System

BUSI 398 Residential Property Guided Case Study

Principles of Architecture and Construction

CENTRAL GOVERNMENT ACCOUNTING STANDARDS

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

Discover the world SEPTEMBER 13, International Accounting Standards Board First Floor 30 Cannon Street London, United Kingdom EC4M 6XH

Oil & Gas Lease Auctions: An Economic Perspective

Demonstration Properties for the TAUREAN Residential Valuation System

Application of Finite Difference Method to Develop Land Value Map

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

Transit-Oriented Development Specialized Real Estate Services

Fiscal Cadastral Reform and the Implementation of CAMA in Cape Town: financing transformation

#WeAreHomesEngland. We are Homes England

New Developments Summary

250 CMR: BOARD OF REGISTRATION OF PROFESSIONAL ENGINEERS AND LAND SURVEYORS DRAFT FOR DISCUSSION PURPOSES ONLY

Community Housing Federation of Victoria Inclusionary Zoning Position and Capability Statement

PROGRAM PRINCIPLES. Page 1 of 20

REAL ESTATE VALUATION JUNE 14 th, 21 st, 28 th, JULY 5 th

Intangible Assets Web Site Costs

FINA2382 Real Estate Finance K. S. Maurice Tse The University of Hong Kong Spring

LAND PARCEL IDENTIFICATION FOR AUTOMATED LAND INFORMATION SYSTEMS

Progress through Technology Evaluation and Utilization of Business Results Research and Development-Innovation

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

A Comparative Analysis of Affordable Housing in Saudi Arabia

The What, Why and How of Project Work Breakdown Structures (WBS)

COLLABORATIVE DATA. We are living in a data rich age yet we lack the infrastructure to share this networked assets and support citizen science.

The Positive Externalities of Historic District Designation

THE APPLICATION OF GIS AND LIS Solutions and Experiences in East Africa. Lenny Kivuti

Tool for Land Consolidation

APPRAISAL MANAGEMENT COMPANY

The effect of atrium façade design on daylighting in atrium and its adjoining spaces

THINKING OUTSIDE THE TRIANGLE TAKING ADVANTAGE OF MODERN LAND MARKETS. Ian Williamson

Developing DITA Expertise Across Your Virtual Team. Martha Morgan Architect, Information Engineering October 14, 2009

LAND ISSUES AS A BARRIER TO THE SUPPLY OF AFFORDABLE HOUSING: A CASE STUDY OF MARBLE HALL

Land Tools for Tenure Security for All

Course Mass Appraisal Practices and Procedures

Prof. Derek Abbott, Yaxin Hu

The Practice and Exploration of GIS-based Commercial Housing Price Statistical System - The example of Shenzhen. Abstract

North Northamptonshire Authorities Monitoring Report (AMR) 2015/16. Assessment of Housing Land Supply ( )

Real Estate Finance K. S. Maurice Tse The University of Hong Kong Fall

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

Real Estate Economics MBAX 6630 Course Syllabus for Fall 2013

History & Theory Architecture II

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

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

Network Analysis: Minimum Spanning Tree, The Shortest Path Problem, Maximal Flow Problem. Métodos Cuantitativos M. en C. Eduardo Bustos Farías 1

FINA0805/FINA2382 Real Estate Finance K. S. Maurice Tse The University of Hong Kong Spring

Guide to Appraisal Reports

NEW TECHNOLOGIES & THEIR REAL ESTATE IMPACTS Dutch Treat Breakfast Meeting February 12, 2018 Taylor Mammen, Managing Director

Australian Institute of Architects

From Parcel to Global Cadastre: Challenges and Issues of the Post-Reform Quebec Cadastre. Elisabetta Genovese, Francis Roy

Transcription:

1 A FORMAL APPROACH FOR INCORPORATING ARCHITECTURAL TACTICS INTO THE SOFTWARE ARCHITECTURE Hamid Bagheri & Kevin Sullivan University of Virginia Computer Science

2 How do architects integrate tactics with styles in architecture development? Taylor et al., Software Architecture: Foundations, Theory, and Practice, Wiley, 2009.

Outline 3 Problem Goals Background Approach Evaluation Related work Conclusions

Problem Important outcomes depend on architectural tactic Lack a scientific account of choices in this dimension Selection of architectural tactics is driven by informal analysis Application of architectural tactics is a manual activity Once wired in, architectural changes are very hard to make Can we develop a scientific account for derivation of software architecture, with respect to both styles and tactics, to enable the automated application of architectural best practices?

Goals 5 Develop formal account for incorporation of tactics into the software architecture Exploiting that formalism to automate architecture synthesis Deliver synthesis approach as a tool capability

6 Background

7 Formal Framework for Synthesis: Architectural Maps [4]

Application Type (elided) 8 module SCC sig Sensor extends needhandle{} sig Actuator extends needhandle{} sig Controller extends needhandle{ } sensors : set Sensor, actuators : set Actuator,... abstract sig dispatch_protocol{} one sig periodic, aperiodic, sporadic extends dispatch_protocol{}...

Architectural Style 9 module II open OO abstract sig IIObject extends Object {}{ } abstract sig EventBus extends Connector {}{ } abstract sig Publish extends Role {} abstract sig Subscribe extends Role {} abstract sig PublishEvent extends Port {}{ one o:iiobject this in o.ports all port: PublishEvent attachments.port.ran in Publish } abstract sig SubscribeEvent extends Port {}{ }

Application Instance (elided) 10 module LunarLander_SCC open SCC one sig FlightControl extends Controller{}{ } sensors = Altimeter + FuelLevel + Gyro + EngineControlSwitch actuators = DescentEngController+ Display+ AttitudeControlThruster controller_dispatch_state = periodic frequency_state = fast program = controller_code one sig Altimeter, FuelLevel, Gyro, EngineControlSwitch extends Sensor{} one sig DescentEngController, Display, AttitudeControlThruster extends Actuator{}

11 An Architectural Mapping (Sense-Compute-Control to Implicit-Invocation) all n:needhandle one o: IIObject o.handle = n all a:actuator one port: Port (port in (a.~handle.ports & Procedure) ) (port in (a.~handle.ports & SubscribeEvent) all s:sensor one port: Port (port in (s.~handle.ports & Procedure) ) (port in (s.~handle.ports & PublishEvent) ) # (Controller.~handle.ports & SubscribeEvent) = # (Sensor.~handle.ports & PublishEvent) (#SubscribeEvent >0) => # (Controller.~handle.ports & PublishEvent) = 1 (#Procedure >0) => # (Controller.~handle.ports & Call) = 1 all port:procedure one conector: procedurecall port[attachments].ran = conector.roles & Provide Controller.~handle.call[attachments].ran.connector = Actuator.~handle.procedure[attachments].ran.connector + Sensor.~handle.procedure[attachments].ran.connector (Controller.~handle.ports & PublishEvent)[attachments].ran.~roles = (Actuator.~handle.ports & SubscribeEvent)[attachments].ran.~roles //procedurecall // EventBus (Controller.~handle.ports & SubscribeEvent)[attachments].ran.~roles = (Sensor.~handle.ports & PublishEvent)[attachments].ran.~roles...

12 Satisfying Solution Constraints of the mapping predicate

Lessons Learned 13 Applying architectural maps leads not to a single plausible architecture, but to a set of architectures Style specifications to which application models were being mapped are underspecified Their corresponding architectural maps leave overly large architectural spaces Not any instances in that set necessarily satisfies all required non-functional properties

14 Approach

Architectural Tactics 15 Architectural decisions that codify and record best practice knowledge for achieving a desired NFP Several architectural tactics proposed for various NFPs: Reliability, Performance, Modifiability, Architectural styles have extensive use in the architectural modeling Structure of tactics must fit within rules implied by styles

Quality-improving Architectural Transformations 16 Application of Architectural Tactics as Quality-improving architectural transformations In the formal process of architecture synthesis These transformations should Influence NFPs without changing functional behaviors After the transformation, architectural specifications are still correct

Our Approach: Parameterized Architectural Tactics 17 Architectural tactics not independent Parameterized by choices of application type and architectural style Specialize tactics to particular settings induced by a choice of both application type and architectural style Define tactic predicates such that they refine the architectural map for the given type/style pair

Applying Parameterized Tactics 18 Decision to use a tactic in mapping an application model to an architecture involves: Explicit inclusion of tactic specification with more generic architectural map Applying this compound map to the application model yields: A family of correct-by-construction architectures supporting given architectural tactic

19 Tool Support for Architecture Synthesis

20 High-Level View Lunar-Lander Case Study Implicit Invocation MAP extends PingIEcho Tactic Lunar Landing control System R. N. Taylor, N. Medvidovic, and E. Dashofy. Software Architecture: Foundations, Theory, and Practice, Wiley, 2009.

Application of type sense-compute-control

22 Reliability Tactic PingIEcho (SCC,II) module PingEcho_SCC_II open SCC open II pred pingecho_scc_ii(s:set needhandle){ one o:iiobject o.handle = Pinger && no handled:needhandle-pinger handled in o.handle && one p: Procedure p in o.ports && all n:needhandle n in s =>{ one c1: procedurecall c1 in n.~handle.procedure[attachments].ran.connector&& c1 in o.call[attachments].ran.connector } one c2: procedurecall c2 in n.~handle.call[attachments].ran.connector && c2 in o.procedure[attachments].ran.connector }...

23 Incorporation of Tactic Specification into the mapping module LunarLander_SCC_II // Compound mapping open LunarLander open SCC_II open PingEcho_SCC_II pred execute{ map_scc_ii[] } // Architectural map PingEcho_SCC_II[FlightControl] // Parameterized tactic predicate

24 Result of Applying compound mapping (in ACME)

25 Evaluation

Evaluation 26 Tested the idea by Exhibiting parameterized architectural tactics Specialized for different application types and architectural styles Check consistency of automatically generated outputs with Informally and manually produced results in the literature Documentation of tactics Result of the experimental testing of our approach

Strengths of Work to Date 27 Represent architectural tactics in a formal and reusable form Tactics are formalized and implemented as executable specifications Correct-by-construction synthesis of architectural models Validated against arch styles and tactics defined in literature

Weaknesses of Work to Date 28 Mainly considers structural refinement, not behavioral Supports tactics that refine/extend styles, not alteration of styles No attempt yet to scale to practical applications

29 Related Work

Related Work 30 Formal approaches to model transformation Architectural evolution patterns. Tamzalit and Mens, 2010. Evolution styles. Garlan et al., 2009. Architectural transformations, Ambriola and Kmiecik, 2002. Horizontal vs. Vertical Formalization of architectural styles Kim and Garlan, 2010. Wong et al., 2008. Separation of Concerns Flexible Packaging. Deline 1999. Leveraging architectural styles and tactics to satisfy NFPs Modifiability tactics, Bachmann et al., 2007. Interaction of architectural patterns and tactics, Harrison et al., 2010. Pattern-oriented knowledge model for arch. design, Kumar et al. 2010.

31 Conclusions

Selected Future Work 32 Provide more rigorous representation of application models regarding NFRs Study of application types analogous to past work on architectural styles Automated design space search There are generally many possible satisfying architectures Combining the approach with architectural analysis tools (e.g. AADL) enables optimizing search for properties of interests

Contributions 33 Showed feasibility of representing architectural tactics parameterized by type/style pair in a formal and reusable form, using the notion of architectural maps Showed that formalism enables automated synthesis Created opportunities for future work in this area

34 Thank You