Architecture Rationale

Similar documents
An Exploratory Case Study Using CBSP and Archium

University of Groningen. Architectural design decisions Jansen, Antonius Gradus Johannes

University of Groningen. Architectural design decisions Jansen, Antonius Gradus Johannes

Requirements to models: goals and methods

Software architecture Modelling

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 4 Entity Relationship (ER) Modeling

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams

Towards Decision Centric Repository of Architectural Knowledge

Software architecture: Introduction

Software architecture: Introduction

Architectures in Context

Software Architecture

University of Groningen. Architectural design decisions Jansen, Antonius Gradus Johannes

Chapter 13: Architecture Patterns

Software specification and modelling. Requirements engineering

S1 Informatic Engineering

JOURNAL OF OBJECT TECHNOLOGY

Lecture 16: (Architecture IV)

Unified Modeling Language - UML

System Name Software Architecture Description

Oracle Exam 1z0-478 Oracle SOA Suite 11g Certified Implementation Specialist Version: 7.4 [ Total Questions: 75 ]

System types. Distributed systems

Software Architecture Patterns

17Collaborative Software Architecting through Knowledge Sharing

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

Unit Wise Questions. Unit-1 Concepts

University of Groningen. Documenting after the fact Jansen, Anton; Bosch, Jan; Avgeriou, Paraskevas. Published in: Journal of systems and software

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Architectures

Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures

DATABASE SYSTEMS. Chapter 5 Entity Relationship (ER) Modelling DESIGN IMPLEMENTATION AND MANAGEMENT INTERNATIONAL EDITION ROB CORONEL CROCKETT

Architectural Blueprint

APM. Object Monitor. Object Lab. Richard Hayton & Scarlet Schwiderski

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Introduction to software architecture Revision : 732

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

Introduction to Modeling

Introduction. ADL Roles

CS 577A Team 1 DCR ARB. PicShare

Software Architecture and Design I

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

Chapter 4. In this chapter, you will learn:

Congestion Management (CM)

Getting started with WebRatio 6 BPM - WebRatio WebML Wiki

Why Consider Implementation-Level Decisions in Software Architectures?

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

OT TU1 Software Architecture Using Viewpoints and Perspectives

Introduction in Eventing in SOA Suite 11g

Software Architecture in Action. Flavio Oquendo, Jair C Leite, Thais Batista

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 4 Entity Relationship (ER) Modeling

Adaptability Evaluation at Software Architecture Level

Design Modeling Studio 1: Modeling Requirements for the Repository for Model Driven Development (REMODD) Project

Verteilte Systeme (Distributed Systems)

Course Design Document. IS436: Data Security and Privacy. Version 1.0

Pattern-Based Architectural Design Process Model

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures

The Big Happy Family of System Architecture Approaches. Chris Phillips 14 Jun 2018

Step: 9 Conduct Data Standardization

Appendix D: Mapping BPMN to BPD Profile

Product Line Architectures (PLAs) using Change-Sets and Relationships

Evolving Services Architectures

Department of Computer Science and Engineering. CSE 3214: Computer Network Protocols and Applications Instructor: N. Vlajic Date: Feb 23, 2016

BlackBerry Enterprise Server for IBM Lotus Domino Version: 5.0. Feature and Technical Overview

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/03/2015

1 Executive Overview The Benefits and Objectives of BPDM

Object-Oriented Analysis and Design Using UML (OO-226)

Modeling variability with UML

Oliopäivät Modelling Now and in the Future, with Acronyms or without = RSA

Meta Architecting: Towered a New Generation of Architecture Description Languages

Non-overlappingoverlapping. Final outcome of the worked example On pages R&C pages R&C page 157 Fig 3.52

Data Modeling: Beginning and Advanced HDT825 Five Days

Understanding Software Connector Compatibilities Using a Connector Taxonomy. Nikunj Mehta Ph. D. Candidate

Unified Modeling Language (UML)

Synergy Distributed Meeting Scheduler. Project Plan. Revision 2.0. CS 6361 Advance Requirements Engineering Fall 2008

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0. Feature and Technical Overview

IT 540 Operating Systems ECE519 Advanced Operating Systems

Semantics-Based Integration of Embedded Systems Models

Using Tcl Mobile Agents for Monitoring Distributed Computations

System and Software Architecture Description (SSAD)

