Dansk Datamatik Center

Dansk Datamatik Center
Förkortning DDC
Efterträdare DDC International A/S, DDC-I
Bildning September 1979 ( 1979-09 )
Upplöst 1989 ( 1989 )
Typ Forsknings- och utvecklingscentrum
Plats
Tjänster Datavetenskap
Verkställande direktör
Leif Ryström
Vetenskaplig ledare
Dines Bjørner
Chef, Ada projekt
Ole N. Oest
Budget (1984)
13 miljoner danska kronor
Personal (1984)
40

Dansk Datamatik Center (DDC) var ett danskt forsknings- och utvecklingscenter för programvara som existerade från 1979 till 1989. Dess huvudsakliga syfte var att visa värdet av att använda moderna tekniker, särskilt de som involverar formella metoder , inom mjukvarudesign och utveckling .

Tre stora projekt dominerade mycket av centrets existens. Den första gällde den formella specifikationen och sammanställningen av programmeringsspråket CHILL för användning i telekommunikationsväxlar. Det andra handlade om den formella specifikationen och sammanställningen av programmeringsspråket Ada . Både Ada- och CHILL-insatserna använde sig av formella metoder. DDC arbetade särskilt med Meta-IV , en tidig version av specifikationsspråket för den formella metoden Vienna Development Method (VDM) för utveckling av datorbaserade system. Som grundades av Dines Bjørner representerade detta "Danska skolan" för VDM. Denna användning av VDM ledde 1984 till att DDC Ada-kompilatorn blev den första europeiska Ada-kompilatorn som validerades av USA:s försvarsdepartement . Det tredje stora projektet ägnades åt att skapa en ny formell metod, RAISE .

Framgången med Ada-kompilatorsystemet skulle leda till skapandet av det kommersiella företaget DDC International A/S (DDC-I, Inc. i USA) 1985, som skulle utveckla, producera och marknadsföra det både direkt till kunder och till andra företag som skulle använda det som grund för sina egna Ada-kompilatorprodukter.

Ursprung

DDC:s ursprung var i Danmarks Tekniska Universitet .

Våren 1979 föreslog Christian Gram, en datavetare vid Danmarks Tekniske Universitet (DTU) – belägen i Kongens Lyngby , norr om Köpenhamn – sin kollega Dines Bjørner idén att bygga ett avancerat programvaruinstitut. När de tittade på den tidens mjukvarukris ansåg de att datavetenskapen hade skapat grundläggande och teoretiska tillvägagångssätt som om de tillämpades kunde göra mjukvaruutveckling till en mer professionell process och tillåta utveckling av stora mjukvarusystem enligt tidtabell och med kvalitet.

De vände sig till Akademiet for de Tekniske Videnskaber (ATV, Danmarks Akademi for Teknisk Videnskab) med denna idé, och i september 1979 bildades Dansk Datamatik Center som ett ATV-institut för avancerad mjukvaruutveckling. (Det hänvisades också till som Danish Datamatics Center i några tidiga dokument.) Tio stora producenter eller användare av informationsteknologi i Danmark blev betalande medlemmar i den nya enheten: Christian Rovsing [ da ] , Crone & Koch, det danska försvarets forskningsinstitut , Datacentralen af ​​1959 [ da ] , Jydsk Telefon [ da ] , Kommunedata , Regnecentralen af ​​1979 , Sparekassernes Datacenter, Teleteknisk Forskningslaboratorium [ da ] (TFL), och ØK Data, där varje medlem betalar 100 000 DKK per år.

Bjørner blev centrets vetenskapliga ledare. Verkställande direktör för DDC var Leif Rystrøm. När det nådde sin största storlek omkring 1984 arbetade cirka 30–35 professionella medarbetare på DDC, med totalt cirka 40 anställda. År 1984 hade DDC en budget på 13 miljoner DKK, en avsevärd ökning från dess ursprungliga budget på 1 miljon DKK. Många av de anställda ingenjörerna kom från DTU och Köpenhamns universitet . I början var centret inrymt i en byggnad på DTU:s campus, men sedan placerades det i ett ombyggt textilbruk längs Mølleåen, nära Lyngby centrum.

Den kubinspirerade röda logotypen för DDC designades av Ole Friis, som 1984 vann IG-priset [ da ] från Danish Design Center för den.

