Dansk Datamatik Center (DDC) was a Danish software research and development centre that existed from 1979 to 1989. Its main purpose was to demonstrate the value of using modern techniques, especially those involving formal methods, in software design and development.

Three major projects dominated much of the centre's existence. The first concerned the formal specification and compilation of the CHILL programming language for use in telecommunication switches. The second involved the formal specification and compilation of the Ada programming language. Both the Ada and CHILL efforts made use of formal methods.Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", pp. 351–352. In particular, DDC worked with Meta-IV, an early version of the specification language of the Vienna Development Method (VDM) formal method for the development of computer-based systems. As founded by Dines Bjørner, this represented the "Danish School" of VDM.O'Regan, Mathematical Approaches to Software Quality, pp. 92–93. This use of VDM led in 1984 to the DDC Ada compiler becoming the first European Ada compiler to be validated by the United States Department of Defense.Fitzgerald, Larsen, and Verhoef, "Vienna Development Method". The third major project was dedicated towards creation of a new formal method, RAISE.

The success of the Ada compiler system would lead to creation of the commercial company DDC International A/S (DDC-I, Inc. in the US) in 1985, which would develop, productise, and market it both directly to customers and to other companies which would use it as the basis for their own Ada compiler products.

Origins

In spring 1979, Christian Gram, a computer scientist at the Technical University of Denmark (DTU)—located in Kongens Lyngby, north of Copenhagen—suggested to his colleague Dines Bjørner the idea of building an advanced software institute.Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", p. 350. Looking at the software crisis of the time, they felt that computer science had created foundational and theoretical approaches that if applied could make software development a more professional process and permit the development of large software systems on schedule and with quality.Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", pp. 350–351.

They approached the Akademiet for de Tekniske Videnskaber (ATV, the Danish Academy for Technical Sciences) with this idea, and in September 1979, Dansk Datamatik Center was formed as an ATV institute for advanced software development. (It was also referred to as the Danish Datamatics Centre in some early documents.) Ten large producers or users of information technology in Denmark became paying members of the new entity: , Crone & Koch, the Danish Defence Research Establishment, , , Kommunedata, Regnecentralen af 1979, Sparekassernes Datacenter, Teleteknisk Forskningslaboratorium (TFL), and ØK Data, with each member paying DKK 100,000 per year.Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", p. 351.

Bjørner became the scientific leader of the centre.Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", expanded version, p. 2. The managing director of DDC was Leif Rystrøm.Bjørner et al., "Dansk Datamatik Center", further expanded version. When it reached its greatest size around 1984, some 30–35 professional employees worked at DDC,Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", expanded version, p. 3. with about 40 employees in total. By 1984, DDC had a budget of DKK 13 million, a substantial increase from its initial budget of DKK 1 million.Gram et al., "Why Dansk Datamatik Center?", presentation version, slide 3. Many of the engineers hired came from DTU and Copenhagen University. In the beginning the centre was housed in a building on the DTU campus,Bjørner and Oest, Towards a Formal Description of Ada, p. xiii–xiv. but then it became located in a converted textile mill along the Mølleåen, close to Lyngby centre.Clemmensen, "Retargeting and rehosting the DDC Ada compiler system", author affiliation gives address of Dansk Datamatik Center as Lundtoftevej 1C, DK-2800 Lyngby; for history and location of that structure, see

The cube-inspired red logo of DDC was designed by Ole Friis, who in 1984 won the from the Danish Design Centre for it.

CHILL projects During 1978, Bjørner became interested in creating a formal definition, using denotational semantics, of the CHILL programming language then under development.Paulsen, Betwixt and between, pp. 137–138. Work on the formal definition of CHILL began that year based upon the request of Teleteknisk Forskningslaboratorium, assigned to a group under the Comité Consultatif International Téléphonique et Télégraphique (CCITT) and conducted at DTU,Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", p. 352. with some eighteen students working on the effort.Bjørner and Oest, Towards a Formal Description of Ada, p. vii. Once DDC was established, the formal definition was completed there in 1980 and 1981.Paulsen, Betwixt and between, p. 139. Opinions on the value of the effort differ: Bjørner has stated it discovered a definitional issue that led to the simplification of the language, while Remi Bourgonjon of Philips, the convener of the Implementors' Forum organized by the CCITT, thought the formal definition was too complicated and came too late to benefit CHILL compiler designers.Paulsen, Betwixt and between, pp. 139–140.

At the same time, a CHILL compiler was developed, again starting before DDC but completed by it and TFL. It was developed using formal methods. The two organisations made the compiler publicly available and it would have an important role in education concerning the CHILL language. It was also adapted by British firm Imperial Software Technology with a new code generator and found use by GEC and others during the 1980s.Paulsen, Betwixt and between, pp. 216–217.

