SlideShare a Scribd company logo
1 of 11
Download to read offline
Premek Brada
Department of Computer Science and Engineering
University of West Bohemia, Pilsen, CZ
                                                 Euromicro 2012, 5.-8.September, Cesme, Turkey
>   Motivation
     Issues, scenarios
>   Overall Approach
>   CRCE Repository
     Architecture, Extensible design
     Meta-data
     Use
>   Conclusion


                                        2
>   Need for consistency preserving updates
>   Scenarios
     Can I update this component, there is a new version?
     Is there a new application configuration for update?
     This app configuration does not work well, is there an
      alternative configuration?
>   Avoid repetitive verification
     Small devices
     Many installations



                                                               3
>   Applications consist of 100s of components
     Dynamically evolving architectures
     Step-wise vs Application subset updates
     Horizontal and vertical compatibility
>   Contract levels => complexity
       Signature
       Semantics (pre/post-conditions)
       Interaction (protocols, simulation)
       Extra-functional

>   Any client device resource constrained

                                                 4
>   Offload consistency verification from client
>   Store verification results for later reuse

    client                                verification
                                                 tools




                           component        meta-data
=> Pre-verified            repositories

   Components
                                                         5
verifier
     client              CRCE
                  <>

                                                           provider
                                                         provider
                                                        provider
>   Managed resources
     components, meta-data, verification results
>   Repository as initiator of verification
     synchronous / asynchronous operation
     have compatibility data ready when asked for



                                                                      6
>   Goal: plug-in
    different
    contract
    verification
    methods

>   OSGi based




                    7
>   2 stages
>   Load
     component
      structure checks
     indexers
     fast verification
>   Storage
     long-running
      verification
     queries


                          8
<resource id="cz.zcu.kiv.Gate/1.2.1">
                               ...
                               <capability name="package">
                                <p n="package" v="cz.zcu.kiv.gate" />
                                <p n="version" t="version" v="1.1.0" />
                                <p n=“replaces" base="1.0.0" v=“true" />
>   Capability/Requirements     <p n=“replaces" base="2.0.0" v=“false" />
                               </capability>
    model, extended            …
                               <capability name="memory">
                                 <p n=“level” v=“extra-functional” />
>   Per-component                <p n="memory" t="int" v="30" />
                                 <p n="unit" t="string" v="MB" />
     Structural information   </capability>
     Compatibility data       ...
                               <diff base=“1.0.0" type=“subtype”
      (M:N comparison)           level=“signature” value=“spec” >
                                 <part name="package" id="fq.pkg.name"
>   Aggregated                     diff=“none” >
                                     <based-on result-id=“res1024823” />
                                 </part>
                                 ...
                               </diff>
                               …
                               </resource>
                                                                 9
>   Core, subtype compatibility, web UI




>   Simulation verification for interaction and EFP
    contracts in active research and development
                                                  10
http://www.kiv.zcu.cz/research/groups/dss/



                                             11

More Related Content

Viewers also liked

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
 
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
 
Safe Bundle Updates
Safe Bundle UpdatesSafe Bundle Updates
Safe Bundle UpdatesPremek 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
 
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
 

Viewers also liked (6)

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)
 
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
 
Safe Bundle Updates
Safe Bundle UpdatesSafe Bundle Updates
Safe Bundle Updates
 
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
 
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
 

Similar to CRCE Architecture Overview

Dhct config report
Dhct config reportDhct config report
Dhct config reportSan Man
 
Shuvam Dutta | Performance analyst
Shuvam Dutta | Performance analystShuvam Dutta | Performance analyst
Shuvam Dutta | Performance analystShuvam Dutta
 
Architecting non-trivial browser applications (Jazoon 2012)
Architecting non-trivial browser applications (Jazoon 2012)Architecting non-trivial browser applications (Jazoon 2012)
Architecting non-trivial browser applications (Jazoon 2012)Marc Bächinger
 
Shuvam dutta | Performance tester
Shuvam dutta | Performance testerShuvam dutta | Performance tester
Shuvam dutta | Performance testerShuvam Dutta
 
Testing your application on Google App Engine
Testing your application on Google App EngineTesting your application on Google App Engine
Testing your application on Google App EngineInphina Technologies
 
Testing Your Application On Google App Engine
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App EngineIndicThreads
 
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale
 
Mastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium SuccessfullyMastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium SuccessfullySpringPeople
 
Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalDmitriy Gumeniuk
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzJBug Italy
 
