SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
A Look at Current Component
  Models from the Black-box
          Perspective

On the need for well-specified black-box components

                   Premek Brada
       University of West Bohemia, Pilsen, Czech Republic

         Euromicro SCBSE, August 2009. Patras, Greece
Agenda
•    Defining component
•    Defining and defending black box
•    Case studies
•    Lessons learned




Euromicro 28.8.2009 Patras   P.Brada: Black-box perspective   2
What is component, anyway
• Levels of understanding
• Szyperski’s tiers: “business” and source level
  (buy instead of make)  design fragment
  reuse (~ADLs)  user-driven composition
  (deployment)  dynamic integration (~SOA)
• Bachmann et al: “architectural component” is
  architectural abstraction with standardized
  properties and composition possibilities
      – not an functionality implementing blob
        with ad-hoc integration means
Euromicro 28.8.2009 Patras   P.Brada: Black-box perspective   3
What is component, anyway




                                                              Szyperski’s book 2nd edition,
                                                                         preface

Euromicro 28.8.2009 Patras   P.Brada: Black-box perspective                                   4
The inflation of definitions
• Szyperski 1997 (2002): three own defs
• About 17 other defs around (1987-2007)




Euromicro 28.8.2009 Patras   P.Brada: Black-box perspective   5
What is component, anyway
• We talk about deployable architectural
  components here          Together prevent property leaks
• 7+ defs, shared view:   and implementation dependencies

      – black-box (opaque) software element
      – with well-specified surface (aka interface)
             • completeness, includes dependencies; client readable
      – 3rd party composable and deployable
      – model conformant              Sometimes omitted

             • type, interaction and composition rules
Euromicro 28.8.2009 Patras    P.Brada: Black-box perspective          6
What is black box, then?
                                                              David Parnas:
                                                              On the Criteria
                                                                … (1972)




“Blackbox reuse refers to the concept of                        Szyperski
                                                                 (2000)
reusing implementations without relying
on anything but their interfaces and
specifications. (…)
”In contrast, whitebox reuse refers to using a software
fragment, through its interfaces, while relying on the
understanding gained from studying the implementation.
Euromicro 28.8.2009 Patras   P.Brada: Black-box perspective                 7
Why black-box matters
• Software Engineering core concept:
   modules ->
   interfaces ->
   components: information hiding enforced
      on both sides of the surface (provide, require)
• Goals and consequences
      –    prevent property leaks               Why good specification
                                                  [of the black box]
      –    manage dependencies, composition             matters
      –    localize change effects
      –    make software comprehensible, analyzable
Euromicro 28.8.2009 Patras   P.Brada: Black-box perspective        8
When it does not…
… other essential properties not achievable
• Compositionality
      – cannot be deployed really anywhere, due to the
        internal (non-specified) dependencies
      – compound properties not deducable from
        composition of internal (non-specified) properties
• Model conformance
      – implementation can bypass interaction standards

Euromicro 28.8.2009 Patras       P.Brada: Black-box perspective   9
Aren’t we talking about the obvious?


• Counterexamples
      – JavaBeans – allow source-level composition
             • white-box reuse
      – OSGi, EJB – not well specified black boxes
             • discussion follows




Euromicro 28.8.2009 Patras    P.Brada: Black-box perspective   10
How do we assess opacity
                                                               Does this component
1. Completeness of specification                              model support black-box
                                                                    reuse well?
      – Explicit required role
2. Specification-implementation consistency
3. Enforcement of black box
      – or “of information hiding”

4. Ease of feature reconstruction
5. Richness of contract types

Euromicro 28.8.2009 Patras   P.Brada: Black-box perspective                       11
Case study 1: OSGi
• Explicit required role
• In-completeness of specification
      – core: don’t declare services
      – std services: almost complete, not universal
• Weak specification-implementation consistency
      – core: package resolving only
• Moderate enforcement of black box
      – bind to declared packages and registered services only
      – class leaks from packages deprecated but easy
Euromicro 28.8.2009 Patras       P.Brada: Black-box perspective   12
Case study 2: EJB
• Explicit required role
• Moderate completeness of specification
      – events for MDB, attributes for BMP
      – issue with annotation style declarations in EJB 3
• Mixed specification-implementation
  consistency
      – extremely poor for EJB 2.1
      – good for annotation style EJB 3
• Enforcement of black box by framework
Euromicro 28.8.2009 Patras       P.Brada: Black-box perspective   13
Why the transgressions?
• Component model design: abstraction level,
  specification means
      – Bachmann: “API can only be silent about
        properties about which it can speak, and
        programming languages are only equipped to
        speak about a narrow range of properties.”
• Implementation compromises / constraints
      – OSGi expert: Export-Service header deprecated
        because the framework does not act on it