CHILL-projekt

Under 1978 blev Bjørner intresserad av att skapa en formell definition, med hjälp av denotationssemantik , av programmeringsspråket CHILL som då var under utveckling. Arbetet med den formella definitionen av CHILL började samma år baserat på begäran från Teleteknisk Forskningslaboratorium, tilldelad en grupp under Comité Consultatif International Téléphonique et Télégraphique (CCITT) och genomfördes vid DTU, med cirka arton studenter som arbetade med insatsen. När DDC väl etablerats färdigställdes den formella definitionen där 1980 och 1981. Åsikterna om värdet av insatsen går isär: Bjørner har uppgett att det upptäckte en definitionsfråga som ledde till förenklingen av språket, medan Remi Bourgonjon från Philips , sammankallaren från Implementors' Forum som organiserades av CCITT, tyckte att den formella definitionen var för komplicerad och kom för sent för att gynna CHILL kompilatordesigners.

Samtidigt utvecklades en CHILL-kompilator, som återigen startade före DDC men slutfördes av den och TFL. Det utvecklades med formella metoder. De två organisationerna gjorde kompilatorn allmänt tillgänglig och den skulle ha en viktig roll i utbildningen om CHILL-språket. Den anpassades också av det brittiska företaget Imperial Software Technology med en ny kodgenerator och användes av GEC och andra under 1980-talet.

Ett gemensamt projekt som GEC och DDC genomförde i början av 1980-talet var att undersöka införlivandet av CHILL i en Ada Programming Support Environment (APSE), för att stödja projekt som använde båda språken. DDC:s del av projektet använde en undersökning av denotationssemantiken för båda språken och drog slutsatsen att en sådan integration var tekniskt genomförbar.

DDC fortsatte att vara inblandad i att publicera tidningar på CHILL-konferenser under första hälften av 1980-talet, men inte efter det.

Ada projekt

DDC placerade sig därefter i det Dansk Gardin & Textil Fabrik [ da ] ombyggda textilbruket längs Mølleåen i Lyngby .

Tillkomsten av det amerikanska försvarsdepartementets sponsring av programmeringsspråket Ada under perioden 1979–80 ledde till europeiskt intresse även för det nya språket, och Europeiska gemenskapernas kommission (CEC) beslutade att anslå medel till en europeisk Ada-kompilator och körtidssystem. Ett konsortium av Olivetti från Italien och DDC och Christian Rovsing från Danmark lämnade ett bud som i början av 1981 vann över ett tidigare gynnat bud från ett fransk-tyskt konsortium; hälften av finansieringen skulle komma från CEC och hälften från danska källor. Ole N. Oest överfördes från det danska försvarets forskningsinstitut till DDC för att leda Ada-arbetet.

DDC ansvarade för att utveckla ett Portable Ada-programmeringssystem. Kraven inkluderade att vara värd för Ada-kompilatorn på små 16-bitars minidatorer som Christian Rovsing CR80D och Olivetti M40, bland andra plattformar, och att kunna passa inom 80 kilobyte kod och 110 kilobyte data. Som ett resultat konstruerades kompilatorn av många pass , i det här fallet sex för enbart frontend, med linjäriserade träd lagrade i filer som representation mellan pass.

Processen att skapa kompilatorn gick igenom fyra steg: utveckling av en formell specifikation av Ada, utveckling av en formell specifikation av kompilatorkomponenterna; utveckling av mer detaljerade formella specifikationer för särskilda kompilatorpass; implementering av dessa specifikationer i Ada själv. Bland formella tillvägagångssätt var det fördelaktigt att använda Vienna Development Method (VDM) i detta projekt eftersom den var skräddarsydd för användning med datorspråk och kompilatorer och eftersom den möjliggjorde stegvis förfining av operationer såväl som av datarepresentationer. Det centrala målet med processen var att bevisa att implementeringen motsvarade specifikationen. I fall där den statiska abstrakta syntaxrepresentationen behövde ha ytterligare begränsningar inkorporerade, definierades välformningskriterier – en annan aspekt av VDM –. Det första steget i processen, en formell specifikation för Ada, hade redan 1980 påbörjats av fem studenter vid DTU som en del av deras masteruppsatser.

