Attribute-Driven Design

Size: px
Start display at page:

Download "Attribute-Driven Design"

Transcription

1 Attribute-Driven Design Minsoo Ryu Hanyang University

2 Attribute-Driven Design The ADD method is an approach to defining a software architecture in which the design process is based on the software quality attribute requirements ADD follows a recursive process that decomposes a system or system element by applying architectural tactics and patterns that satisfy its driving quality attribute requirements 2 2

3 Plan, Do, and Check ADD essentially follows a Plan, Do, and Check cycle: Plan: Quality attributes and design constraints are considered to select which types of elements will be used in the architecture Do: Elements are instantiated to satisfy quality attribute requirements as well as functional requirements Check: The resulting design is analyzed to determine if the requirements are met 3 3

4 Steps of ADD 4 4

5 Inputs to ADD ADD Inputs and Outputs Functional requirements Eg) The system shall allow users to review account activity Design constraints Eg) System services must be accessible through the World Wide Web Quality attribute requirements Eg 1) buildability: The system shall be buildable within six months Eg 2) availability: The system shall recover from a processor crash within one second Eg3) portability: The system shall allow the user interface (UI) to be ported to a new platform within six months 5 5

6 ADD Inputs and Outputs Outputs to expect from ADD The output of ADD is a system design in terms of the roles, responsibilities, properties, and relationships among software elements Software element: a computational or developmental artifact that fulfills various roles and responsibilities, has defined properties, and relates to other soft-ware elements to compose the architecture of a system Role: a set of related responsibilities Responsibility: the functionality, data, or information that a software element provides Property: additional information about a software element such as name, type, quality attribute characteristic, protocol, and so on Relationship: a definition of how two software elements are associated with or interact with one another 6 6

7 Step 1. Confirm There Is Sufficient Requirements Information You confirm that there is sufficient information about the requirements to proceed with ADD In essence, you make sure that the system s stake-holders have prioritized the requirements according to business and mission goals You should also confirm that there is sufficient information about the quality attribute requirements to proceed As the architect, you use the prioritized list of requirements to determine which system elements to focus on during the design You consider requirements and their potential impact on the architecture s structure in descending order of importance to stakeholders Requirements that have not been prioritized should be flagged and returned to the stakeholders for ranking 7 7

8 Step 2: Choose an Element of the System to Decompose You choose which element of the system will be the design focus in subsequent steps You can arrive at this step in one of two ways: You reach Step 2 for the first time as part of a greenfield development The only element you can decompose is the system itself By default, all requirements are assigned to that system You are refining a partially designed system and have visited Step 2 before In this case, the system has been partitioned into two or more elements, and requirements have been assigned to those elements You must choose one of these elements as the focus of subsequent steps 8 8

9 Step 3: Identify Candidate Architectural Drivers At this point, you have chosen an element of the system to decompose, and stake-holders have prioritized any requirements that affect that element During this step, you ll rank these same requirements a second time based on their relative impact on the architecture This second ranking can be as simple as assigning high impact, medium impact, or low impact to each requirement If you use simple high/medium/low rankings, the groups would be (H,H) (H,M) (H,L) (M,H) (M,M) (M,L) (L,H) (L,M) (L,L) 9 9

10 Selecting Requirements You should choose several (five or six) high-priority requirements as the focus for subsequent steps in the design process The selected requirements are called candidate architectural drivers for the element currently being decomposed 10 10

11 Step 4: Choose a Design Concept That Satisfies the Architectural Drivers You should choose the major types of elements that will appear in the architecture and the types of relationships among them Design constraints and quality attribute requirements (which are candidate architectural drivers) are used to determine the types of elements, relationships, and their interactions 11 11

12 Six Sub-steps 1. Identify the design concerns that are associated with the candidate architectural drivers 2. For each design concern, create a list of alternative patterns that address the concern 3. Select patterns from the list that you feel are most appropriate for satisfying the candidate architectural drivers (Record the rationale for your selections) 12 12

13 Six Sub-steps 4. Consider the patterns identified so far and decide how they relate to each other 5. Describe the patterns you ve selected by starting to capture different architectural views, such as Module, Component-and-Connector, and Allocation views 6. Evaluate and resolve inconsistencies in the design concept 13 13

14 Step 5: Instantiate Architectural Elements and Allocate Responsibilities You instantiate the various types of software elements you chose in the previous step Instantiated elements are assigned responsibilities according to their types For example, in a Ping-Echo pattern, a ping-type element has ping responsibilities and an echo-type element has echo responsibilities Responsibilities for instantiated elements are also derived from the functional requirements associated with candidate architectural drivers and the functional requirements associated with the parent element At the end of Step 5, every functional requirement associated with the parent element must be represented by a sequence of responsibilities within the child elements 14 14

