Dansk Datamatik Center
Skrót | DDC |
---|---|
Następca | DDC International A/S, DDC-I |
Tworzenie | wrzesień 1979 |
Rozpuszczony | 1989 |
Typ | Centrum badawczo-rozwojowe |
Lokalizacja | |
Usługi | Informatyka |
Dyrektor zarządzający |
Leif Rystrøm |
Lider naukowy |
Dines Bjørner |
Menadżer, projekty Ada |
Ole N. Oest |
Budżet (1984) |
13 mln DKK |
Personel (1984) |
40 |
Dansk Datamatik Center (DDC) było duńskim centrum badawczo-rozwojowym oprogramowania, które istniało w latach 1979-1989. Jego głównym celem było wykazanie wartości wykorzystania nowoczesnych technik, zwłaszcza tych obejmujących metody formalne , w projektowaniu i tworzeniu oprogramowania .
Większą część istnienia centrum zdominowały trzy duże projekty. Pierwsza dotyczyła formalnej specyfikacji i kompilacji języka programowania CHILL do zastosowania w centralach telekomunikacyjnych. Drugi obejmował formalną specyfikację i kompilację języka programowania Ada . Zarówno Ada, jak i CHILL wykorzystywały metody formalne. W szczególności DDC współpracowało z Meta-IV , wczesną wersją języka specyfikacji formalnej metody Vienna Development Method (VDM) służącej do opracowywania systemów komputerowych. Założona przez Dinesa Bjørnera , reprezentowała „szkołę duńską” VDM. To użycie VDM doprowadziło w 1984 roku do tego, że kompilator DDC Ada stał się pierwszym europejskim kompilatorem Ada zatwierdzonym przez Departament Obrony Stanów Zjednoczonych . Trzeci duży projekt poświęcony był stworzeniu nowej metody formalnej RAISE .
Sukces systemu kompilatora Ada doprowadził do powstania w 1985 roku firmy handlowej DDC International A/S (DDC-I, Inc. w USA) , która rozwijała, produkowała i sprzedawała go zarówno bezpośrednio klientom, jak i innym firm, które wykorzystałyby go jako podstawę dla własnych produktów kompilatorów Ada.
Pochodzenie
Wiosną 1979 roku Christian Gram, informatyk z Duńskiego Uniwersytetu Technicznego (DTU) — mieszczącego się w Kongens Lyngby na północ od Kopenhagi — zasugerował swojemu koledze Dinesowi Bjørnerowi pomysł zbudowania instytutu zaawansowanego oprogramowania. Patrząc na ówczesny kryzys oprogramowania , czuli, że informatyka stworzyła fundamentalne i teoretyczne podejścia, których zastosowanie mogłoby uczynić tworzenie oprogramowania bardziej profesjonalnym procesem i pozwolić na tworzenie dużych systemów oprogramowania zgodnie z harmonogramem iz zachowaniem jakości.
Z tym pomysłem zwrócili się do Akademiet for de Tekniske Videnskaber (ATV, Duńska Akademia Nauk Technicznych) i we wrześniu 1979 roku utworzono Dansk Datamatik Center jako instytut ATV zajmujący się zaawansowanym rozwojem oprogramowania. (W niektórych wczesnych dokumentach było to również określane jako Duńskie Centrum Danych). Dziesięciu dużych producentów lub użytkowników technologii informatycznych w Danii zostało płacącymi członkami nowego podmiotu: Christian Rovsing , Crone & Koch, Danish Defence Research Establishment , Datacentralen af 1959 , Jydsk Telefon , Kommunedata , Regnecentralen af 1979 , Sparekassernes Datacenter, Teleteknisk Forskningslaboratorium (TFL) i ØK Data, a każdy członek płaci 100 000 DKK rocznie.
Bjørner został liderem naukowym ośrodka. Dyrektorem zarządzającym DDC był Leif Rystøm. Kiedy około 1984 roku osiągnął największe rozmiary, w DDC pracowało około 30–35 profesjonalnych pracowników, łącznie około 40 pracowników. Do 1984 r. DDC dysponowało budżetem w wysokości 13 mln DKK, co stanowi znaczny wzrost w stosunku do początkowego budżetu wynoszącego 1 mln DKK. Wielu zatrudnionych inżynierów pochodziło z DTU i Uniwersytetu Kopenhaskiego . Na początku ośrodek mieścił się w budynku na terenie kampusu DTU, ale potem został zlokalizowany w przebudowanej fabryce włókienniczej wzdłuż Mølleåen , w pobliżu centrum Lyngby.
za nie nagrodę IG Prize Danish Design Center .
przyznawaną przezCHILLOWE projekty
W 1978 roku Bjørner zainteresował się stworzeniem formalnej definicji, używając semantyki denotacyjnej , opracowywanego wówczas języka programowania CHILL . Prace nad formalną definicją CHILL rozpoczęły się w tym roku na prośbę Teleteknisk Forskningslaboratorium, przydzielonego do grupy w ramach Comité Consultatif International Téléphonique et Télégraphique (CCITT) i prowadzonej na DTU, przy udziale około osiemnastu studentów. Po utworzeniu DDC formalna definicja została tam zakończona w 1980 i 1981 r. Opinie na temat wartości wysiłku są różne: Bjørner stwierdził, że odkrył problem definicyjny, który doprowadził do uproszczenia języka, podczas gdy Remi Bourgonjon z firmy Philips , organizator z Forum Implementatorów zorganizowanego przez CCITT, uznał, że formalna definicja jest zbyt skomplikowana i przyszła za późno, aby przynieść korzyści projektantom kompilatorów firmy CHILL.
W tym samym czasie opracowano kompilator CHILL, ponownie rozpoczynający się przed DDC, ale uzupełniony przez niego i TFL. Został opracowany przy użyciu metod formalnych. Obie organizacje udostępniły publicznie kompilator, który odegrałby ważną rolę w edukacji dotyczącej języka CHILL. Został również zaadaptowany przez brytyjską firmę Imperial Software Technology z nowym generatorem kodu i znalazł zastosowanie przez GEC i innych w latach 80-tych.
Wspólny projekt, który GEC i DDC przeprowadziły na początku lat 80., polegał na zbadaniu włączenia CHILL do środowiska wspomagającego programowanie Ada (APSE), aby wspierać projekty wykorzystujące oba języki. W ramach projektu DDC wykorzystano badanie semantyki denotacyjnej obu języków i stwierdzono, że taka integracja jest technicznie wykonalna.
DDC nadal było zaangażowane w publikowanie artykułów na konferencjach CHILL w pierwszej połowie lat 80., ale nie później.
Projekty Ady
Pojawienie się sponsorowania przez Departament Obrony Stanów Zjednoczonych języka programowania Ada w latach 1979–80 doprowadziło do zainteresowania Europy nowym językiem, a Komisja Wspólnot Europejskich (CEC) zdecydowała o przeznaczeniu funduszy na europejski kompilator Ada i system runtime. Konsorcjum Olivetti z Włoch i DDC oraz Christian Rovsing z Danii złożyło ofertę, która na początku 1981 roku wygrała z faworyzowaną wcześniej ofertą konsorcjum francusko-niemieckiego; połowa finansowania pochodziłaby z CEC, a połowa ze źródeł duńskich. Ole N. Oest został przeniesiony z Danish Defence Research Establishment do DDC, aby kierować pracami Ady.
DDC było odpowiedzialne za opracowanie przenośnego systemu programowania Ady. Wymagania obejmowały hostowanie kompilatora Ada na małych, 16-bitowych minikomputerach , takich jak między innymi Christian Rovsing CR80D i Olivetti M40, oraz możliwość zmieszczenia 80 kilobajtów kodu i 110 kilobajtów danych. W rezultacie kompilator został zbudowany z wielu przebiegów , w tym przypadku sześciu dla samego interfejsu, z linearyzowanymi drzewami przechowywanymi w plikach jako reprezentacją między przebiegami.
Proces tworzenia kompilatora składał się z czterech etapów: opracowanie formalnej specyfikacji Ady, opracowanie formalnej specyfikacji komponentów kompilatora; opracowanie bardziej szczegółowych specyfikacji formalnych poszczególnych przebiegów kompilatora; wdrożenie tych specyfikacji w samej Adzie. Spośród podejść formalnych, metoda wiedeńskiego rozwoju (VDM), ponieważ była dostosowana do użycia z językami komputerowymi i kompilatorami oraz ponieważ umożliwiała stopniowe udoskonalanie operacji oraz reprezentacji danych. Głównym celem procesu było udowodnienie, że wdrożenie jest równoważne ze specyfikacją. W przypadkach, gdy statyczna abstrakcyjna reprezentacja składni wymagała uwzględnienia dodatkowych ograniczeń, zdefiniowano kryteria prawidłowego sformułowania — kolejny aspekt VDM. Pierwszy krok w procesie, formalna specyfikacja dla Ady, została już rozpoczęta przez pięciu studentów DTU w 1980 roku w ramach ich prac magisterskich.
Ada była trudnym językiem do zaimplementowania, a wczesne próby zbudowania dla niego kompilatora często kończyły się rozczarowaniem lub całkowitą porażką. Kompilator DDC został zweryfikowany w VAX / VMS we wrześniu 1984 roku, będąc pierwszym europejskim kompilatorem Ada, który przeszedł pomyślnie i okazał się sukcesem. W tym momencie pochłonęło to około 44 osobolat pracy rozwojowej. Wskaźnik defektów i koszty utrzymania okazałyby się znacznie niższe dla kompilatora niż dla średniej branży oprogramowania.
Uwaga dotycząca wykorzystania VDM przez DDC w projektowaniu kompilatorów doprowadziła do zainteresowania innych producentów komputerów i rozpoczęto sprzedaż czegoś, co stało się znane jako zestaw DDC OEM Compiler Kit (nazwa jest odniesieniem do modelu biznesowego producenta oryginalnego sprzętu ) . System kompilatora oferował dwa punkty do ponownego kierowania, język pośredni wysokiego poziomu o strukturze drzewa i sekwencję instrukcji dla abstrakcyjnej maszyny stosowej; to drugie oznaczało krótsze czasy projektu, ale zwykle nie najbardziej zoptymalizowany generowany kod. (Nad abstrakcyjną maszyną wirtualną opartą na stosie pracował również Christian Rovsing; był też pomysł ewentualnego zaimplementowania jej w sprzęcie lub oprogramowaniu układowym). Pierwsza taka sprzedaż OEM była skierowana do firmy Nokia w celu ponownego hostowania na Nokia MPS 10. Druga , z kontraktem zawartym w lutym 1984 roku, był z Honeywell Information Systems w Bostonie. W ten sposób kompilator został ponownie hostowany i skierowany do Honeywell DPS6 i zatwierdzony w listopadzie 1984 r.
Ponadto zaczęto opracowywać kompilatory krzyżowe , przy czym DDC wykonał jeden od VAX / VMS do Intel 8086 , rozpoczynając linię produktów, która odniosła sukces. W grudniu 1984 r. DDC podpisało umowę z firmą Advanced Computer Techniques w Nowym Jorku, opartą na umowie licencyjnej. Zaczęli używać interfejsu DDC do opracowania cross-kompilatora dla MIL-STD-1750A , który stałby się dość udanym produktem dla wielu klientów.
Sukces projektu Ada doprowadził do powstania w 1985 roku oddzielnej firmy o nazwie DDC International A/S w celu komercjalizacji systemu kompilatora Ada; Oest został mianowany dyrektorem zarządzającym firmy. w stanie Arizona powstała amerykańska filia tej firmy, DDC-I, Inc.
Równolegle z pracami nad kompilatorem, na różnych frontach podejmowano naciski, aby zapewnić formalną definicję Ady, wypróbowując kilka różnych podejść i metajęzyków. Niektórzy Europejczycy argumentowali, że takie zadanie ma kluczowe znaczenie i że jest to jedyna podstawa, na której należy opublikować normę ISO dla tego języka. CEC była sponsorem tej pracy, a kontrakt wygrał DDC we współpracy z dwoma włoskimi instytutami badawczymi, Istituto di Elaborazione dell'Informazione (IEI) w Pizie i Consorzio per la Ricerca e le Applicazioni di Informatica (CRAI) w Genui, z prace rozpoczęto w 1984 r. Dodatkowych konsultacji w ramach projektu udzielili pracownicy Uniwersytetu w Genui , Uniwersytetu w Pizie oraz DTU. Prace zbudowały poprzednie formalne definicje, które zostały wykonane w DTU i przez DDC na początku projektu kompilatora Ada, ale potrzebne były dalsze prace, aby zdefiniować cały język, a Meta-IV musiał zostać rozszerzony miejscami lub zastosowane alternatywne podejścia . Kulminacją tych wysiłków było opublikowanie w 1987 roku pełnej formalnej definicji Ady, obejmującej trzy oddzielne publikacje i łącznie osiem tomów. Chociaż wysiłek ten doprowadził do lepszego zrozumienia języka i wprowadzenia szeregu wyjaśnień, ostatecznie ostateczna definicja języka pozostała definicją języka naturalnego w Ada Language Reference Manual.
projekty RAISE
Wykorzystanie VDM w projektach CHILL i Ada ujawniło potrzebę udoskonalenia formalnych technik specyfikacji, aw 1983 roku DDC przeprowadziło badanie oceny metod formalnych, tworząc szereg wymagań, które powinien zawierać formalny język specyfikacji.
Następnie DDC otrzymało kontrakt z CEC na opracowanie następcy VDM, który nosił nazwę RAISE (Rigorous Approach to Industrial Software Engineering). Dokonano tego w konsorcjum z STC Technology z Wielkiej Brytanii, które pomogło w stworzeniu nowej technologii, oraz z Nordisk Brown Boveri z Danii i International Computers Limited z Wielkiej Brytanii, które wykorzystały ją w warunkach przemysłowych. Projekt wymagał około 120 osobolat wysiłku i miał na celu stworzenie języka o szerokim spektrum , przeznaczonego do obsługi każdego poziomu, od początkowego, abstrakcyjnego wysokiego poziomu do jednego poziomu powyżej programowania. Starał się zaradzić słabościom VDM w odniesieniu do modułowości, współbieżności i braku narzędzi, a także dążył do ujednolicenia podejść przyjętych w notacji Z , CSP , Larch i OBJ .
Oprócz języka specyfikacji RAISE w ramach projektu opracowano również opis najlepszych praktyk dotyczących metody RAISE oraz zestaw narzędzi RAISE.
Inne projekty
W 1981 roku DDC, we współpracy z niektórymi ze swoich członków, przeprowadziło badanie wielu dostępnych wówczas inicjatyw i produktów automatyzacji pracy biurowej i opublikowało przewodnik po taksonomii i terminologii, w którym przeanalizowano tę dziedzinę. Następnie określili ogólny system automatyzacji biura, używając zarówno VDM, jak i nieformalnego języka.
Później, w latach 1983–1987, DDC pracował jako podwykonawca członka ØK Data on the Functional Analysis of Office Requirements (FAOR) w ramach projektu ESPRIT .
DDC prowadził również kursy i seminaria na różne tematy związane z rozwojem oprogramowania, a od 1987 r. Zainicjował kwartalnik Cubus w języku duńskim , w którym omawiano różne tematy techniczne i naukowe w celu zaangażowania się w transfer technologii.
Zakończenie i dziedzictwo
W trakcie istnienia centrum niektórzy członkowie założyciele stracili zainteresowanie jego pracą, ponieważ kompilatory CHILL lub Ada nie były potrzebne, a prace RAISE były zbyt ambitne, aby można je było wykorzystać. Powszechna akceptacja Ady jako języka nie spełniła oczekiwań, a sprzedaż produktów Ady przez DDC-I nie przyniosła wystarczających zysków, aby pieniądze mogły płynąć do DDC. Problemem stało się trwałe finansowanie, dlatego w 1989 roku Dansk Datamatik Center zostało zamknięte.
Prace nad produktami Ada były prowadzone przez DDC-I, gdzie były wykorzystywane w wielu projektach lotniczych i kosmicznych o dużej widoczności i podobnych. Najbardziej znanym z nich było Airplane Information Management System dla samolotu pasażerskiego Boeing 777 . Kolejni twórcy kompilatora DDC-I Ada często nie byli tak dobrze zorientowani w metodach formalnych, jak pierwotni programiści. Produkty Ada nadal generowałyby przychody dla DDC-I do 2010 roku.
Prace DDC i personel RAISE zostały przeniesione do Computer Resources International (CRI) w 1988 roku. Wykorzystali je jako podstawę europejskiego projektu ESPRIT II LaCoS w latach 90. Wysiłek RAISE został następnie sprzedany firmie Terma A/S , która wykorzystuje go w ramach pracy dla Europejskiej Agencji Kosmicznej i różnych projektów przemysłu obronnego.
DDC było stosunkowo mało zaangażowane w skandynawski świat oprogramowania, ponieważ opierało się na partnerach i funduszach z Unii Europejskiej , a Dania była wówczas jedynym krajem skandynawskim w UE. Również duński sektor finansowy nigdy nie wykazywał zainteresowania pracą DDC. Patrząc wstecz, założyciele centrum stwierdzili, że „DDC zawiodło [przekonanie] dużych duńskich firm o korzyściach płynących z korzystania z niezawodnego tworzenia oprogramowania w oparciu o metody formalne. (Ale DDC nie próbowało zbyt wiele). Badacze DDC wierzyli, że ich praca była nadal korzystna w uświadamianiu duńskich firm technologicznych o nowoczesnych podejściach do tworzenia oprogramowania i zapełnianiu tych firm aż setką projektantów i programistów oprogramowania, którzy pracowali w DDC, i że w każdym razie „DDC zakończył duża liczba projektów o lepszej wydajności i wyższej jakości produktu niż to było powszechne w latach 80-tych”. W badaniu z 2014 roku obejmującym czterdzieści lat wysiłków na rzecz metod formalnych, Bjørner i Klaus Havelund ubolewali, że przyjęcie metod formalnych nie stało się powszechne w branży oprogramowania i odnieśli się do kompilatora DDC Ada jako niedocenionej historii sukcesu wartości takiego zastosowania.
Bibliografia
- Bjørner, Dines; Oest, Ole N., wyd. (1980). Notatki z wykładu z informatyki 98: w kierunku formalnego opisu Ady . Springer-Verlag.
- Bjørner, Dines; Gram, chrześcijanin; Oest, Ole N.; Rystrøm, Leif (2011). „Duńskie Centrum Datamatik”. W Impagliazzo, Jan; Lundin, Per; Wangler, Benkt (red.). Historia Nordic Computing 3: Postępy IFIP w technologii informacyjnej i komunikacyjnej . Skoczek. s. 350–359. Nieco rozszerzona wersja tego rozdziału jest dostępna online pod adresem https://www.researchgate.net/publication/221271386_Dansk_Datamatik_Center . Dalsza rozszerzona wersja jest częścią internetowych wspomnień Bjørnera pod adresem http://www.imm.dtu.dk/~dibj/trivia/node5.html . Prezentacja slajdów Grama oparta na artykule jest dostępna online jako Dlaczego Dansk Datamatik Center?
- Bjørner, Dines; Havelund, Klaus. „40 lat metod formalnych: niektóre przeszkody i pewne możliwości?”. FM 2014: Metody formalne: 19. Międzynarodowe Sympozjum, Singapur, 12–16 maja 2014 r. Obrady . Skoczek. s. 42–61.
- Bundgaard, Jørgen (maj 1985). „Rozwój interfejsu Ada dla małych komputerów”. SIGAda '85: Materiały z dorocznej międzynarodowej konferencji ACM SIGAda w 1985 r. Poświęconej Adzie . Stowarzyszenie Maszyn Komputerowych. s. 321–328.
- Clemmensen, Geert B.; Oest, Ole N. (marzec 1984). „Formalna specyfikacja i rozwój kompilatora Ada - studium przypadku VDM”. ICSE '84 Materiały z 7. międzynarodowej konferencji poświęconej inżynierii oprogramowania . IEEE Naciśnij. s. 430–440.
- Clemmensen, Geert B. (styczeń 1986). „Retargeting i rehosting systemu kompilatora DDC Ada: studium przypadku - Honeywell DPS 6” . ACM SIGAda Ada Letters . 6 (1): 22–28. doi : 10.1145/382256.382794 . S2CID 16337448 .
- Fitzgerald, John S.; Larsen, Peter Gorm; Verhoef, Marcel (2009). „Wiedeńska metoda rozwoju”. W Wah, Benjamin W. (red.). Wiley Encyklopedia Informatyki i Inżynierii . Wileya. s. 2971–2982.
- Jerzy, Krysiu. „Język specyfikacji RAISE: samouczek” . VDM '91: Formalne metody tworzenia oprogramowania: 4. Międzynarodowe Sympozjum VDM Europe, Noordwijkerhout, Holandia, październik 1991, Proceedings . Tom. 2. Springer-Verlag. s. 238–319.
- Ibsen, Leif (styczeń 1984). „Przenośna maszyna wirtualna dla Ady”. Oprogramowanie: praktyka i doświadczenie . 14 (1): 17–29. doi : 10.1002/spe.4380140104 . S2CID 206508565 .
- Meiling, Eryk; Palm, Steen U. (styczeń – luty 1984). „Studium porównawcze CHILL i Ady na podstawie opisów denotacyjnych”. ACM SIGAda Ada Letters . 3 (4): 78–91. doi : 10.1145/989954.989959 . S2CID 17168261 .
- O'Regan, Gerard (2006). Matematyczne podejście do jakości oprogramowania . Londyn: Springer.
- Paulsen, Gard (2011). Między i między: oprogramowanie w telekomunikacji a językiem programowania Chill, 1974–1999 (doktorat). Oslo: BI Norweska Szkoła Biznesu.
- Pedersen, Jan Storbank. „VDM w trzech pokoleniach formalnych opisów Ady”. VDM '87: Formalna metoda VDM-A w pracy: Sympozjum VDM-Europe 1987, Bruksela, Belgia, marzec 1987, Proceedings . Springer-Verlag. s. 33–48.
- Prehn, Soren. „Od VDM do RAISE”. VDM '87: Formalna metoda VDM-A w pracy: Sympozjum VDM-Europe 1987, Bruksela, Belgia, marzec 1987, Proceedings . Springer-Verlag. s. 141–150.
- „Wywiad z Oscarem Schachterem” (wywiad). Wywiad przeprowadził Thomas Haigh. Charles Babbage Institute, University of Minnesota. 7 maja 2004. Wpis WorldCat
- Whitaker, William A. (1996). „Ada — projekt: grupa robocza ds. języków wysokiego rzędu DoD” . W Bergin, Thomas J.; Gibson, Richard G. (red.). Historia języków programowania — II . Addison-Wesley Professional. s. 173–232.
- 1979 zakładów w Danii
- Ada (język programowania)
- Firmy z siedzibą w gminie Lyngby-Taarbæk
- Organizacje badawcze w dziedzinie informatyki
- Nieistniejące organizacje z siedzibą w Danii
- Organizacje metod formalnych
- Organizacje rozwiązane w 1989 roku
- Organizacje utworzone w 1979 r
- Organizacje naukowe z siedzibą w Danii
- Organizacje inżynierii oprogramowania