Comparative Analysis of Architectural Views Based on UML

Analysis Modeling Week 5

Appendix to The Health of Software Engineering Research

From Object Composition to Model Transformation with the MDA

Overview (and reorientation) of SE


What is Software Architecture? What is Principal?

Model-Based Self-Adaptation from Requirements to Architectures: A Decision- Making Process. Bihuan Chen

Bridging Models across the Software Lifecycle

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech

UNIT 5 - UML STATE DIAGRAMS AND MODELING

10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein. Copyright 2003 Philip A. Bernstein. Outline

Rules for the General Communication Process in ILSA Prepared by: Chris Miller Version:.01 Date: 19 February, 2002

Multi-Level Feedback Queues

System and Software Architecture Description (SSAD)

Attribute-Driven Design

Electronic Certificate Submission Process. Michael Guymon;Dharshun Sharma;Harsimran Mann;Christian Green;Diondre Montgomery

Hierarchical vs. Flat Component Models

Transcription:

Overview Architecture Rationale Charles L. Chen & Danhua Shao March 21, 2006 Motivation The CBSP Approach Archium Using CBSP and Archium Conclusions Questions 2006, Charles L. Chen & Danhua Shao EE 382V 1 2006, Charles L. Chen & Danhua Shao EE 382V 2 Motivation How do you go from requirements to architecture? How do you capture the rationale for the architectural decisions that are made in this process? The CBSP Approach Reconciling Software Requirements and Architectures With Intermediate Models by Paul Grunbacher, Alexander Egyed, and Nenad Medvidovic 2006, Charles L. Chen & Danhua Shao EE 382V 3 2006, Charles L. Chen & Danhua Shao EE 382V 4 1

The CBSP Approach The 6 CBSP Dimensions Helps architects bridge the gap between requirements and architecture Evaluate the relevance of a requirement along the 6 CBSP dimensions Refine requirements into architecturally friendly CBSP artifacts 1.C Components 2.B Bus (Connector) 3.S System 4.CP Component Property 5.BP Bus Property 6.SP System Property 2006, Charles L. Chen & Danhua Shao EE 382V 5 2006, Charles L. Chen & Danhua Shao EE 382V 6 Relevance of Requirements Requirements to CBSP Artifacts Determine a set of core requirements through stakeholder-based prioritization Architects evaluate the relevance of the core requirements by ranking them 0 (irrelevant) to 3 (fully relevant) along the 6 CBSP dimensions Use Kendall s coefficient of concordance to determine consensus among architects and discuss any conflicts Split requirements R: The system should provide an interface to a Web browser. C: A Web browser should be used as a component in the system. B: A connector should be provided to ensure interoperability with 3 rd party components. 2006, Charles L. Chen & Danhua Shao EE 382V 7 2006, Charles L. Chen & Danhua Shao EE 382V 8 2

Requirements to CBSP Artifacts Requirements to CBSP Artifacts Combine requirements R1: Support for different types of Cargo R2: Support for cargo arrival and vehicle estimation C d : Data component to represent Cargo Make requirements more specific R: Updates to system functionality should be enabled with minimal downtime. BP: Robust connectors should be provided to facilitate runtime component addition and removal. Generalize requirements R: Spreadsheet data must be encrypted when dispatched across the network. SP: The system should be secure. (or perhaps - S: The system should transmit data securely.) 2006, Charles L. Chen & Danhua Shao EE 382V 9 2006, Charles L. Chen & Danhua Shao EE 382V 10 Choosing an Architectural Style Tool Support for CBSP Selection of requirements Distributed voting tool Requirements rated on relevance and feasibility Automatic classification as low hanging fruit, important with hurdles, maybe later, and forget them Architectural classification of requirements Fully tool supported with a COTS voting tool 2006, Charles L. Chen & Danhua Shao EE 382V 11 2006, Charles L. Chen & Danhua Shao EE 382V 12 3