15 Step 6: Define Interfaces for Instantiated Elements You define the services and properties required and provided by the soft-ware elements in our design In ADD, these services and properties are referred to as the element s interface Note that an interface is not simply a list of operation signatures Interfaces describe the PROVIDES and REQUIRES assumptions that software elements make about one another An interface might include any of the following syntax of operations (e.g., signature) semantics of operations (e.g., description, pre- and postconditions, restrictions) information exchanged (e.g., events signaled, global data) quality attribute requirements of individual elements or operations error handling 15 15

16 Step 7: Verify and Refine Requirements and Make Them Constraints for Instantiated Elements You verify that the element decomposition thus far meets functional requirements, quality attribute requirements, and design constraints You also prepare child elements for further decomposition 16 16

17 Step 8: Repeat Steps 2 through 7 for the Next Element of the System You Wish to Decompose Once you have completed Steps 1 7, you have a decomposition of the parent element into child elements Each child element is a collection of responsibilities, each having an interface description, functional requirements, quality attribute requirements, and design constraints You can now return to the decomposition process in Step 2 where you select the next element to decompose 17 17

18 Integrating QAW and ADD

19 Architecture Centric Design Methods Proposed by Anthony J. Lattanze on January 1st, The architecture-centric methods: are explicitly focused on quality attributes directly link to business and mission goals explicitly involve system stakeholders are grounded in state-of-the-art quality attribute models and reasoning frameworks are documented for practitioner consumption 19 19

20 Architecture Centric Methods and Process Activities 20 20

21 Software Qualities and Software Architecture 21 21

22 QAW Overview The Quality Attribute Workshop (QAW) is a facilitated method that engages system stakeholders early in the life cycle to discover the driving quality attribute requirements of a software-intensive system 22 22

23 ADD Overview The Attribute-Driven Design (ADD) method is an approach to defining a software architecture by basing the design process on the quality attribute requirements of the system 23 23

24 ATAM Overview The Architecture Tradeoff Analysis Method (ATAM) is a method that helps a system s stakeholder community understand the consequences of architectural decisions with respect to the system s quality attribute requirements 24 24

25 Life Cycle Integration 25 25

26 QAW Activity 26 26

27 ADD Activity 27 27

28 ATAM Activity 28 28

29 Architectural Tactics Architectural tactics are tactics for the architect to create a design using design patterns, architectural patterns, or architectural strategies 29 29

30 Designing for Availability Faults vs. Failures Tactics Fault detection Fault recovery Fault prevention

31 Fault detection Ping/echo; Heartbeat; Exceptions Fault recovery Tactics for Availability Mostly redundancy based [byzantine faults] Voting: multiple processes working in parallel. [crash, timing] Active redundancy hot restart [crash] Passive redundancy (warm restart), Spare. Reintroduction: shadow operation, resynchronization, checkpoint/rollback Fault prevention Removal from service; Transactions 31 31

32 Modifiability Modifications to a software system during its lifetime are a fact of life Ideal: modifiable systems that are easier to change/evolve Modifiability should be assessed in context of how a system is likely to change No need to facilitate changes that are highly unlikely to occur Impact of designing for modifiability is rarely easy to quantify Minimizing dependencies increases modifiability Changes isolated to single components likely to be less expensive than those that cause ripple effects across the architecture 32 32

33 Modifiability Tactics Reduce the number of modules affected by a change localize modifications Limited modifications of these modules prevent ripple effects Control deployment time and cost defer binding time 33 33

34 Modifiability Tactics 34 34

35 Performance Many examples of poor performance in enterprise applications Performance requirements: Multiple metrics: Throughput, response time, deadlines Average (sustained) vs. peak. Guarantees? Often specified as median and 99%tile

36 Performance Tactics 36 36

37 Testability Estimate: 40% of development cost goes to testing Testability: assuming that the software has at least one fault, the probability that this will be detected in the next testing round Need a system that is controllable and observable Testing harness: control internal state of components,, pass inputs to the system, observe output 37 37

38 Testability Tactics 38 38

Software Architectures. Lecture 2

Software Architectures. Lecture 2 Software Architectures Lecture 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities Today How to achieve requirements : tactics

More information

Software Architecture Thoughts for the System Security Design

