SlideShare a Scribd company logo
1 of 15
Download to read offline
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

More Related Content

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

Dissertation defense
Dissertation defenseDissertation defense
Dissertation defensemarek_pomocka
 
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
 
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...Shinya Takamaeda-Y
 
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...David Beazley (Dabeaz LLC)
 
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 Modelsracesworkshop
 
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)PROIDEA
 
DevOpSec_DockerNPodMan-20230220.pdf
DevOpSec_DockerNPodMan-20230220.pdfDevOpSec_DockerNPodMan-20230220.pdf
DevOpSec_DockerNPodMan-20230220.pdfkanedafromparis
 
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 FreeBSDjkoshy
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programmingmukhtarhudaya
 
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 CambridgeKTN
 
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 databasesESUG
 
Object-Oriented Application Frameworks
Object-Oriented Application FrameworksObject-Oriented Application Frameworks
Object-Oriented Application Frameworkskim.mens
 
Kasser synergy amateur radio
Kasser synergy   amateur radioKasser synergy   amateur radio
Kasser synergy amateur radioJoseph KAsser
 
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.pptxDrYogeshDeshmukh1
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineeringSaswat Padhi
 
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.pdfObject Automation
 
Uncharted3 effect technique
Uncharted3 effect techniqueUncharted3 effect technique
Uncharted3 effect techniqueMinGeun 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 2012kennethaliu
 
colorado4.pdf
colorado4.pdfcolorado4.pdf
colorado4.pdfbereketg4
 

Similar to 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
 

More from Premek Brada

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 DiagramPremek Brada
 
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)Premek Brada
 
Presentation -rmc-to-rtc
Presentation -rmc-to-rtcPresentation -rmc-to-rtc
Presentation -rmc-to-rtcPremek Brada
 
Brada -semantic-versioning-tool
Brada -semantic-versioning-toolBrada -semantic-versioning-tool
Brada -semantic-versioning-toolPremek Brada
 
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á APIPremek Brada
 
CRCE Architecture Overview
CRCE Architecture OverviewCRCE Architecture Overview
CRCE Architecture OverviewPremek Brada
 
Safe Bundle Updates
Safe Bundle UpdatesSafe Bundle Updates
Safe Bundle UpdatesPremek Brada
 

More from 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
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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 WorkerThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

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