Software Configuration Management (SCM) lider av tät koppling mellan SCM-versioner modeller och de påtvingade SCM-processer. För att anpassa SCM-verktyg till SCM-processer, snarare än tvärtom, föreslår vi en enhetlig versionsmodell, versionsuppsättningen modell. Versionsuppsättningar betecknar versioner, komponenter och konfigurationer med funktionstermer, det vill säga Booleska termer över (funktioner : värde)-attributioner. Genom funktionslogik kan vi härleda överensstämmelse mellan abstrakta konfigurationer samt egenskaper hos härledda komponenter och beskriva hur funktioner förökar sig i SCM-processen; genom att använda funktioners implikationer integrerar vi förändringsorienterade och versionsorienterade SCM-modeller. Vi har implementerat versionsuppsättningen modell i ett SCM-system som kallas ICE, för Incremental Configuration Environment. ICE är baserat på en presenterade filsystem (FFS), där versionsuppsättningar är tillgängliga som virtuella filer och kataloger. Med hjälp av den välkända C preprocessorn (CPP) representation, kan användare visa och redigera flera versioner samtidigt, medan endast skillnaderna mellan versioner lagras. Det visar sig att alla större SCM-modeller kan realiseras och integreras effektivt ovanpå FFS, vilket visar den flexibla och enande karaktären hos versionsuppsättningen.
I REF presenteras en strategi för enhetlig versionering baserad på funktionslogik.
Unified versioning through feature logic
{'venue': 'TSEM', 'journal': None, 'mag_field_of_study': ['Computer Science']}