Eduardo Santana de Almeida Aspects of scale and granularity.

Slides:



Advertisements
Similar presentations
Introduction to .NET Framework
Advertisements

Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Using MapuSoft Instead of OS Vendor’s Simulators.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
COM vs. CORBA.
Chapter 13 Review Questions
The Multikernel: A new OS architecture for scalable multicore systems Andrew Baumann et al CS530 Graduate Operating System Presented by.
Object Oriented Paradigm An evolutionary path. Programming At Its Infancy A program is a single block of procedural code Disadvantages: Reusability is.
Technical Architectures
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
CS533 Concepts of Operating Systems Class 14 Virtualization.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
- 1 - Component Based Development R&D SDM Theo Schouten.
J2EE vs..NET Tom Tong. Enterprise Application 1 distributed 2 multiple-platform 3 critical 4 performance 5 security 6 multiple-data sources.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Course Instructor: Aisha Azeem
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Component-Based Development Silvio Romero de Lemos Meira Eduardo Santana de Almeida
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
An Introduction to Software Architecture
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Unified Modeling Language, Version 2.0
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Chapter 2 Operating System Overview
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Architectural Design Identifying system components and their interfaces.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
Shuman Guo CSc 8320 Advanced Operating Systems
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
.NET Ying Chen Junwei Chen. What is Microsoft.NET. NET is a development platform Incorporated into.NET COM+ component services ASP web development framework.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
CHAPTER 3 MODELING COMPONENT-LEVEL DESIGN.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Lecture 21: Component-Based Software Engineering
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
John R Durrett1 Client/Server Computing Byte April 1995 & The Martian C/S book.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Computer System Structures
Business System Development
Oracle Solaris Zones Study Purpose Only
CMPE419 Mobile Application Development
CS 425/625 Software Engineering Architectural Design
Object-Oriented Design
An Introduction to Software Architecture
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Quality Assurance for Component-Based Software Development
CMPE419 Mobile Application Development
FRAMEWORKS AND REUSE What is “Framework”?
Design.
Presentation transcript:

Eduardo Santana de Almeida Aspects of scale and granularity

“It is difficult to reduce these obervations to a rule of thumb as to what granulatiry is right. Instead, it is probably best to use the discussed aspects to perform a detailed analysis for specific cases”. Clemens Szyperski, pp. 150, section 8.6

Units of abstraction Benefit expertise for reuse Framework Black-box (unit of abstraction) …classes, components component {unit of deployment} conventional framework nested frameworks cyclic dependency pre-condition

Units of accounting Costs individual blocks the granularity problem COTS, reenginering, development…

Units of analysis Divide et impera Modular x Global analysis modular global {component version check} classes, methods…. “The unit of analysis can never be bigger than the unit of deployment; thus a component is the largest possible unit of (complete) analysis”. Clemens Szyperski, pp.142, section 8.3

Units of compilation Full interpretation, mixed compilation and interpretation, just-in- time compilation, ….. Units components {the limit} modules {component version check} classes

Units of delivery Components and applications contracts, documentation….($)

Units of deployment Deployment is the process of readying a unit for operation in a particular environment deployment x installation context/container-based platforms {beans} deployment descriptor

Units of dispute Component-based systems: Fails have occurred…Who are the responsible? fail propagation exceptions contracts

Units of fault containment Distributed systems networks, machines Fault tolerance redundancy physical temporal {transaction monitor}

Units of installation Installation is a platform-specific activity that makes an installed unit available for use on a particular hardware configuration supported by that platform pp. 147, section 8.11 Installation (hardware) x Deployment (platform)

Units of loading Local x network component load Problems versions {class, interface, method} recovery name collisions name schemes, globally unique identifiers (GUIDs) Observable state COM, CLR {side-by-side installation and loading} problem

The problem – transitive dependencies B depends on version 1 of component A C depends on version 2 of component A B and C expose definitions from A in their signature D needs to use B and C – 1 and 2 versions

Units of locality Distributed computing tradeoff minimize communication cost x distribution to maximize resource utilization cross process – in process – lans distributed components caching Units of maintenance and management problems tradeoffs

Eduardo Santana de Almeida Patterns, frameworks, architecture

Forms of design- level reuse Sharing: consistency: programming and scripting languages concrete solution fragments: libraries contracts: interfaces individual interaction fragments: messages and protocols interaction architectures: patterns subsystem architecture: frameworks overall structure: system architectures

Programming languages Difficulty x Flexibility Features static type systems, polymorphism functions exceptions classes, inheritance memory management concurrency …..

Libraries Reuse APIs

Interfaces Messages and protocols Patterns – Design patterns x frameworks Frameworks – black-box, white-box – top down, bottom up, pattern driven, target driven

System architecture Strict layer approach Operating system Hardware Device driv. OS Kernel Libraries Applications Downsides: Extensibility Performance

System architecture Non-Strict layer approach

Interoperability, legacy and reengineering Legacy systems the problems cbd architecture benefits {refactoring} Interoperability OO Legacy sistems FAMOOS

Eduardo Santana de Almeida Aspects of scale and granularity