Euromicro 28.8.2009 Patras   P.Brada: Black-box perspective   14
Conclusions
• Components are not as black box as we think
• How far on the scale can we go
  (before falling off)?



      call for sufficient abstraction level, completeness
      call for adequate [run-time] enforcement
     Detailed analysis of state of art/practice needed.

Euromicro 28.8.2009 Patras    P.Brada: Black-box perspective   15

Contenu connexe

Similaire à A Look at Current Component Models from the Black-box Perspective

QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
Heiko Joerg Schick
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
mukhtarhudaya
 
Kasser synergy amateur radio
Kasser synergy   amateur radioKasser synergy   amateur radio
Kasser synergy amateur radio
Joseph KAsser
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
Saswat Padhi
 
Uncharted3 effect technique
Uncharted3 effect techniqueUncharted3 effect technique
Uncharted3 effect technique
MinGeun Park
 
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
kennethaliu
 

Similaire à A Look at Current Component Models from the Black-box Perspective (20)

Dissertation defense
Dissertation defenseDissertation defense
Dissertation defense
 
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
 
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
 
Clean sw 3_architecture
Clean sw 3_architectureClean sw 3_architecture
Clean sw 3_architecture
 
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
Why Extension Programmers Should Stop Worrying About Parsing and Start Thinki...
 
Edge Chasing Delayed Consistency: Pushing the Limits of Weak Memory Models
Edge Chasing Delayed Consistency: Pushing the Limits of Weak Memory ModelsEdge Chasing Delayed Consistency: Pushing the Limits of Weak Memory Models
Edge Chasing Delayed Consistency: Pushing the Limits of Weak Memory Models
 
CONFidence 2018: Who and why should fear hardware trojans? (Adam Kostrzewa)
CONFidence 2018: Who and why should fear hardware trojans? (Adam Kostrzewa)CONFidence 2018: Who and why should fear hardware trojans? (Adam Kostrzewa)
CONFidence 2018: Who and why should fear hardware trojans? (Adam Kostrzewa)
 
DevOpSec_DockerNPodMan-20230220.pdf
DevOpSec_DockerNPodMan-20230220.pdfDevOpSec_DockerNPodMan-20230220.pdf
DevOpSec_DockerNPodMan-20230220.pdf
 
PmcTools: Whole-System, Low-Overhead Performance Measurement in FreeBSD
PmcTools: Whole-System, Low-Overhead Performance Measurement in FreeBSDPmcTools: Whole-System, Low-Overhead Performance Measurement in FreeBSD
PmcTools: Whole-System, Low-Overhead Performance Measurement in FreeBSD
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Digital Security by Design: CHERI-RISC-V - Simon Moore, University of Cambridge
Digital Security by Design: CHERI-RISC-V - Simon Moore, University of CambridgeDigital Security by Design: CHERI-RISC-V - Simon Moore, University of Cambridge
Digital Security by Design: CHERI-RISC-V - Simon Moore, University of Cambridge
 
There's no magic... until you talk about databases
 There's no magic... until you talk about databases There's no magic... until you talk about databases
There's no magic... until you talk about databases
 
Object-Oriented Application Frameworks
Object-Oriented Application FrameworksObject-Oriented Application Frameworks
Object-Oriented Application Frameworks
 
Kasser synergy amateur radio
Kasser synergy   amateur radioKasser synergy   amateur radio
Kasser synergy amateur radio
 
Unit No. 1 Introduction to Java.pptx
Unit No. 1 Introduction to Java.pptxUnit No. 1 Introduction to Java.pptx
Unit No. 1 Introduction to Java.pptx
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
AI-INSPIRED IOT CHIPLETS AND 3D HETEROGENEOUS INTEGRATION.pdf
AI-INSPIRED IOT CHIPLETS AND 3D HETEROGENEOUS INTEGRATION.pdfAI-INSPIRED IOT CHIPLETS AND 3D HETEROGENEOUS INTEGRATION.pdf
AI-INSPIRED IOT CHIPLETS AND 3D HETEROGENEOUS INTEGRATION.pdf
 
Uncharted3 effect technique
Uncharted3 effect techniqueUncharted3 effect technique
Uncharted3 effect technique
 
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012
 
colorado4.pdf
colorado4.pdfcolorado4.pdf
colorado4.pdf
 

Plus de Premek Brada (7)

UML-test Application for Automated Validation of Students’ UML Class Diagram
UML-test Application for Automated Validation of Students’ UML Class DiagramUML-test Application for Automated Validation of Students’ UML Class Diagram
UML-test Application for Automated Validation of Students’ UML Class Diagram
 