Software Architecture Thoughts for the System Security Design Software Architecture Thoughts for the System Security Design Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 James Ivers April 17, 2007 Role of Software Architecture If

More information

Attribute Driven Design (ADD 3.0) Tackling complexity in the heart of Software Architecture. Luis Manuel Muegues Acosta Software Architect at Ryanair

Attribute Driven Design (ADD 3.0) Tackling complexity in the heart of Software Architecture. Luis Manuel Muegues Acosta Software Architect at Ryanair Attribute Driven Design (ADD 3.0) Tackling complexity in the heart of Software Architecture Luis Manuel Muegues Acosta Software Architect at Ryanair Webinair esummit IASA 23 August 2017 Welcome to everyone

More information

Lecture 16: (Architecture IV)

Lecture 16: (Architecture IV) Lecture 16: (Architecture IV) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct.

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

ADD 3.0: Rethinking Drivers and Decisions in the Design Process ADD 3.0: Rethinking Drivers and Decisions in the Design Process Rick Kazman Humberto Cervantes SATURN 2015 Outline Presentation Architectural design and types of drivers The Attribute Driven Design Method

More information

Software Architecture

Software Architecture Software Architecture Carlos Noguera, Kennedy Kambona, Janwillem Swalens 2013-2014 This course Material on-line in pointcarré (Software Architecture Course) Slides Planning Assignments Additional material

More information

Introduction to software architecture Revision : 732

Introduction to software architecture Revision : 732 Introduction to software architecture Revision : 732 Denis Conan Septembre 2018 Foreword The content of these slides is extracted from the following references: L. Bass, P. Clements, and R. Kazman. Software

More information

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

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Improving quality attributes of software systems through software architecture patterns Harrison, Neil Bruce

Improving quality attributes of software systems through software architecture patterns Harrison, Neil Bruce University of Groningen Improving quality attributes of software systems through software architecture patterns Harrison, Neil Bruce IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's

More information

Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures

Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at

More information

Improving quality attributes of software systems through software architecture patterns Harrison, Neil Bruce

Improving quality attributes of software systems through software architecture patterns Harrison, Neil Bruce University of Groningen Improving quality attributes of software systems through software architecture patterns Harrison, Neil Bruce IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's

More information

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

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures Muhammad Ali Babar National ICT Australia Ltd. and University of New South

More information

What is Software Architecture? What is Principal?

What is Software Architecture? What is Principal? What is Software Architecture? Definition: A software system s architecture is the set of principal design decisions about the system Software architecture is the blueprint for a software system s construction

More information

Capacity Planning for Application Design

Capacity Planning for Application Design WHITE PAPER Capacity Planning for Application Design By Mifan Careem Director - Solutions Architecture, WSO2 1. Introduction The ability to determine or forecast the capacity of a system or set of components,

More information

Software Reuse and Component-Based Software Engineering

Software Reuse and Component-Based Software Engineering Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering

More information

Requirements to models: goals and methods

Requirements to models: goals and methods Requirements to models: goals and methods Considering Garlan (2000), Kruchen (1996), Gruunbacher et al (2005) and Alter (2006-08) CIS Department Professor Duane Truex III Wojtek Kozaczynski The domain

More information

Foundations of Software Engineering

Foundations of Software Engineering Foundations of Software Engineering Lecture 9: Architecture Documentation, Patterns, and Tactics Christian Kaestner 1 Learning Goals Use notation and views to describe the architecture suitable to the

More information

Software Architecture

Software Architecture Software Architecture Mestrado em Engenharia Informática e de Computadores COMPANION TO THE FIRST EXAM ON JANUARY 8TH, 2016 VERSION: A (You do not need to turn in this set of pages with your exam) 1. Consider

More information

An Industry Definition of Business Architecture

An Industry Definition of Business Architecture Architecture: State of the Art / State of the Practice ---------------------------- William M. Ulrich Tactical Strategy Group, Inc. www.systemtransformation.com An Industry Definition of Architecture A

More information

OPTIMIZATION MAXIMIZING TELECOM AND NETWORK. The current state of enterprise optimization, best practices and considerations for improvement

OPTIMIZATION MAXIMIZING TELECOM AND NETWORK. The current state of enterprise optimization, best practices and considerations for improvement MAXIMIZING TELECOM AND NETWORK OPTIMIZATION The current state of enterprise optimization, best practices and considerations for improvement AOTMP.com The Next Evolution of Telecom Management OVERVIEW As

More information

Architectural design of MDX compiler via attribute-driven design *

