23
duardo Santana de Almeida ww.cin.ufpe.br/~esa2 [email protected] Aspects of scale and granularity

Eduardo Santana de Almeida cin.ufpe.br/~esa2 [email protected]

  • Upload
    klaus

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Aspects of scale and granularity. Eduardo Santana de Almeida www.cin.ufpe.br/~esa2 [email protected]. “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 - PowerPoint PPT Presentation

Citation preview

Page 1: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Eduardo Santana de Almeidawww.cin.ufpe.br/[email protected]

Aspects of scale and

granularity

Page 2: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

“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

Page 3: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

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

Page 4: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Units of accounting

Costs• individual blocks• the granularity problem• COTS, reenginering, development…

Page 5: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Units of analysis

Divide et imperaModular 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

Page 6: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Units of compilation

Full interpretation, mixed compilation and interpretation, just-in-time compilation, …..Units

• components {the limit}• modules {component version check}• classes

Page 7: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Units of delivery

Components and applications• contracts, documentation….($)

Page 8: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

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

Page 9: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Units of dispute

Component-based systems:• Fails have occurred…Who are the responsible?• fail propagation• exceptions

• contracts

Page 10: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Units of fault containment

Distributed systems• networks, machines• Fault tolerance

• redundancy • physical• temporal {transaction monitor}

Page 11: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

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)

Page 12: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

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

Page 13: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

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

Page 14: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

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

Page 15: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Eduardo Santana de Almeidawww.cin.ufpe.br/[email protected]

Patterns, frameworks,

architecture

Page 16: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

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

Page 17: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Programming languages

Difficulty x FlexibilityFeatures

• static type systems, polymorphism• functions• exceptions• classes, inheritance• memory management• concurrency• …..

Page 18: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Libraries

ReuseAPIs

Page 19: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

• Interfaces• Messages and protocols• Patterns

– Design patterns x frameworks

• Frameworks– black-box, white-box– top down, bottom up, pattern driven, target driven

Page 20: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

System architecture

Strict layer approach• Operating system

Hardware

Device driv.

OS Kernel

Libraries

ApplicationsDownsides:

• Extensibility• Performance

Page 21: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

System architecture

Non-Strict layer approach

Page 22: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Interoperability, legacy and reengineering

Legacy systems• the problems• cbd architecture benefits {refactoring}

InteroperabilityOO Legacy sistems

• FAMOOS

Page 23: Eduardo Santana de Almeida cin.ufpe.br/~esa2 esa2@cin.ufpe.br

Eduardo Santana de Almeidawww.cin.ufpe.br/[email protected]

Aspects of scale and

granularity