SlideShare una empresa de Scribd logo
1 de 13
Automated Versioning As a Mechanism for Component Software Consistency Guarantee Jaroslav BAUML Dept of Computer Science UWB, Pilsen
ComponentEvolution Component updates reflect their evolution Application consistency during updates One release of component Dependencies to components Releases during time Depencencies to explicit releases of components (specified by version) 10/27/2009 2 Bauml: Automated Reliable Versioning
Versions Versions are one of the most important thing in component development… Do not believe? 10/27/2009 3 Bauml: Automated Reliable Versioning
Versions Versions are one of the most important thing in component development… 10/27/2009 4 Bauml: Automated Reliable Versioning
Versions Versions are one of the most important thing in component development… … because they handle (or describe) component evolution Unfortunately is also one of the less tracked Common versioning scheme: major.minor.micro_textualAddons 1.4.2_alpha2 10/27/2009 5 Bauml: Automated Reliable Versioning
Current use ofversionsemantics Very often versioning only adhoc Marketing purpose Semantic purpose All incompatible changes  <=> majorid++. All backward compatible <=>  minor id++. No changes on interface <=> microid++. 10/27/2009 6 Bauml: Automated Reliable Versioning
Semantic Versioning No tooling, even no methodologyto create semantic versioning. Specifications talk about “compatibility”, but it is too weak. To determine what is and what is not compatible, we can use structuralsubtyping. 10/27/2009 7 Bauml: Automated Reliable Versioning
Subtyping as key solution for semantic versioning Can use Car instead of Vehicle. Car is a subtype of … A compatiblewithB <=>B <: A  10/27/2009 8 Bauml: Automated Reliable Versioning Difference values: NON, MUT, SPE, GEN ,[object Object]
combine to root:spe ⊕ gen -> mut mut ⊕ X  -> mut non ⊕ X -> X
SubtypingExample 10/27/2009 9 Bauml: Automated Reliable Versioning Rold =majold.minold.micold Rnew = majnew.minnew.micnew
Subtyping Example (2) Two consecutive revisions, versions:  The function Difference (Rold,Rnew) is defined by the rulesin the table. 10/27/2009 10 Bauml: Automated Reliable Versioning OLD Logger 1.2.4, wefoundMutation => NEW Logger‘s version = 2.0.0
Our Implementation for OSGi Simple meta-models  Implementation of subtyping Java level JavaTypes – general project to handle java type system at runtime Bytecode, reflection, … Bundle level Metadata inspection 10/27/2009 11 Bauml: Automated Reliable Versioning
Validation – Real World Bundles To provide a basic validation of proposed principle, implemented tool was tested on bundles from Apache Felix archive. 10/27/2009 12

Más contenido relacionado

Destacado (7)

Validity and Reliability
Validity and ReliabilityValidity and Reliability
Validity and Reliability
 
Validity and reliability of questionnaires
Validity and reliability of questionnairesValidity and reliability of questionnaires
Validity and reliability of questionnaires
 
Presentation Validity & Reliability
Presentation Validity & ReliabilityPresentation Validity & Reliability
Presentation Validity & Reliability
 
ADVANTAGES AND DIS-ADVANTAGES OF COMPUTER
ADVANTAGES AND DIS-ADVANTAGES OF COMPUTERADVANTAGES AND DIS-ADVANTAGES OF COMPUTER
ADVANTAGES AND DIS-ADVANTAGES OF COMPUTER
 
Precision attachments
Precision attachmentsPrecision attachments
Precision attachments
 
multimedia element
multimedia elementmultimedia element
multimedia element
 
Benefits Of Computer Software
Benefits Of Computer SoftwareBenefits Of Computer Software
Benefits Of Computer Software
 

Similar a Automated Versioning As A Mechanism For Component Software

Bpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/SymposiumBpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/Symposium
Antoine Toulme
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
NETWAYS
 

Similar a Automated Versioning As A Mechanism For Component Software (20)

Upgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 PlanningUpgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 Planning
 
Upgrade to V2.5 Plan and Tech Actions.pdf
Upgrade to V2.5 Plan and Tech Actions.pdfUpgrade to V2.5 Plan and Tech Actions.pdf
Upgrade to V2.5 Plan and Tech Actions.pdf
 
Upgrade to zOS V2.5 - Planning and Tech Actions.pdf
Upgrade to zOS V2.5 - Planning and Tech Actions.pdfUpgrade to zOS V2.5 - Planning and Tech Actions.pdf
Upgrade to zOS V2.5 - Planning and Tech Actions.pdf
 
Upgrade to zOS V2.5 - Planning and Tech Actions.pdf
Upgrade to zOS V2.5 - Planning and Tech Actions.pdfUpgrade to zOS V2.5 - Planning and Tech Actions.pdf
Upgrade to zOS V2.5 - Planning and Tech Actions.pdf
 
Converting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right toolsConverting to the latest COBOL Compiler made simple with the right tools
Converting to the latest COBOL Compiler made simple with the right tools
 
Module Management for ES6 Generation
Module Management for ES6 GenerationModule Management for ES6 Generation
Module Management for ES6 Generation
 