Ada var ett svårt språk att implementera och tidiga försök att bygga en kompilator för det resulterade ofta i besvikelse eller direkt misslyckande. DDC-kompilatorn validerades på ett VAX/VMS- system i september 1984, och var den första europeiska Ada-kompilatorn som gick igenom, och visade sig vara en framgång. Då hade det lagts ner cirka 44 årsverken av utvecklingsarbete. Defektfrekvensen och underhållskostnaderna skulle visa sig vara betydligt lägre för kompilatorn än för programvarubranschens genomsnitt.

Uppmärksamhet angående DDC:s användning av VDM i kompilatordesign ledde till intresse från andra datortillverkare och försäljning gjordes av vad som blev känt som DDC OEM Compiler Kit (namnet är en referens till den ursprungliga utrustningstillverkarens affärsmodell). Kompilatorsystemet erbjöd två punkter för ominriktning, ett trädstrukturerat mellanspråk på hög nivå och en sekvens av instruktioner för en abstrakt stackmaskin; det senare innebar kortare projekttider men vanligtvis inte den mest optimerade genererade koden. (Den abstrakta stackbaserade virtuella maskinen arbetade också med av Christian Rovsing; det fanns också en idé om att eventuellt implementera den i hårdvara eller firmware.) Den första sådana OEM-försäljningen var till Nokia, för omhosting på Nokia MPS 10. Den andra , med ett kontrakt som gjordes i februari 1984, var med Honeywell Information Systems i Boston. Kompilatorn var alltså omvärderad och riktad om till Honeywell DPS6 och validerades i november 1984.

Dessutom började korskompilatorer utvecklas, med DDC som gjorde en från VAX/VMS till Intel 8086 , och började vad som skulle bli en framgångsrik produktlinje. I december 1984 undertecknade DDC ett kontrakt med Advanced Computer Techniques i New York, baserat på ett licensavtal med royalty. De började använda DDC-gränssnittet för att utveckla en korskompilator för MIL-STD-1750A- arkitekturen, som skulle bli en någorlunda framgångsrik produkt hos ett antal kunder.

Framgången för Ada-projektet ledde till att ett separat företag bildades 1985, kallat DDC International A/S , med syftet att kommersialisera Ada-kompilatorsystemet; Oest utsågs till verkställande direktör för företaget. Ett år senare bildades ett USA-baserat dotterbolag till det företaget, DDC-I, Inc. , i delstaten Arizona.

Parallellt med kompilatorarbetet drevs det på olika fronter för att ge en formell definition av Ada, med flera olika tillvägagångssätt och metaspråk prövade. Vissa européer hävdade att en sådan uppgift var kritisk och att den var den enda grunden på vilken en ISO-standard för språket borde publiceras. CEC sponsrade detta arbete och kontraktet vann DDC i samarbete med två italienska forskningsinstitut, Istituto di Elaborazione dell'Informazione (IEI) i Pisa och Consorzio per la Ricerca e le Applicazioni di Informatica (CRAI) i Genua, med arbete med början 1984. Ytterligare rådgivning om projektet tillhandahölls av personal vid universitetet i Genua , universitetet i Pisa och vid DTU. Arbetet byggde upp de tidigare formella definitionerna som hade gjorts på DTU och av DDC i början av dess Ada-kompilatorprojekt, men ytterligare arbete behövdes för att definiera hela språket och Meta-IV måste utökas på platser eller alternativa tillvägagångssätt. . Denna ansträngning kulminerade i publiceringen 1987 av den fullständiga formella definitionen av Ada, som omfattar tre separata publikationer och totalt åtta volymer. Även om denna ansträngning ledde till en bättre förståelse av språket och ett antal förtydliganden av det gjordes, förblev den ultimata definitionen av språket det naturliga språket i Ada Language Reference Manual.

RAISE-projekt

Användningen av VDM i CHILL- och Ada-projekten avslöjade behovet av förbättringar i formella specifikationstekniker, och 1983 genomförde DDC en Formal Methods Appraisal-studie, som producerade ett antal krav som ett formellt specifikationsspråk borde innehålla.