Architectural design of MDX compiler via attribute-driven design * Jul. 2009, Volume 6, No.7 (Serial No.56) Journal of Communication and Computer, ISSN 1548-7709, USA Architectural design of MDX compiler via attribute-driven design * ZHANG Ping-jian, XI Jian-qing, ZHAO

More information

Designing Software Architecture to Achieve Business Goals

Designing Software Architecture to Achieve Business Goals Designing Software Architecture to Achieve Business Goals Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 2009 Carnegie Mellon University Sponsored by the U.S. Department

More information

SOFTWARE ARCHITECTURES UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS

SOFTWARE ARCHITECTURES UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS IT6602 SOFTWARE ARCHITECTURES UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS SYLLABUS: Introduction What is software architecture? Standard Definitions Architectural structures Influence of software architecture

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

An Architect s Point of View. TSP Symposium Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213

An Architect s Point of View. TSP Symposium Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 An Architect s Point of View on TSP TSP Symposium 2011 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Felix Bachmann 09/2011 An Architect s Point of View on TSP 2 The Good

More information

Patterns of Software Architecture

Patterns of Software Architecture Patterns of Software Architecture Software Engineering Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, and their students Software Architecture A software system

More information

Episode 3. Principles in Network Design

Episode 3. Principles in Network Design Episode 3. Principles in Network Design Part 2 Baochun Li Department of Electrical and Computer Engineering University of Toronto Recall: Designing the network as a system Last episode: Every complex computer

More information

Requirement Analysis

Requirement Analysis Requirement Analysis Requirements Analysis & Specification Objective: determine what the system must do to solve the problem (without describing how) Done by Analyst (also called Requirements Analyst)

More information

Balancing Dependability Quality Attributes Relationships for Increased Embedded Systems Dependability

Balancing Dependability Quality Attributes Relationships for Increased Embedded Systems Dependability Master Thesis Software Engineering Thesis no: MSE-2009:17 September 2009 Balancing Dependability Quality Attributes Relationships for Increased Embedded Systems Dependability Saleh Al-Daajeh Supervisor:

More information

Quality Attribute Design Primitives and the Attribute Driven Design Method 1

Quality Attribute Design Primitives and the Attribute Driven Design Method 1 Quality Attribute Design Primitives and the Attribute Driven Design Method 1 Len Bass, Mark Klein, and Felix Bachmann Software Engineering Institute Carnegie Mellon University Pittsburgh, Pa 15213 USA

More information

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis Scenario-Based Analysis Scenario-Based Analysis (example) Provides a more user-oriented view perspective on the design and development of an interactive system. The defining property of a scenario is that

More information

Implementing Reliability: the Interaction of Requirements, Tactics and Architecture Patterns

Implementing Reliability: the Interaction of Requirements, Tactics and Architecture Patterns Implementing Reliability: the Interaction of Requirements, Tactics and Architecture Patterns Neil B. Harrison 1, 2, Paris Avgeriou 1 1 Department of Mathematics and Computing Science, University of Groningen,

More information

Review. Designing Interactive Systems II. Review. Base Window System. Apps UITK BWS GEL. 4-Layer Model Graphics and Event Library BWS GEL

Review. Designing Interactive Systems II. Review. Base Window System. Apps UITK BWS GEL. 4-Layer Model Graphics and Event Library BWS GEL Window Manager Base Window System Graphics & Event Library Hardware more abstract, application-/user- Applications User Interface Toolkit Review Designing Interactive Systems II 4-Layer Model Graphics

More information

Proposed Revisions to ebxml Technical. Architecture Specification v1.04

Proposed Revisions to ebxml Technical. Architecture Specification v1.04 Proposed Revisions to ebxml Technical Architecture Specification v1.04 Business Process Team 11 May 2001 (This document is the non-normative version formatted for printing, July 2001) Copyright UN/CEFACT

More information

Product Quality Engineering. RIT Software Engineering

Product Quality Engineering. RIT Software Engineering Product Quality Engineering Q vs q Quality includes many more attributes than just absence of defects Features Performance Availability Safety Security Reusability Extensibility Modifiability Portability

More information

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examination Architecture of Distributed Systems (2IMN10), on Thursday, November 8, 2018, from 9.00 to 12.00 hours. Before you start,

More information

Database Management Systems

Database Management Systems Database Management Systems Distributed Databases Doug Shook What does it mean to be distributed? Multiple nodes connected by a network Data on the nodes is logically related The nodes do not need to be

More information