Tool Support for CBSP Identifying and resolving conflicts Automatic highlighting of conflicts Graph showing the vote spread Architectural refinement Translate CBSP into a UML representation Traceability between requirements and CBSP artifacts Cargo Router Case Study Route cargo from delivery ports to warehouses Provide reports & estimates of cargo arrival times & vehicle status Trade-off choices None (yet) 2006, Charles L. Chen & Danhua Shao EE 382V 13 2006, Charles L. Chen & Danhua Shao EE 382V 14 Cargo Router Case Study Cargo Router Case Study Selection of requirements Initially: 81 requirements After review and merging: 64 requirements After joint prioritization: 25 requirements Architectural classification of requirements Conflict -> Discussion -> Clarification 2006, Charles L. Chen & Danhua Shao EE 382V 15 2006, Charles L. Chen & Danhua Shao EE 382V 16 4

Cargo Router Case Study Cargo Router Case Study 2006, Charles L. Chen & Danhua Shao EE 382V 17 2006, Charles L. Chen & Danhua Shao EE 382V 18 Summary Archium CBSP helps architects bridge the gap between requirements and architecture Relevance of requirements to architecture along the CBSP dimensions Software Architecture as a Set of Architectural Design Decisions by Anton Jansen and Jan Bosch 2006, Charles L. Chen & Danhua Shao EE 382V 19 2006, Charles L. Chen & Danhua Shao EE 382V 20 5

Outline Introduction Introduction Architectural Design Decisions Archium Case Study: Athena Summary Common view of software architecture: Component + Connector Problem: How to react to changes? Reason: Decision knowledge vaporization. 2006, Charles L. Chen & Danhua Shao EE 382V 21 2006, Charles L. Chen & Danhua Shao EE 382V 22 Proposed Solution New view of software architecture: A composition of a set of architectural design decisions Questions: What is a design decision? How to document it? Architectural Design Decisions (1) Architectural design decision includes: Rationale: why the change is made Design rules: what should be followed Design constraints: what should NOT be allowed Additional requirements: new requirements resulting from the change 2006, Charles L. Chen & Danhua Shao EE 382V 23 2006, Charles L. Chen & Danhua Shao EE 382V 24 6

Architectural Design Decisions (2) Architectural design decisions can help: Find and make changes Check for the violation of design rules and constraints Remove obsolete design decisions Architectural Design Decisions (3) Decisions documents should have: First class architectural design decisions Explicit architectural changes Support for modification, subtraction, and addition Clear relationship between architecture and realization First class architectural concept 2006, Charles L. Chen & Danhua Shao EE 382V 25 2006, Charles L. Chen & Danhua Shao EE 382V 26 Archium (Concept Model) Architectural design decision Archium (Solution) Solutions Solution 1 Solve Selects Solution n Requirements Motivation Problem Decision Trade-off Context Motives Makes In context Cause Results in Architectural Design decisions Cause Architectural Modification Solution includes: Description Design rules Design constraints Consequences Pros Cons 2006, Charles L. Chen & Danhua Shao EE 382V 27 2006, Charles L. Chen & Danhua Shao EE 382V 28 7

Archium (Meta-Model) Archium (Architecture Model) Composition Model Architecture Model connects Connector Abstract Connector Composition Technique Port Interface composes Composition Configuration Component Entity Delta Design Fragment Composition Design decision Model incorporates Design Fragment Design Decision SensorFragment Measurement Item CMISensor Sensor Component Entity Delta Interface Port Connector Abstract Connector 2006, Charles L. Chen & Danhua Shao EE 382V 29 2006, Charles L. Chen & Danhua Shao EE 382V 30 Archium (Design Decision Model) Archium (Design Decision Model) Design Fragment Architecture entities that define a solution Design Decision Logger Design Fragment Observable Role Logger Candidate Solutions: Rationale Realization: a design fragment Decided solution Problem, Motivation Cause, Context Decision Tradeoff choose Solutions Log Solution Log Log Solution Solution Logger Design Fragment Description, Design Description, Rule/Constraints, Design Description, Rule/Constraints, Observable Design Rule/Constraints, Role Consequence, Logger Consequence, Consequence, Pros, Pros, Pros, Cons Cons Cons Logger Design Fragment Logger Design Fragment Logger Design Fragment Observable Role Logger Observable Role Logger Observable Role Logger 2006, Charles L. Chen & Danhua Shao EE 382V 31 2006, Charles L. Chen & Danhua Shao EE 382V 32 8