Efter det tilldelades DDC ett CEC-kontrakt för att utveckla en efterträdare till VDM, som kallades RAISE (Rigorous Approach to Industrial Software Engineering). Detta gjordes i konsortium med STC Technology of Great Britain, som hjälpte till i skapandet av den nya tekniken, och med Nordisk Brown Boveri från Danmark och International Computers Limited i Storbritannien, som utövade den i industriella miljöer. Projektet involverade cirka 120 års ansträngning och försökte skapa ett brett spektrumspråk avsett att hantera alla nivåer från den initiala abstrakta högnivånivån ner till en nivå över programmering. Den försökte åtgärda VDM:s svagheter med avseende på modularitet, samtidighet och brist på verktyg, och den försökte också förena tillvägagångssätt som tas i Z-notation , CSP , Larch och OBJ .

Förutom språket RAISE-specifikation tog projektet också fram en beskrivning av bästa praxis för RAISE-metoden och en RAISE-verktygsuppsättning.

Andra projekt

År 1981 genomförde DDC, tillsammans med några av dess medlemmar, en studie av de många kontorsautomationsinitiativ och produkter som då fanns tillgängliga och publicerade en taxonomi- och terminologiguide som analyserade domänen. De specificerade sedan ett generiskt kontorsautomationssystem som använder både VDM och informella språk.

Senare under 1983–1987 arbetade DDC som underleverantör till medlemmen ØK Data on the Functional Analysis of Office Requirements (FAOR)-projektet under ESPRIT .

DDC gav också kurser och seminarier i olika ämnen för mjukvaruutveckling och startade 1987 en danskspråkig kvartalspublikation Cubus som diskuterade olika tekniska och vetenskapliga ämnen i ett försök att engagera sig i tekniköverföring.

Slutsats och arv

Under centrets existens tappade några av de ingående medlemmarna intresset för dess arbete, utan behov av CHILL- eller Ada-kompilatorerna och RAISE-arbetet för ambitiöst för deras användning. Allmän acceptans av Ada som ett språk underpresterade förväntningarna och Ada-produktförsäljningen av DDC-I gav inte tillräckliga vinster för att pengar skulle kunna flöda till DDC. Då varaktig finansiering blev ett problem, stängdes Dansk Datamatik Center 1989.

Arbetet med Ada-produkterna utfördes av DDC-I, där det användes i många flyg- och rymdprojekt med hög synlighet och liknande projekt. Den mest kända av dessa var flygmjukvaran Airplane Information Management System för flygplanet Boeing 777 . Efterföljande utvecklare av DDC-I Ada-kompilatorn var ofta inte lika insatta i formella metoder som de ursprungliga utvecklarna. Ada-produkterna skulle fortfarande generera intäkter för DDC-I under 2010-talet.

DDC:s arbete och personal på RAISE överfördes till Computer Resources International (CRI) 1988. De använde det som grund för det europeiska ESPRIT II LaCoS-projektet på 1990-talet. RAISE-satsningen såldes därefter till Terma A/S , som använder den som en del av arbetet för European Space Agency och olika försvarsindustriprojekt.

DDC hade relativt lite engagemang i den nordiska mjukvaruvärlden, eftersom det förlitade sig på EU -baserade partners och finansiering och Danmark var det enda nordiska landet i EU vid den tiden. Inte heller den danska finanssektorn visade något intresse för DDC:s arbete. I en tillbakablick har grundarna av centret uttalat att "Där DDC misslyckades var att [övertyga] stora danska företag om fördelarna med att använda pålitlig mjukvaruutveckling baserad på formella metoder. (Men DDC försökte inte särskilt mycket.)" DDC-forskare trodde att deras arbete fortfarande var fördelaktigt för att göra danska teknikföretag medvetna om moderna metoder för mjukvaruutveckling och för att fylla dessa företag med så många som hundra mjukvarudesigners och utvecklare som hade arbetat på DDC, och att i alla fall "DDC slutförde ett stort antal projekt med bättre prestanda och högre produktkvalitet än vad som var vanligt på 1980-talet." I en undersökning 2014 av fyrtio år av formella metodansträngningar beklagade Bjørner och Klaus Havelund att antagandet av formella metoder inte har blivit utbrett i mjukvaruindustrin och hänvisade till DDC Ada-kompilatorn som en obesjungen framgångssaga om värdet av sådan användning.

