Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  8.2.1 Performance Views  8.2.2 Performance.

Slides:



Advertisements
Similar presentations
A Logical Viewpoint on Architectures
Advertisements

Software Process Models
Analysis Modeling.
Project management Project manager must;
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
An Integrated Approach to Enterprise Architecture LIACS, Martijn Wiering 23 juni ‘04.
OASIS Reference Model for Service Oriented Architecture 1.0
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Use-case Modeling.
Software Testing and Quality Assurance
Requirements Analysis 8. 1 Storyboarding b508.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Human.
Software Engineering General Project Management Software Requirements
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
CAD/CAM Design Process and the role of CAD. Design Process Engineering and manufacturing together form largest single economic activity of western civilization.
© Copyright Eliyahu Brutman Programming Techniques Course.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Roles and Responsibilities Jahangheer Shaik. Service Specification Specification requires development of three inter-related documents CIM, PIM and PSM.
Chapter 9 Architecture Alignment. 9 – Architecture Alignment 9.1 Introduction 9.2 The GRAAL Alignment Framework  System Aspects  The Aggregation.
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Architectural Design.
Chapter 6: The Traditional Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
Introduction To System Analysis and design
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 3 Slide 1 Chapter 4 Identifying and Selecting Systems Development.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
An Introduction to Software Architecture
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architecting Web Services Unit – II – PART - III.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Enterprise Architecture Enterprise Architecture = a framework or ‘blueprint’ for how the organization achieves the business objectives at hand and in future.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Chapter 7 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Illustrations and Answers for TDT4252 exam, June
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Performance evaluation on grid Zsolt Németh MTA SZTAKI Computer and Automation Research Institute.
Case studies ABP Meta-Model. Concepts ABP Meta-Model.
Software Design Process
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Chapter 6 Guidelines for Modelling. 1. The Modelling Process 1. Modelling as a Transformation Process 2. Basic Modelling Activities 3. Types of Modelling.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
The Systems Engineering Context
Requirements Document
Presentation transcript:

Chapter 8 Architecture Analysis

8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance Analysis Techniques for Architectures  Quantitative Modelling  Quantitative Analysis Technique 8.3 Functional Analysis  Static Analysis  Dynamic Analysis 8.4 Summary

8 – Architecture Analysis In this chapter we argue that whenever a change in the enterprise architecture is needed, model-based analysis plays a central role. Therefore, we present a number of techniques that help architects and stakeholders to compare alternative designs and, hence, take well- informed design decisions when making trade-offs between aspects like cost, quality, and performance and to be able to study the impact of a change to the design.

8.1 Analysis Techniques We can classify architecture analysis techniques according to different aspects

First, we make a distinction based on the types of analysis inputs and results: functional (e.g., structural and dynamic properties) and quantitative (e.g., performance and costs). Second, for both functional and quantitative analysis, we distinguish two main types of techniques: analytical techniques and simulation.

8.2 Quantitative Analysis As noted earlier, enterprise architecture is concerned with a description of how all the relevant elements that make up an enterprise interrelate. It covers aspects ranging from business processes and products, through software applications, to the technical infrastructure Quantitative analysis can serve several purposes. In the first place it is often used for the optimisation of, for example, processes or systems, by quantifying the effect of alternative design choices.

Models of organisations and systems can be quantified in several ways. Measures of interest may include: Performance measures, i.e., time-related measures such as completion and response times, throughputs, resource utilisations. Reliability measures such as availability and dependability. Cost measures.

8.2.1 Performance Views As explained earlier, the different ways to structure an enterprise architecture model provide different views of the same model. These views are aimed at different stakeholders and their concerns. Each having their own performance measures, explained below:

User/customer view (stakeholders: customer; user of an application or system): The response time is the time between issuing a request and receiving the result Process view (stakeholders: process owner; operational manager): Completion time is the time required to complete one instance of a process (possibly involving multiple customers, orders, products, etc., as opposed to the response time, which is defined as the time to complete one request).

Product view (stakeholders: product manager; operational manager): Processing time is the amount of time that actual work is performed on the realisation of a certain product or result System view (stakeholders: system owner/manager): Throughput is the number of transactions or requests that a system completes per time unit Resource view (stakeholders: resource manager; capacity planner): Utilisation is the percentage of the operational time that a resource is busy.