Archium (Composition Model) Archium (Composition Model) Apply the design decision to architecture elements Three parts: Composition Technique: change on port Composition Configuration: change on entity Design Fragment Composition: change on design fragment Composition: context design fragment + design decision = new design fragment Eg. SensorFragment + LoggerFragment = LoggedSensorFragment 2006, Charles L. Chen & Danhua Shao EE 382V 33 2006, Charles L. Chen & Danhua Shao EE 382V 34 Archium (Composition Model) A Case Study: Athena SensorFragment Measurement Item CMISensor Sensor LoggerFragment Observable Role CObsLog Logger A submission system judge, review, manipulate, and archive programs Fragment Composition Observable Role Measurement Item CMISensor CObsLog Sensor Logger ResultFragment CMISensor Measurement Item CObsLog Sensor Logger Three-tiered architecture Database, middleware, client 2006, Charles L. Chen & Danhua Shao EE 382V 35 2006, Charles L. Chen & Danhua Shao EE 382V 36 9

Fraud Design Decision (1) Fraud Design Decision (2) Original Design Database Middleware Client Connection Broker Manager Domain Object Arbiter Management Tool Student Web Interface Fraud Moss Solution Moss JPlag Solution Submission Client JPlag Fraud Design Decision (3) Moss: Description C/S Design rules assignment clear Design constraints Batch Model Consequences Add Moss Server Pros Strong in fraud detection Multiple prog lang Free Cons Add integration part JPlag: Description C/S Design rules assignment clear Design constraints Batch Model Consequences Add JPlag Server Pros Free Cons Small prog lang Add integration part No demo 2006, Charles L. Chen & Danhua Shao EE 382V 39 Fraud Design Decision (4) Connection Broker Original Design + Fraud Database Middleware Client Moss Manager Domain Object Arbiter Management Tool Student Web Interface Submission Client 10

Fraud Integration Design Decision (1) Fraud Integration Connection Broker Fraud Report >Domain Object Moss Fraud Scanner >Middleware Notification Solution Fraud Reporting >Student Web Interface Fraud Scanner >Middleware Submission Notification > Domain Object User-requested Solution Submission Notification > Domain Object Fraud Configuration >Management Tool Fraud Configuration >Management Tool Moss Fraud Design Decision (3) Notification Solution: Description scanner + configuration + Moss Fraud report Design rules Domain Object notify scanner Design constraints Moss server NOT affect scanner Consequences Submission -> Report Pros Instant report data Immediate feedback Cons User-requested: Description User initiates fraud analysis Design rules Sub Mgr invoke scanner Design constraints Work only when requested Consequences Result -> Moss server Pros Easy to develop Light load Moss server Cons No automatic feedback Heavy load Moss server 2006, Charles L. Chen & Danhua Shao EE 382V 42 Fraud Integration Design Decision (2) Original Design + Fraud + Fraud Integration Database Middleware Client Connection Broker Moss Manager Domain Object Fraud Scanner Arbiter Management Tool Student Web Interface Submission Client Related Work (1) Architecture Description Languages Only the result from decisions Component Languages: No support for design decisions or architectural changes as first-class entities AOP Supports design concerns at the language level 2006, Charles L. Chen & Danhua Shao EE 382V 44 11

Related Work (2) Design Pattern Realization part in Archium Knowledge System Not integrated with architectural model Summary A new view of software architecture: evolution with a set of design decisions Archium model: document architecture with notations of deltas, design fragments, and design decisions Visualize the whole process 2006, Charles L. Chen & Danhua Shao EE 382V 45 2006, Charles L. Chen & Danhua Shao EE 382V 46 Reference Evaluation of Tool Support for Architectural Evolution, Anton Jansen and Jan Bosch. http://www.archium.net/ http://wiki.zefhemel.com/index.php/archium Background Using CBSP and Archium Evolving the CLC-4-TTS Suite Adding speech property support for FreeTTS First attempt fell short problem with race conditions Very general idea of how to approach the problem; no specific designs for a solution 2006, Charles L. Chen & Danhua Shao EE 382V 47 2006, Charles L. Chen & Danhua Shao EE 382V 48 12