A joint project that GEC and DDC carried out in the early 1980s was to investigate the incorporation of CHILL into an Ada Programming Support Environment (APSE), to support projects that used both languages .Paulsen, Betwixt and between, pp. 180, 216. DDC's part of the project used an examination of the denotational semantics of both languages and concluded that such an integration was technically feasible.Meiling and Palm, "A comparative study of CHILL and Ada on the basis of denotational descriptions", pp. 78, 88.

DDC continued to be involved in publishing papers at CHILL conferences during the first half of the 1980s, but not after that.Paulsen, Betwixt and between, p. 199.

Ada projects

The advent of the U.S. Defense Department sponsorship of the Ada programming language during the 1979–80 period led to European interest in the new language as well, and the Commission of the European Communities (CEC) decided to allocate funding for a European Ada compiler and runtime system.Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", p. 353. A consortium of Olivetti from Italy and DDC and Christian Rovsing from Denmark submitted a bid that in early 1981 won out over a previously favored bid from a French–German consortium; half of the funding would come from the CEC and half from Danish sources. Ole N. Oest was transferred from the Danish Defence Research Establishment to DDC to manage the Ada work.

DDC was responsible for developing a Portable Ada Programming System.Clemmensen and Oest, "Formal specification and development of an Ada compiler", p. 431. Requirements included hosting the Ada compiler on small, 16-bit minicomputers such as the Christian Rovsing CR80D and Olivetti M40, among other platforms, and being able to fit within 80 kilobytes code and 110 kilobytes data.Bundgaard, "The development of an Ada front end for small computers", p. 321. As a result, the compiler was constructed of many passes, in this case six for the front end alone, with linearized trees stored in files as the representation between passes.Bundgaard, "The development of an Ada front end for small computers", pp. 322, 325.

The compiler creation process went through four steps: development of a formal specification of Ada, development of a formal specification of the compiler components; development of more detailed formal specifications of particular compiler passes; implementation of these specifications in Ada itself.Clemmensen and Oest, "Formal specification and development of an Ada compiler", p. 432. Among formal approaches, using the Vienna Development Method (VDM) was advantageous in this project because it was tailored for use with computer languages and compilers and because it allowed stepwise refinement of operations as well as of data representations.Clemmensen and Oest, "Formal specification and development of an Ada compiler", p. 430. The central goal of the process was to prove that the implementation was equivalent to the specification.Clemmensen and Oest, "Formal specification and development of an Ada compiler", pp. 430–431. In cases where the static abstract syntax representation needed to have additional constraints incorporated, well-formedness criteria—another aspect of VDM—were defined.Clemmensen and Oest, "Formal specification and development of an Ada compiler", pp. 432, 440n. The first step in the process, a formal specification for Ada, had already been started by five students at DTU in 1980 as part of their master's theses.Bjørner and Oest, Towards a Formal Description of Ada, p. vi.

Ada was a difficult language to implement and early attempts to build a compiler for it often resulted in disappointment or outright failure.Whitaker, "Ada—The Project", pp. 217–218. The DDC compiler was validated on a VAX/VMS system in September 1984, being the first European Ada compiler to pass, and proved a success.Bundgaard, "The development of an Ada front end for small computers", p. 322.Clemmensen, "Retargeting and rehosting the DDC Ada compiler system", p. 22. At that point about 44 person-years of development work had gone into it. The defect rate and maintenance costs would prove to be significantly lower for the compiler than for the software industry average.

Attention regarding DDC's use of VDM in compiler design led to interest from other computer manufacturers and sales were made of what became known as the DDC OEM Compiler KitBjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", p. 354. (the name being a reference to the original equipment manufacturer business model). The compiler system offered two points for retargeting, a high-level tree-structured intermediate language and a sequence of instructions for an abstract stack machine; the latter meant shorter project times but usually not the most optimized generated code.Clemmensen, "Retargeting and rehosting the DDC Ada compiler system", pp. 24–25. (The abstract stack-based virtual machine was also worked on by Christian Rovsing; there was also some idea of possibly implementing it in hardware or firmware.Ibsen, "A portable virtual machine for Ada", pp. 17, 27.) The first such OEM sale was to Nokia, for rehosting on the Nokia MPS 10. The second, with a contract made in February 1984, was with Honeywell Information Systems in Boston. The compiler was thus rehosted and retargeted to the Honeywell DPS6 and validated in November 1984.Bundgaard, "The development of an Ada front end for small computers", p. 328.

In addition, cross compilers began to be developed, with DDC doing one from VAX/VMS to the Intel 8086, beginning what would become a successful line of products. In December 1984, DDC signed a contract with Advanced Computer Techniques in New York, based on a license royalty arrangement.Haigh, An Interview with Oscar Schachter, p. 22. They began using the DDC front end to develop a cross-compiler for the MIL-STD-1750A architecture, which would become a reasonably successful product with a number of customers.Haigh, An Interview with Oscar Schachter, pp. 17, 22.