ReliSA KIV hlavni oblasti vyzkumu (2014-01)
ReliSA KIV hlavni oblasti vyzkumu (2014-01)ReliSA KIV hlavni oblasti vyzkumu (2014-01)
ReliSA KIV hlavni oblasti vyzkumu (2014-01)
 
Presentation -rmc-to-rtc
Presentation -rmc-to-rtcPresentation -rmc-to-rtc
Presentation -rmc-to-rtc
 
Brada -semantic-versioning-tool
Brada -semantic-versioning-toolBrada -semantic-versioning-tool
Brada -semantic-versioning-tool
 
CRCE - přehled datového modelu a vybraná API
CRCE - přehled datového modelu a vybraná APICRCE - přehled datového modelu a vybraná API
CRCE - přehled datového modelu a vybraná API
 
CRCE Architecture Overview
CRCE Architecture OverviewCRCE Architecture Overview
CRCE Architecture Overview
 
Safe Bundle Updates
Safe Bundle UpdatesSafe Bundle Updates
Safe Bundle Updates
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

A Look at Current Component Models from the Black-box Perspective

  • 1. A Look at Current Component Models from the Black-box Perspective On the need for well-specified black-box components Premek Brada University of West Bohemia, Pilsen, Czech Republic Euromicro SCBSE, August 2009. Patras, Greece
  • 2. Agenda • Defining component • Defining and defending black box • Case studies • Lessons learned Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 2
  • 3. What is component, anyway • Levels of understanding • Szyperski’s tiers: “business” and source level (buy instead of make)  design fragment reuse (~ADLs)  user-driven composition (deployment)  dynamic integration (~SOA) • Bachmann et al: “architectural component” is architectural abstraction with standardized properties and composition possibilities – not an functionality implementing blob with ad-hoc integration means Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 3
  • 4. What is component, anyway Szyperski’s book 2nd edition, preface Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 4
  • 5. The inflation of definitions • Szyperski 1997 (2002): three own defs • About 17 other defs around (1987-2007) Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 5
  • 6. What is component, anyway • We talk about deployable architectural components here Together prevent property leaks • 7+ defs, shared view: and implementation dependencies – black-box (opaque) software element – with well-specified surface (aka interface) • completeness, includes dependencies; client readable – 3rd party composable and deployable – model conformant Sometimes omitted • type, interaction and composition rules Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 6
  • 7. What is black box, then? David Parnas: On the Criteria … (1972) “Blackbox reuse refers to the concept of Szyperski (2000) reusing implementations without relying on anything but their interfaces and specifications. (…) ”In contrast, whitebox reuse refers to using a software fragment, through its interfaces, while relying on the understanding gained from studying the implementation. Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 7
  • 8. Why black-box matters • Software Engineering core concept: modules -> interfaces -> components: information hiding enforced on both sides of the surface (provide, require) • Goals and consequences – prevent property leaks Why good specification [of the black box] – manage dependencies, composition matters – localize change effects – make software comprehensible, analyzable Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 8
  • 9. When it does not… … other essential properties not achievable • Compositionality – cannot be deployed really anywhere, due to the internal (non-specified) dependencies – compound properties not deducable from composition of internal (non-specified) properties • Model conformance – implementation can bypass interaction standards Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 9
  • 10. Aren’t we talking about the obvious? • Counterexamples – JavaBeans – allow source-level composition • white-box reuse – OSGi, EJB – not well specified black boxes • discussion follows Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 10
  • 11. How do we assess opacity Does this component 1. Completeness of specification model support black-box reuse well? – Explicit required role 2. Specification-implementation consistency 3. Enforcement of black box – or “of information hiding” 4. Ease of feature reconstruction 5. Richness of contract types Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 11
  • 12. Case study 1: OSGi • Explicit required role • In-completeness of specification – core: don’t declare services – std services: almost complete, not universal • Weak specification-implementation consistency – core: package resolving only • Moderate enforcement of black box – bind to declared packages and registered services only – class leaks from packages deprecated but easy Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 12
  • 13. Case study 2: EJB • Explicit required role • Moderate completeness of specification – events for MDB, attributes for BMP – issue with annotation style declarations in EJB 3 • Mixed specification-implementation consistency – extremely poor for EJB 2.1 – good for annotation style EJB 3 • Enforcement of black box by framework Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 13
  • 14. Why the transgressions? • Component model design: abstraction level, specification means – Bachmann: “API can only be silent about properties about which it can speak, and programming languages are only equipped to speak about a narrow range of properties.” • Implementation compromises / constraints – OSGi expert: Export-Service header deprecated because the framework does not act on it Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 14
  • 15. Conclusions • Components are not as black box as we think • How far on the scale can we go (before falling off)?  call for sufficient abstraction level, completeness  call for adequate [run-time] enforcement Detailed analysis of state of art/practice needed. Euromicro 28.8.2009 Patras P.Brada: Black-box perspective 15