1 / 23

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

Aspects of scale and granularity. Eduardo Santana de Almeida www.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

klaus
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aspects of scale and granularity Eduardo Santana de Almeida www.cin.ufpe.br/~esa2 esa2@cin.ufpe.br

  2. “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

  3. 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

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

  5. Units of analysis • Divide et impera • Modular x Global analysis • modular • global {component version check} • classes, methods…. “Theunit of analysiscanneverbebigger than the unit of deployment;thus acomponent is the largest possible unit of (complete) analysis”. Clemens Szyperski, pp.142, section 8.3

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

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

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

  9. Units of dispute • Component-based systems: • Failshave occurred…Who are the responsible? • fail propagation • exceptions • contracts

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

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

  12. 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

  13. The problem – transitive dependencies Bdepends on version 1 of component A Cdepends on version 2 of component A B and Cexpose definitions from A in their signature Dneeds to use B and C – 1and 2 versions

  14. 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

  15. Patterns, frameworks, architecture Eduardo Santana de Almeida www.cin.ufpe.br/~esa2 esa2@cin.ufpe.br

  16. 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

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

  18. Libraries • Reuse • APIs

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

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

  21. System architecture Non-Strict layer approach

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

  23. Aspects of scale and granularity Eduardo Santana de Almeida www.cin.ufpe.br/~esa2 esa2@cin.ufpe.br

More Related