PLC SCUBE STANDARD PROGRAMING EMERSON EDUARDO RODRIGUES
PLC SCUBE STANDARD PROGRAMING EMERSON EDUARDO RODRIGUESPLC SCUBE STANDARD PROGRAMING EMERSON EDUARDO RODRIGUES
PLC SCUBE STANDARD PROGRAMING EMERSON EDUARDO RODRIGUES
 
J.unit.action.2
J.unit.action.2J.unit.action.2
J.unit.action.2
 
Upgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planningUpgrade to IBM z/OS V2.4 planning
Upgrade to IBM z/OS V2.4 planning
 
Bpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/SymposiumBpmn 2.0 Eclipse OMG/Symposium
Bpmn 2.0 Eclipse OMG/Symposium
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with Meaning
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
 
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDzRDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
RDz for DevOps Webcast Series: Implementing Continuous Integration with RDz
 
Wm4 0 releasenotesissue1
Wm4 0 releasenotesissue1Wm4 0 releasenotesissue1
Wm4 0 releasenotesissue1
 
Upgrade to 3.1 Planning.pdf
Upgrade to 3.1 Planning.pdfUpgrade to 3.1 Planning.pdf
Upgrade to 3.1 Planning.pdf
 
Real-life patch test - vulnerabilities found in one simple server in 6 months
Real-life patch test - vulnerabilities found in one simple server in 6 monthsReal-life patch test - vulnerabilities found in one simple server in 6 months
Real-life patch test - vulnerabilities found in one simple server in 6 months
 
UML Case Tools
UML Case ToolsUML Case Tools
UML Case Tools
 
R Dz7.5 Overview
R Dz7.5 OverviewR Dz7.5 Overview
R Dz7.5 Overview
 
Magnolia 4.5 Migration - Storytelling
Magnolia 4.5 Migration - StorytellingMagnolia 4.5 Migration - Storytelling
Magnolia 4.5 Migration - Storytelling
 
Magnolia 4.5 Migration - Storytelling
Magnolia 4.5 Migration - StorytellingMagnolia 4.5 Migration - Storytelling
Magnolia 4.5 Migration - Storytelling
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

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...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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?
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Automated Versioning As A Mechanism For Component Software

  • 1. Automated Versioning As a Mechanism for Component Software Consistency Guarantee Jaroslav BAUML Dept of Computer Science UWB, Pilsen
  • 2. ComponentEvolution Component updates reflect their evolution Application consistency during updates One release of component Dependencies to components Releases during time Depencencies to explicit releases of components (specified by version) 10/27/2009 2 Bauml: Automated Reliable Versioning
  • 3. Versions Versions are one of the most important thing in component development… Do not believe? 10/27/2009 3 Bauml: Automated Reliable Versioning
  • 4. Versions Versions are one of the most important thing in component development… 10/27/2009 4 Bauml: Automated Reliable Versioning
  • 5. Versions Versions are one of the most important thing in component development… … because they handle (or describe) component evolution Unfortunately is also one of the less tracked Common versioning scheme: major.minor.micro_textualAddons 1.4.2_alpha2 10/27/2009 5 Bauml: Automated Reliable Versioning
  • 6. Current use ofversionsemantics Very often versioning only adhoc Marketing purpose Semantic purpose All incompatible changes <=> majorid++. All backward compatible <=> minor id++. No changes on interface <=> microid++. 10/27/2009 6 Bauml: Automated Reliable Versioning
  • 7. Semantic Versioning No tooling, even no methodologyto create semantic versioning. Specifications talk about “compatibility”, but it is too weak. To determine what is and what is not compatible, we can use structuralsubtyping. 10/27/2009 7 Bauml: Automated Reliable Versioning
  • 8.
  • 9. combine to root:spe ⊕ gen -> mut mut ⊕ X -> mut non ⊕ X -> X
  • 10. SubtypingExample 10/27/2009 9 Bauml: Automated Reliable Versioning Rold =majold.minold.micold Rnew = majnew.minnew.micnew
  • 11. Subtyping Example (2) Two consecutive revisions, versions: The function Difference (Rold,Rnew) is defined by the rulesin the table. 10/27/2009 10 Bauml: Automated Reliable Versioning OLD Logger 1.2.4, wefoundMutation => NEW Logger‘s version = 2.0.0
  • 12. Our Implementation for OSGi Simple meta-models Implementation of subtyping Java level JavaTypes – general project to handle java type system at runtime Bytecode, reflection, … Bundle level Metadata inspection 10/27/2009 11 Bauml: Automated Reliable Versioning
  • 13. Validation – Real World Bundles To provide a basic validation of proposed principle, implemented tool was tested on bundles from Apache Felix archive. 10/27/2009 12
  • 14. Conclusion Our method allows you to ensure component consistency possible by component type representation as strong as type information allows (semantic changes, dynamic features) “No matter how sophisticated a (versioning) scheme is, it is useless if it is not used by all components universally.” 10/27/2009 13 /18 Bauml: Automated Reliable Versioning