Magento 2 integration tests
Magento 2 integration testsMagento 2 integration tests
Magento 2 integration testsDusan Lukic
 
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...Angular training - Day 3 - custom directives, $http, $resource, setup with ye...
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...murtazahaveliwala
 
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!Puneet Kala
 
SurinderPanwar_Testing.PDF
SurinderPanwar_Testing.PDFSurinderPanwar_Testing.PDF
SurinderPanwar_Testing.PDFSurinder panwar
 

Similar to CRCE Architecture Overview (20)

Dhct config report
Dhct config reportDhct config report
Dhct config report
 
Shuvam dutta
Shuvam duttaShuvam dutta
Shuvam dutta
 
Shuvam Dutta | Performance analyst
Shuvam Dutta | Performance analystShuvam Dutta | Performance analyst
Shuvam Dutta | Performance analyst
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Architecting non-trivial browser applications (Jazoon 2012)
Architecting non-trivial browser applications (Jazoon 2012)Architecting non-trivial browser applications (Jazoon 2012)
Architecting non-trivial browser applications (Jazoon 2012)
 
Shuvam dutta | Performance tester
Shuvam dutta | Performance testerShuvam dutta | Performance tester
Shuvam dutta | Performance tester
 
Testing your application on Google App Engine
Testing your application on Google App EngineTesting your application on Google App Engine
Testing your application on Google App Engine
 
Testing Your Application On Google App Engine
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App Engine
 
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
 
Shuvam dutta
Shuvam duttaShuvam dutta
Shuvam dutta
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Mastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium SuccessfullyMastering Test Automation: How To Use Selenium Successfully
Mastering Test Automation: How To Use Selenium Successfully
 
Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortal
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzz
 
Magento 2 integration tests
Magento 2 integration testsMagento 2 integration tests
Magento 2 integration tests
 
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...Angular training - Day 3 - custom directives, $http, $resource, setup with ye...
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...
 
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
Selenium-Webdriver With PHPUnit Automation test for Joomla CMS!
 
SurinderPanwar_Testing.PDF
SurinderPanwar_Testing.PDFSurinderPanwar_Testing.PDF
SurinderPanwar_Testing.PDF
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

CRCE Architecture Overview

  • 1. Premek Brada Department of Computer Science and Engineering University of West Bohemia, Pilsen, CZ Euromicro 2012, 5.-8.September, Cesme, Turkey
  • 2. > Motivation  Issues, scenarios > Overall Approach > CRCE Repository  Architecture, Extensible design  Meta-data  Use > Conclusion 2
  • 3. > Need for consistency preserving updates > Scenarios  Can I update this component, there is a new version?  Is there a new application configuration for update?  This app configuration does not work well, is there an alternative configuration? > Avoid repetitive verification  Small devices  Many installations 3
  • 4. > Applications consist of 100s of components  Dynamically evolving architectures  Step-wise vs Application subset updates  Horizontal and vertical compatibility > Contract levels => complexity  Signature  Semantics (pre/post-conditions)  Interaction (protocols, simulation)  Extra-functional > Any client device resource constrained 4
  • 5. > Offload consistency verification from client > Store verification results for later reuse client verification tools component meta-data => Pre-verified repositories Components 5
  • 6. verifier client CRCE <> provider provider provider > Managed resources  components, meta-data, verification results > Repository as initiator of verification  synchronous / asynchronous operation  have compatibility data ready when asked for 6
  • 7. > Goal: plug-in different contract verification methods > OSGi based 7
  • 8. > 2 stages > Load  component structure checks  indexers  fast verification > Storage  long-running verification  queries 8
  • 9. <resource id="cz.zcu.kiv.Gate/1.2.1"> ... <capability name="package"> <p n="package" v="cz.zcu.kiv.gate" /> <p n="version" t="version" v="1.1.0" /> <p n=“replaces" base="1.0.0" v=“true" /> > Capability/Requirements <p n=“replaces" base="2.0.0" v=“false" /> </capability> model, extended … <capability name="memory"> <p n=“level” v=“extra-functional” /> > Per-component <p n="memory" t="int" v="30" /> <p n="unit" t="string" v="MB" />  Structural information </capability>  Compatibility data ... <diff base=“1.0.0" type=“subtype” (M:N comparison) level=“signature” value=“spec” > <part name="package" id="fq.pkg.name" > Aggregated diff=“none” > <based-on result-id=“res1024823” /> </part> ... </diff> … </resource> 9
  • 10. > Core, subtype compatibility, web UI > Simulation verification for interaction and EFP contracts in active research and development 10