Security, Monitoring, and Control of the Re-engineered Hubble Space Telescope Control Center System

Security, Monitoring, and Control of the Re-engineered Hubble Space Telescope Control Center System Security, Monitoring, and Control of the Re-engineered Hubble Space Telescope Control Center System Caleb Principe, NASA Goddard Space Flight Center Larry Barrett, Orbital Sciences Corporation Thomas Buchanan,

More information

Evolutionary Architecture and Design

Evolutionary Architecture and Design Evolutionary Architecture and Design Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,

More information

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions European Component Oriented Architecture (ECOA ) Collaboration Programme: Part 2: Definitions BAE Ref No: IAWG-ECOA-TR-012 Dassault Ref No: DGT 144487-D Issue: 4 Prepared by BAE Systems (Operations) Limited

More information

Natural Language Specification

Natural Language Specification REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr Natural Language Specification Most Requirements are Described in Natural Language Free Text (Prose) In Word In Excel (Tabular) In RM-Tools In Sys-ML

More information

Software Quality. Richard Harris

Software Quality. Richard Harris Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software

More information

Using Virtualization to Reduce Cost and Improve Manageability of J2EE Application Servers

Using Virtualization to Reduce Cost and Improve Manageability of J2EE Application Servers WHITEPAPER JANUARY 2006 Using Virtualization to Reduce Cost and Improve Manageability of J2EE Application Servers J2EE represents the state of the art for developing component-based multi-tier enterprise

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

Proposed Revisions to ebxml Technical Architecture Specification v ebxml Business Process Project Team

Proposed Revisions to ebxml Technical Architecture Specification v ebxml Business Process Project Team 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Proposed Revisions to ebxml Technical Architecture Specification v1.0.4 ebxml Business Process Project Team 11