Bibliografi

  • Bjørner, Dines; Oest, Ole N., red. (1980). Lecture Notes in Computer Science 98: Towards a Formal Description of Ada . Springer-Verlag.
  • Bjørner, Dines; Gram, Christian; Oest, Ole N.; Rystrøm, Leif (2011). "Dansk Datamatik Center". I Impagliazzo, John; Lundin, Per; Wangler, Benkt (red.). History of Nordic Computing 3: IFIP Advances in Information and Communication Technology . Springer. s. 350–359. En något utökad version av detta kapitel finns tillgänglig online på https://www.researchgate.net/publication/221271386_Dansk_Datamatik_Center . En ytterligare utökad version är en del av Bjørners onlinememoir på http://www.imm.dtu.dk/~dibj/trivia/node5.html . En bildpresentation av Gram baserad på uppsatsen finns tillgänglig online som Why Dansk Datamatik Center?
  • Bjørner, Dines; Havelund, Klaus. "40 år av formella metoder: några hinder och några möjligheter?". FM 2014: Formella metoder: 19th International Symposium, Singapore, 12–16 maj 2014. Proceedings . Springer. s. 42–61.
  • Bundgaard, Jørgen (maj 1985). "Utvecklingen av ett Ada-gränssnitt för små datorer". SIGAda '85: Proceedings of the 1985 årliga ACM SIGAda internationella konferens om Ada . Föreningen för Datormaskiner. s. 321–328.
  • Clemmensen, Geert B.; Oest, Ole N. (mars 1984). "Formell specifikation och utveckling av en Ada-kompilator – en VDM-fallstudie". ICSE '84 Proceedings of the 7th international conference on Software engineering . IEEE Tryck. s. 430–440.
  •   Clemmensen, Geert B. (januari 1986). "Retargeting och omhosting av DDC Ada-kompilatorsystemet: En fallstudie – Honeywell DPS 6". ACM SIGAda Ada-bokstäver . 6 (1): 22–28. doi : 10.1145/382256.382794 . S2CID 16337448 .
  • Fitzgerald, John S.; Larsen, Peter Gorm; Verhoef, Marcel (2009). "Wien Development Method". I Wah, Benjamin W. (red.). Wiley Encyclopedia of Computer Science and Engineering . Wiley. s. 2971–2982.
  • George, Chris. "The RAISE Specification Language: A Tutorial". VDM '91: Formella mjukvaruutvecklingsmetoder: 4:e internationella symposiumet för VDM Europe, Noordwijkerhout, Nederländerna, oktober 1991, Proceedings . Vol. 2. Springer-Verlag. s. 238–319.
  •   Ibsen, Leif (januari 1984). "En bärbar virtuell maskin för Ada". Programvara: Övning och erfarenhet . 14 (1): 17–29. doi : 10.1002/spe.4380140104 . S2CID 206508565 .
  •   Meiling, Erik; Palm, Steen U. (januari–februari 1984). "En jämförande studie av CHILL och Ada på basis av denotationsbeskrivningar". ACM SIGAda Ada-bokstäver . 3 (4): 78–91. doi : 10.1145/989954.989959 . S2CID 17168261 .
  • O'Regan, Gerard (2006). Matematiska metoder för mjukvarukvalitet . London: Springer.
  • Paulsen, Gard (2011). Mellan och mellan: Programvara inom telekommunikation och programmeringsspråket Chill, 1974–1999 (Ph.D.). Oslo: Handelshögskolan BI.
  • Pedersen, Jan Storbank. "VDM i tre generationer av Ada-formella beskrivningar". VDM '87: VDM-A formell arbetsmetod: VDM-Europe Symposium 1987, Bryssel, Belgien, mars 1987, Proceedings . Springer-Verlag. s. 33–48.
  • Prehn, Søren. "Från VDM till RAISE". VDM '87: VDM-A formell arbetsmetod: VDM-Europe Symposium 1987, Bryssel, Belgien, mars 1987, Proceedings . Springer-Verlag. s. 141–150.
  • "En intervju med Oscar Schachter" (Intervju). Intervjuad av Thomas Haigh. Charles Babbage Institute, University of Minnesota. 7 maj 2004. WorldCat-inträde
  • Whitaker, William A. (1996). "Ada—Projektet: DoD High Order Language Working Group" . I Bergin, Thomas J.; Gibson, Richard G. (red.). Programmeringsspråkens historia—II . Addison-Wesley Professional. s. 173–232.