8.2.2 Performance Analysis Techniques for Architectures Although several software tools exist to model enterprise architectures, hardly any attention has been paid to the analysis of their quantitative aspects. Enterprise architecture covers a broad range of aspects, from the technical infrastructure layer (e.g., computer hardware and networks), through software applications running on top of the infrastructure, to business processes supported by these applications

We also noted earlier that enterprise architecture is specifically concerned with the relations between the layers. Infrastructure Layer : Traditionally, approaches to performance evaluation of computer systems and communication systems have a strong focus on the infrastructure domain. Application Layer : Performance engineering of software applications (see Smith 1990) is a much newer discipline compared to the traditional techniques described above.

Business Layer : Several business process modelling tools provide some support for quantitative analysis through discrete- event simulation. A drawback of simulation is that it requires detailed input data, and for inexperienced users it may be difficult to use and to interpret the results correctly.

8.2.3 Quantitative Modelling In this section we present our approach for the quantitative modelling of service-oriented enterprise architectures expressed in the ArchiMate language. We also introduce an example that shows how quantitative information can be attached to model elements and their relations and that will later also illustrate the application of the algorithms.

Model Structure

We can summarise our findings in terms of the ‘analysis metamodel’ depicted in Fig. 8.3, where : ‘object’ can be a business object, a data object, or an artifact; ‘resource’ can be a business role, a business actor, an application component, a system software component, a node, or a device; ‘internal behaviour’ can be a business process, a business function, an application function, or an infrastructure function; ‘service’ can be an organisational service, an application service, or an infrastructure service.

Approach Analysis across an architecture model is possible through the propagation of quantities through layers. A natural option for this is to consider workload measures (e.g., arrival frequencies) that are imposed as a ‘demand’ on the model elements by the users (located in the higher layers, e.g., customers).

Quantitative Input Data One of the most difficult tasks related to quantitative analysis is to obtain reliable input data. There are several possible sources for this data. For existing systems or organisations, measurement can be one of the most reliable methods, although it is not easy to do this in a correct way: among others, it should be clearly defined what exactly is to be measured, the number of measurements must be sufficient, and the measurements must be taken under various circumstances that can occur in practice.

8.2.4 Quantitative Analysis Technique The goal of our approach is to determine the following performance measures the workload (arrival rate) a λ for each node a (note that, provided that no resources are overloaded, the throughput for each node is equal to its arrival rate); the processing time a T and the response time a R, for each behaviour element or service; the utilisation r U, for each resource r.

To derive the above-mentioned performance measures, given the input values, we proceed in three steps: 1. We will first ‘normalise’ any input model, using model transformations, in order to generate a model that is compliant with the structure presented in Fig Top-down calculation of workloads (arrival rates) λ. 3. Bottom-up computation of performance measures T, U, and R.

8.3 Functional Analysis In functional analysis of architectures, we distinguish between static or structural and dynamic or behavioural aspects. For analysing the static structure of an architecture, its signature forms the basis. For the logical analysis of the dynamics of an architecture, the formal semantics of a symbolic model of that architecture provides a formal basis. A signature of an architecture only specifies the basic concepts with which the architecture is described, but an interpretation contains much more detail.

8.3.1 Static Analysis For structural analysis of architectures, description logics are useful formalisms. Description logics are knowledge representation languages tailored to express knowledge about concepts and concept hierarchies. They are considered an important formalism unifying and giving a logical basis to the well-known traditions of frame-based systems, semantic networks, and KL-ONE-like languages (Woods et al. 1992), object-oriented repreFunctional Analysis 211 sentations, semantic data models, and type systems.

8.3.2 Dynamic Analysis For dynamic analysis of architectures, functional analysis techniques based on formal approaches such as process algebras and data flow networks are useful. Issues like two roles acting at the same time, overwriting or destroying each other’s work, can be identified and then a suitable protocol can be designed to prevent the problem. Thus, a functional behaviour analysis based on formal methods is primarily a qualitative analysis that can detect logical errors, leads to a better consistency, and focuses on the logic of models

8.4 Summary In this chapter we have considered the relation between enterprise architecture models and architecture analysis. We addressed two main classes of methods, quantitative analysis and functional analysis. By applying functional analysis techniques, we aim for a better understanding of how architectures are to be interpreted. These techniques allow enterprise architects to validate the correctness of their architectures, to reduce the possibility of misinterpretations, and to enrich their architecture descriptions with relevant information in a smooth and controllable way.