SCR (Software Cost Reduction) är i slutet av 1970-talet utformad för att specificera kraven för det operativa flygprogrammet (OFP) för A-7-flygplanet [8] en metod som bygger på tabeller för att specificera kraven för programvarusystem. Under 1980-talet och början av 1990-talet tillämpade många företag, inklusive Bell Laboratories, Grumman, Ontario Hydro och Lockheed, SCR-kravmetoden på praktiska system. Var och en av dessa tillämpningar av SCR hade som mest svagt verktygsstöd. För att ge ett kraftfullt och robust verktygsstöd anpassat för SCR-metoden har vi utvecklat SCR*-verktyget. För att ge formella underlag för metoden har vi också utvecklat en formell modell som definierar semantiken i SCR-kravens specifikationer. I SCR representerar övervakade och kontrollerade variabler miljökvantiteter som systemet övervakar och kontrollerar [7]. Miljön producerar icke-deterministiskt en sekvens av inmatningshändelser, där en inmatningshändelse är en förändring i viss övervakad kvantitet. Systemet reagerar på varje inmatningshändelse i sin tur genom att ändra tillstånd och eventuellt ändra en eller flera kontrollerade kvantiteter. Den SCR formella modellen, ett specialfall av den klassiska statsmaskinmodellen, representerar ett system som en 4-tuple, S; S 0 ; E m ; T, där S är en uppsättning stater, S 0 S är den ursprungliga tillståndsuppsättningen, E m är uppsättningen av ingångshändelser, och T är en funktion som beskriver de tillåtna statsövergångar [7]. T är en sammansättning av enklare funktioner som härleds från tabellerna i en SCR-specifikation. Den formella modellen kräver att varje tabell uppfyller vissa egenskaper. Dessa egenskaper garanterar att varje tabell beskriver en total funktion. För att kortfattat specificera systemkraven använder SCR-metoden modeklasser, villkor och händelser. En modeklass organiserar systemets tillstånd till likvärdiga klasser, som var och en kallas ett läge. SCR-modellen omfattar en uppsättning RF som innehåller namnen på alla variabler (t.ex. övervakade och kontrollerade variabler, modeklasser) i en given specifikation och en typfunktion TY som avbildar varje variabel i RF till en uppsättning värden. I modellen är ett tillstånd en funktion som kartlägger varje variabel r i RF till dess värde i TYr, ett tillstånd är ett grundvärde definierat på ett tillstånd, och en händelse är ett grundvärde definierat på två tillstånd när någon tillståndsvariabel förändras. SCR* är en integrerad uppsättning verktyg som stöder SCR-kravmetoden. Den innehåller en specifikation editor för att skapa en kravspecifikation, en beroende graf webbläsare för att visa variabel beroenden, en konsekvent kontroll för att upptäcka väl formfel (t.ex., saknade fall), en simulator för att validera specifikationen, en modell kontroll och teorem bevis för att kontrollera programegenskaper, och en invariant generator för automatiskt bygga tillstånd invarianter från SCR tabeller. För att skapa och ändra en kravspecifikation åberopar användaren specifikationseditorn [4]. Varje SCR specifikation är organiserad i ordböcker och tabeller. Ordlistorna definierar den statiska informationen i specifikationen, t.ex. variablernas namn och värden och de användardefinierade typerna. Tabellerna anger hur variablerna ändras i svar på inmatningshändelser. Eacj beroende Graph Browser. Det kan vara svårt att förstå förhållandet mellan olika delar av en stor specifikation. För att ta itu med detta problem, DGB (Dependency Graph Browser) representerar beroendena bland variablerna i en given SCR specifikation som en riktad graf [6]. Genom att studera grafen kan en användare upptäcka fel som odefinierade variabler och cirkulära definitioner. Han kan också använda DGB för att extrahera och analysera undergrupper av beroendekurvan, t.ex. subgrafen som innehåller alla variabler som en vald kontrollerad variabel beror på. Samstämmighetskontroll. Konsistenskontrollatorn [7, 6] analyserar en specifikation för överensstämmelse med modellen för SCR-krav. Det avslöjar syntax- och typfel, varierande namnskillnader, saknade fall, icke-determinism och cirkulära definitioner. När ett fel upptäcks ger överensstämmelsekontrollen detaljerad feedback för att underlätta felkorrigering. En form av statisk analys, konsekvent kontroll undviker att utföra specifikation och räckvidd analys. Vid utarbetandet av en SCR-specifikation brukar användaren normalt
En välkänd specifikationsteknik för krav är programvarukostnadsreduktion (SCR) metoden REF.
Using the SCR* toolset to specify software requirements
{'venue': 'Proceedings. 2nd IEEE Workshop on Industrial Strength Formal Specification Techniques', 'journal': 'Proceedings. 2nd IEEE Workshop on Industrial Strength Formal Specification Techniques', 'mag_field_of_study': ['Computer Science']}