Using CBSP Requirements R1: Speech properties must be configurable for FreeTTS. R2: Users must be able to interact with the system at all times. R3: Speech may not have any long pauses. R4: Equal priority messages should be spoken in the order they were received. R5: High priority messages must be able preempt lower priority messages; preempted messages do not have to be saved. R6: Speech properties from one message may not interfere with those from another. 2006, Charles L. Chen & Danhua Shao EE 382V 49 Using CBSP Refinement into CBSP artifacts R1 R1_C: SetProperties interface to FreeTTS R2 SP: Suggests multithreading R3 Eliminated: Definition of long pause + queuing system R4 R4_B: Queue for messages R5 R5_C: Queue Manager R6 BP: Suggests using a queue that can handle messages and associated properties C2 Style (?) 2006, Charles L. Chen & Danhua Shao EE 382V 50 Using Archium Problem The current interface to FreeTTS does not allow speech properties to be set Motivation The result of this is that Linux and Mac users are unable to experience the CSS speech property support being introduced Cause Speech property support has not been implemented yet Context Evolving the existing CLC-4-TTS Suite Using Archium Potential solution #1: JSML Generator Description: Use JSML to encode the properties into a string along with the message. Pass the entire thing into FreeTTS. Design rules: All generated strings must be well formed JSML strings. Design constraints: Message needs to be put within tags that contain the properties; therefore messages and associated properties should be delivered at the same time. Consequences: CLC-4-TTS Suite is dependent on FreeTTS supporting JSML. 2006, Charles L. Chen & Danhua Shao EE 382V 51 2006, Charles L. Chen & Danhua Shao EE 382V 52 13

Using Archium Potential solution #1 (cont.) Pros: +Easy to code (similar system exists for SAPI 5 already) +FreeTTS manages the queue +Easy to force FreeTTS to empty queue (for prioritization) Cons: -FreeTTS does not yet support JSML; significant wait time expected as the FreeTTS project appears to be in hiatus (last update was in February 2005). Using Archium Potential Solution #2: Queue System Description: Create a queue system that will set the speech properties for FreeTTS, pass FreeTTS a message to be spoken, and then wait until it is ready for a new message with a different set of speech properties. Design rules: Must keep track of messages and associated speech properties Design constraints: Queue must not interfere with users' ability to interact with the system as whole; blocking is only to block the speech portion but nothing else. 2006, Charles L. Chen & Danhua Shao EE 382V 53 2006, Charles L. Chen & Danhua Shao EE 382V 54 Using Archium Potential solution #2 (cont.) Consequences: CLC-4-TTS Suite is dependent on Java FreeTTS allowing the setting of speech properties. Pros: +Can be implemented immediately as Java FreeTTS already allows for the setting of speech properties. Cons: -Far more difficult than using a JSML generator CBSP Stengths Structured process of going from requirements to CBSP artifacts CBSP artifacts can be traced back to requirements Weaknesses Evaluations for trade-off choices focus on choosing an architectural style after having derived the CBSP artifacts, but not on deriving the CBSP artifacts themselves 2006, Charles L. Chen & Danhua Shao EE 382V 55 2006, Charles L. Chen & Danhua Shao EE 382V 56 14

CBSP Comments Rejecting the JSML Generator had the idea, unsure where to put the rationale for rejecting it in the CBSP approach Archium Stengths Alternate solutions and the reasons for choosing one solution over another are explicitly captured Pros and cons of a solution are documented as part of the solution Weaknesses No real help given on thinking up the potential solutions 2006, Charles L. Chen & Danhua Shao EE 382V 57 2006, Charles L. Chen & Danhua Shao EE 382V 58 Archium Comments Had the benefit of knowing the problem not sure how easy Archium would have been to use otherwise since there is no guidance in arriving at potential solutions given the Problem, Motivation, Cause, and Context Results Solutions Similar solutions with both methods May be an artifact of both methods being used by the same person Strengths and Weaknesses CBSP and Archium each had their respective strengths and weaknesses Little / No Tool Support (?) Did not find any tool support for CBSP Tool support for Archium did not work 2006, Charles L. Chen & Danhua Shao EE 382V 59 2006, Charles L. Chen & Danhua Shao EE 382V 60 15

Conclusion Rationale is an approach to address the change and evolution problems in software architectural design Rationale can be documented as an intermediate model to refine requirements and architecture designs Conclusion Challenges for rationale Check the validity of rationale Capture rationale from the requirements and architectural design Integrate with architecture description languages and tools 2006, Charles L. Chen & Danhua Shao EE 382V 61 2006, Charles L. Chen & Danhua Shao EE 382V 62 Questions? 2006, Charles L. Chen & Danhua Shao EE 382V 63 16