More information

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Give your application the ability to register callbacks with the kernel. by Frédéric Rossi In a previous article [ An Event Mechanism

More information

Database Design. IIO30100 Tietokantojen suunnittelu. Michal Zabovsky. Presentation overview

Database Design. IIO30100 Tietokantojen suunnittelu. Michal Zabovsky. Presentation overview Database Design IIO30100 Tietokantojen suunnittelu Michal Zabovsky Department of Informatics Faculty of Management Science and Informatics University of Zilina Slovak Republic Presentation overview Software

More information

Modelling Variation in Quality Attributes

Modelling Variation in Quality Attributes Modelling Variation in Quality Attributes Leire Etxeberria, Goiuria Sagardui, Lorea Belategi Faculty of Engineering University of Mondragon Limerick 16.01.2007 Research group &3 ;078 9 4143/7, 43 Research

More information

High Availability and Disaster Recovery Solutions for Perforce

High Availability and Disaster Recovery Solutions for Perforce High Availability and Disaster Recovery Solutions for Perforce This paper provides strategies for achieving high Perforce server availability and minimizing data loss in the event of a disaster. Perforce

More information

Resilience Design Patterns: A Structured Approach to Resilience at Extreme Scale

Resilience Design Patterns: A Structured Approach to Resilience at Extreme Scale Resilience Design Patterns: A Structured Approach to Resilience at Extreme Scale Saurabh Hukerikar Christian Engelmann Computer Science Research Group Computer Science & Mathematics Division Oak Ridge

More information

Rocksteady: Fast Migration for Low-Latency In-memory Storage. Chinmay Kulkarni, Aniraj Kesavan, Tian Zhang, Robert Ricci, Ryan Stutsman

Rocksteady: Fast Migration for Low-Latency In-memory Storage. Chinmay Kulkarni, Aniraj Kesavan, Tian Zhang, Robert Ricci, Ryan Stutsman Rocksteady: Fast Migration for Low-Latency In-memory Storage Chinmay Kulkarni, niraj Kesavan, Tian Zhang, Robert Ricci, Ryan Stutsman 1 Introduction Distributed low-latency in-memory key-value stores are

More information

Software Architecture. Lecture 5

Software Architecture. Lecture 5 Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics

More information

Panel: Research on Complex Enterprise Systems of Systems. Complex Adaptive Systems Conference 14-NOV-2013

Panel: Research on Complex Enterprise Systems of Systems. Complex Adaptive Systems Conference 14-NOV-2013 Panel: Research on Complex Enterprise Systems of Systems Complex Adaptive Systems Conference 14-NOV-2013 Dan DeLaurentis School of Aeronautics & Astronautics and Center for Integrated Systems in Aerospace

More information

Segregating Data Within Databases for Performance Prepared by Bill Hulsizer

Segregating Data Within Databases for Performance Prepared by Bill Hulsizer Segregating Data Within Databases for Performance Prepared by Bill Hulsizer When designing databases, segregating data within tables is usually important and sometimes very important. The higher the volume

More information

System of Systems Architecture Generation and Evaluation using Evolutionary Algorithms

System of Systems Architecture Generation and Evaluation using Evolutionary Algorithms SysCon 2008 IEEE International Systems Conference Montreal, Canada, April 7 10, 2008 System of Systems Architecture Generation and Evaluation using Evolutionary Algorithms Joseph J. Simpson 1, Dr. Cihan

More information

WHITE PAPER Application Performance Management. The Case for Adaptive Instrumentation in J2EE Environments

WHITE PAPER Application Performance Management. The Case for Adaptive Instrumentation in J2EE Environments WHITE PAPER Application Performance Management The Case for Adaptive Instrumentation in J2EE Environments Why Adaptive Instrumentation?... 3 Discovering Performance Problems... 3 The adaptive approach...

More information

Data Models: The Center of the Business Information Systems Universe

Data Models: The Center of the Business Information Systems Universe Data s: The Center of the Business Information Systems Universe Whitemarsh Information Systems Corporation 2008 Althea Lane Bowie, Maryland 20716 Tele: 301-249-1142 Email: Whitemarsh@wiscorp.com Web: www.wiscorp.com

More information

Update on AADL Requirements Annex

Update on AADL Requirements Annex Open-PEOPLE Open Power and Energy Optimization PLatform and Estimator Update on AADL Requirements Annex Dominique BLOUIN* *Lab-STICC, Université de Bretagne Sud, Lorient, FRANCE AADL Standards Meeting,

More information

DoD Strategy for Cyber Resilient Weapon Systems

DoD Strategy for Cyber Resilient Weapon Systems DoD Strategy for Cyber Resilient Weapon Systems Melinda K. Reed Office of the Deputy Assistant Secretary of Defense for Systems Engineering NDIA Systems Engineering Conference October 2016 10/24/2016 Page-1

More information

FHA Federal Health Information Model (FHIM) Information Modeling Process Guide

FHA Federal Health Information Model (FHIM) Information Modeling Process Guide Office of the National Coordinator for Health IT Federal Health Architecture Program Management Office FHA Federal Health Information Model (FHIM) Information Modeling Process Guide Version 0.1 Draft,

More information

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach. Slide 14.1 CHAPTER 14 Slide 14.2 Object-Oriented and Classical Software Engineering DESIGN Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 14.3 Overview (contd) Slide 14.4 and abstraction

More information

Resource Containers. A new facility for resource management in server systems. Presented by Uday Ananth. G. Banga, P. Druschel, J. C.

Resource Containers. A new facility for resource management in server systems. Presented by Uday Ananth. G. Banga, P. Druschel, J. C. Resource Containers A new facility for resource management in server systems G. Banga, P. Druschel, J. C. Mogul OSDI 1999 Presented by Uday Ananth Lessons in history.. Web servers have become predominantly

More information

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Requirements. Requirements. Types of Requirement. What Is a Requirement? Beatrice Åkerblom beatrice@dsv.su.se Everything else in software development depends on the requirements. If you cannot get stable requirements you cannot get a predictable plan... What Is a Requirement?!

More information

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving

More information

BusinessObjects XI Release 2

BusinessObjects XI Release 2 Overview Contents The purpose of this document is to outline recommended steps to back up and recover data for key BusinessObjects XI Release 2 system components. These procedures are used to mitigate

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

Requirements Validation and Negotiation

Requirements Validation and Negotiation REQUIREMENTS ENGINEERING LECTURE 2017/2018 Joerg Doerr Requirements Validation and Negotiation AGENDA Fundamentals of Requirements Validation Fundamentals of Requirements Negotiation Quality Aspects of

More information

Tool Support for Tradespace Exploration and Analysis

Tool Support for Tradespace Exploration and Analysis Tool Support for Tradespace Exploration and Analysis JAKUB J. MOSKAL, MITCH M. KOKAR PAUL R. WORK, THOMAS E. WOOD OCTOBER 29, 2014 Background and Motivation SBIR Phase I: OSD12-ER2 MOCOP : Functional Allocation

More information

Introduction to Interactive Systems. Overview. What Is an Interactive System? SMD158 Interactive Systems Spring 2005

Introduction to Interactive Systems. Overview. What Is an Interactive System? SMD158 Interactive Systems Spring 2005 INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Introduction to Interactive Systems SMD158 Interactive Systems Spring 2005 Jan-14-05 1997-2005 by David A. Carr 1 L Overview What is an interactive

More information

Enabling Performance & Stress Test throughout the Application Lifecycle

Enabling Performance & Stress Test throughout the Application Lifecycle Enabling Performance & Stress Test throughout the Application Lifecycle March 2010 Poor application performance costs companies millions of dollars and their reputation every year. The simple challenge

More information

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. The handle  holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/32210 holds various files of this Leiden University dissertation. Author: Osman, Mohd Hafeez Bin Title: Interactive scalable condensation of reverse engineered

More information

Enterprise Architect. User Guide Series. SysML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. SysML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series SysML Models Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents Systems Engineering 3 Systems Modeling Language (SysML) 8 SysML Activity

More information

System Models. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

System Models. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University System Models Minsoo Ryu Hanyang University 1. Context Models 2. Structural Model 3. Behavioural Models 4. Object Models Contents 2 2 Building a System Model User requirements should be written in natural

More information

ATOMIC COMMITMENT Or: How to Implement Distributed Transactions in Sharded Databases

ATOMIC COMMITMENT Or: How to Implement Distributed Transactions in Sharded Databases ATOMIC COMMITMENT Or: How to Implement Distributed Transactions in Sharded Databases We talked about transactions and how to implement them in a single-node database. We ll now start looking into how to

More information

Using a Goal-Driven Approach to Structure User Story Sets

Using a Goal-Driven Approach to Structure User Story Sets Using a Goal-Driven Approach to Structure User Story Sets UU/SIKS Symposium on Natural Language in Requirements Engineering Yves Wautelet KU Leuven Background: User Stories as Artefacts for Requirements

More information

Performance and Optimization Issues in Multicore Computing

Performance and Optimization Issues in Multicore Computing Performance and Optimization Issues in Multicore Computing Minsoo Ryu Department of Computer Science and Engineering 2 Multicore Computing Challenges It is not easy to develop an efficient multicore program

More information

Elements of Requirements Style

Elements of Requirements Style Elements of Requirements Style Sponsored by: Karl Wiegers Principal Consultant, Process Impact www.processimpact.com Sponsor: Seilevel Published in 2012: Visual Models for Software Requirements Karl and

More information

SLIDE 1 - COPYRIGHT 2015 ELEPHANT FLOWS IN THE ROOM: SCIENCEDMZ NATIONALLY DISTRIBUTED

SLIDE 1 - COPYRIGHT 2015 ELEPHANT FLOWS IN THE ROOM: SCIENCEDMZ NATIONALLY DISTRIBUTED SLIDE 1 - COPYRIGHT 2015 ELEPHANT FLOWS IN THE ROOM: SCIENCEDMZ NATIONALLY DISTRIBUTED SLIDE 2 - COPYRIGHT 2015 Do you know what your campus network is actually capable of? (i.e. have you addressed your

More information

Software Architecture: A quick journey

Software Architecture: A quick journey Software Architecture: A quick journey Session 6 Course ICT Entrepreneurship Prof. dr. Sjaak Brinkkemper Dr. Slinger Jansen Motivation Software systems are rapidly and continously growing in size and complexity

More information

Quality Attributes. Mikael Svahnberg 1. April 6, School of Computing Blekinge Institute of Technology. 1/28.

Quality Attributes. Mikael Svahnberg 1. April 6, School of Computing Blekinge Institute of Technology.   1/28. 1/28 Quality Attributes Mikael Svahnberg 1 1 Mikael.Svahnberg?bth.se School of Computing Blekinge Institute of Technology April 6, 2017 2/28 Quality What is quality? 3/28 Requirement vs Attribute A quality

More information

Modeling Issues Modeling Enterprises. Modeling

Modeling Issues Modeling Enterprises. Modeling Modeling Issues Modeling Enterprises SE502: Software Requirements Engineering Modeling Modeling can guide elicitation: It can help you figure out what questions to ask It can help to surface hidden requirements

More information

WHITE PAPER: ENTERPRISE AVAILABILITY. Introduction to Adaptive Instrumentation with Symantec Indepth for J2EE Application Performance Management

WHITE PAPER: ENTERPRISE AVAILABILITY. Introduction to Adaptive Instrumentation with Symantec Indepth for J2EE Application Performance Management WHITE PAPER: ENTERPRISE AVAILABILITY Introduction to Adaptive Instrumentation with Symantec Indepth for J2EE Application Performance Management White Paper: Enterprise Availability Introduction to Adaptive

More information

WHAT IS SOFTWARE ARCHITECTURE?

WHAT IS SOFTWARE ARCHITECTURE? WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole Disk Technology & Secondary Storage Management Disk Geometry Disk head, surfaces, tracks, sectors Example Disk Characteristics Disk Surface Geometry

More information

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S. 10 Steps to Building an Architecture for Space Surveillance Projects Eric A. Barnhart, M.S. Eric.Barnhart@harris.com Howard D. Gans, Ph.D. Howard.Gans@harris.com Harris Corporation, Space and Intelligence

More information

Software Architecture

Software Architecture Software Systems Architecture, Models, Methodologies & Design - Introduction Based on slides and information from a variety of sources Including Booch Software Architecture High level design of large software

More information

Important Lessons. Today's Lecture. Two Views of Distributed Systems

Important Lessons. Today's Lecture. Two Views of Distributed Systems Important Lessons Replication good for performance/ reliability Key challenge keeping replicas up-to-date Wide range of consistency models Will see more next lecture Range of correctness properties L-10

More information

Distributed Systems. Fault Tolerance. Paul Krzyzanowski

Distributed Systems. Fault Tolerance. Paul Krzyzanowski Distributed Systems Fault Tolerance Paul Krzyzanowski Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License. Faults Deviation from expected

More information

CSE380 - Operating Systems

CSE380 - Operating Systems CSE380 - Operating Systems Notes for Lecture 17-11/10/05 Matt Blaze, Micah Sherr (some examples by Insup Lee) Implementing File Systems We ve looked at the user view of file systems names, directory structure,

More information

1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials

1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials 1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials Number: 1Z0-560 Passing Score: 650 Time Limit: 120 min File Version: 1.0 http://www.gratisexam.com/ 1Z0-560: Oracle Unified Business

More information

DATA ITEM DESCRIPTION

DATA ITEM DESCRIPTION DATA ITEM DESCRIPTION Title: RELIABILITY AND MAINTAINABILITY (R&M) BLOCK DIAGRAMS AND MATHEMATICAL MODELS REPORT Number: DI-SESS-81496A Approval Date: 20141219 AMSC Number: 9508 Limitation: No DTIC Applicable:

More information

CS5460: Operating Systems Lecture 20: File System Reliability

CS5460: Operating Systems Lecture 20: File System Reliability CS5460: Operating Systems Lecture 20: File System Reliability File System Optimizations Modern Historic Technique Disk buffer cache Aggregated disk I/O Prefetching Disk head scheduling Disk interleaving

More information

Oracle Rdb Hot Standby Performance Test Results

Oracle Rdb Hot Standby Performance Test Results Oracle Rdb Hot Performance Test Results Bill Gettys (bill.gettys@oracle.com), Principal Engineer, Oracle Corporation August 15, 1999 Introduction With the release of Rdb version 7.0, Oracle offered a powerful

More information

Designing and debugging real-time distributed systems

Designing and debugging real-time distributed systems Designing and debugging real-time distributed systems By Geoff Revill, RTI This article identifies the issues of real-time distributed system development and discusses how development platforms and tools

More information

IT Audit Process Prof. Liang Yao Week Six IT Audit Planning

IT Audit Process Prof. Liang Yao Week Six IT Audit Planning Week Six IT Audit Planning IT Audit Planning Process Institute of Internal Audit Standards - Section 2010: Planning The chief audit executive must establish a risk-based plan to determine the priorities

More information

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme SER2540BU vsphere HA: Leverage Its Full Potential Roman Konarev Aalap Desai #VMworld #SER2540BU Disclaimer This presentation may contain product features that are currently under development. This overview

More information

STANDARD (PAY AS YOU GO) PRE-PAID SUPPORT PACKAGE SERVICE LEVEL AGREEMENT

STANDARD (PAY AS YOU GO) PRE-PAID SUPPORT PACKAGE SERVICE LEVEL AGREEMENT Standard Service Level Agreement STANDARD (PAY AS YOU GO) & PRE-PAID SUPPORT PACKAGE SERVICE LEVEL AGREEMENT Prepared and effective as of Monday, 5th September 2016 By Daniel Herr Director of Tech Help

More information

Chapter 4 Objectives

Chapter 4 Objectives Chapter 4 Objectives Eliciting requirements from the customers Modeling requirements Reviewing requirements to ensure their quality Documenting requirements for use by the design and test teams 4.1 The

More information