|Industry||safety-critical embedded software|
|Founded||1985Kongens Lyngby, Denmarkin|
|Bob Morris, President/CEO|
Ole N.Oest, founder/CTO
|Products||Real-time operating systems: Deos, HeartOS |
Compiler systems: Ada
DDC-I, Inc. is a privately held company providing software development of real-time operating systems, software development tools, and software services for safety-critical embedded applications, headquartered in Phoenix, Arizona. It was first created in 1985 as the Danish firm DDC International A/S (also known as DDC-I A/S), a commercial outgrowth of Dansk Datamatik Center, a Danish software research and development organization of the 1980s. The American subsidiary was created in 1986. For many years, the firm specialized in language compilers for the programming language Ada.
In 2003, the Danish office was closed and all operations moved to the Phoenix location.
The origins of DDC International A/S lay in Dansk Datamatik Center, a Danish software research and development organization that was formed in 1979 to demonstrate the value of using modern techniques, especially those involving formal methods, in software design and development. Among its several projects was the creation of a compiler system for the programming language Ada. Ada was a difficult language to implement and early compiler projects for it often proved disappointments. But the DDC compiler design was sound and it first passed the United States Department of Defense-sponsored Ada Compiler Validation Capability (ACVC) standardized suite of language and runtime tests on a VAX/VMS system in September 1984. As such, it was the first European Ada compiler to meet this standard.
Success of the Ada project led to a separate company being formed in 1985, called DDC International A/S, with the purpose of commercializing the Ada compiler system product. Like its originator, it was based in Lyngby, Denmark. Ole N. Oest was named the managing director of DDC International. In 1986, DDC-I, Inc. was founded as the American subsidiary company. Located in Phoenix, Arizona, it focused on sales, customer support, and engineering consulting activities in the United States.
DDC-I established a business in selling the Ada compiler system product, named DACS, directly to firms, both as software to develop projects in Ada with, and as source code to computer makers and others, who would rehost or retarget it to other processors and operating systems.
The first business sold both native compilers and cross compilers, with the latter more common since Ada was primarily used in the embedded systems realm. One of the first cross compilers that DDC-I developed was from VAX/VMS to the Intel 8086 and Intel 80286; the effort was already underway by early 1985. It began as a joint venture with the Italian defense electronics company Selenia that would target both their MARA-860 and MARA-286 multi-microprocessor computers, based on the 8086 and 80286 architectures, and generic embedded and OS-hosting 8086 and 80286 systems. This work was the start of what would become the largest-selling product line for the firm. DDC-I developed a reputation for quality Ada cross compilers and runtime systems for Intel 80x86 processors.
The second business made use of what became termed the DDC OEM Compiler Kit, who could be using the Ada front end for compilers to other hosts or targets or for other tools such as VLSI. In a September 1985 meeting in Lund, Sweden, several of the OEM Kit customers formed the DDC Ada Compiler Retargeter's Group. It held at least three meetings over the course of 1985 and 1986. The early OEM customers included the University of Lund, Defence Materiel Administration, and Ericsson Radio Systems in Sweden; Softplan and Nokia Information Systems in Finland; Selenia and Olivetti in Italy; ICL Defence Systems and STL Ltd in the United Kingdom; Aitech Software Engineering in Israel; and Advanced Computer Techniques, Rockwell Collins, Control Data Corporation, and General Systems Group in the United States.
Later developers were often less well versed in formal methods and did not use them in their work on the compiler. This was even more so in the case of companies retargeting the compiler, many of which were unfamiliar with the Ada language.
DDC-I was in the same market as several other Ada compiler firms, including Alsys, TeleSoft, Verdix, Tartan Laboratories, and TLD Systems. (DDC-I would go on to stay in business longer than any of these others.) As with other Ada compiler vendors, much of the time of DDC-I engineers was spent in conforming to the large, difficult ACVC tests.
Starting in 1988 and continuing for several years, DDC-I consultants collaborated with Honeywell Air Transport Systems to retarget and optimize the DDC-I Ada compiler to the AMD 29050 processor. This DDC-I-based cross compiler system was used to develop the primary flight software for the Boeing 777 airliner. This software, named the Airplane Information Management System, would become arguably the best-known of any Ada-in-use project, civilian or military. Some 550 developers at Honeywell worked on the flight system and it was publicized as a major Ada success story.
In October 1991, it was announced that DDC-I had acquired the Ada and JOVIAL language embedded systems business of InterACT, which had become a venture of Advanced Computer Techniques. This wholly owned New York-based entity was briefly named DDC-Inter before being subsumed into DDC-I proper. This brought Ada cross compilers for the MIL-STD-1750A and MIPS R3000 processors, and JOVIAL language cross compilers for the MIL-STD-1750A and Zilog Z8002 into the product line. The MIPS product was one which DDC-I emphasised, with engineering efforts that included automatic recognition of certain tasking optimizations, and work in the U.S. Air Force-sponsored Common Ada Runtime System (CARTS) project towards providing standard interfaces into Ada runtime environments.
At the end of 1993, the New York office was closed, and its work transferred to the Phoenix office.
By the early 1990s, DDC-I offered Ada native compilers for VAX/VMS, Sun-3 and SPARC under SunOS, and Intel 80386 under UNIX System V and OS/2, and offered cross compilers for the Motorola 680x0 and Intel i860 in addition to the abovementioned targets.
Ada 95 and explorations of other product lines
In the early 1990s, DDC-I worked on redesigning the compiler system for the wide-ranging Ada 95 revision of the language standard. They used a new object-based programming design and still adhered to a formal methods approach as well, using VDM-SL. The work was done under sponsorship of the European Community-based Open Microprocessor Initiative's Global Language and Uniform Environment -project (OMI/GLUE), where DDC-I's role was to create a compiler targeting the Architecture Neutral Distribution Format (ANDF) intermediate form, with the intention of bringing Ada 95 to more platforms quickly. As part of this work, DDC-I collaborated with the Defence Evaluation and Research Agency in expanding some of ANDF's abilities to express semantics of Ada and the fast-growing programming language C++. Work in Ada-specific areas, such as bounds-checking elimination, was done to get optimal run-time performance.
The Ada software environment was originally thought to be a promising market. But the Ada compiler business proved to be a difficult one to be in. During this time, 1987–97, a U.S. government mandate for Ada use was in effect, albeit with some waivers granted. Many of the advantages of the language for general-purpose programming were not seen as such by the general software engineering community or by educators. The sales situation was challenging, with periodic small layoffs. Despite consolidation among other Ada tool providers, DDC-I remained an independent company.
In any case, DDC-I was an enthusiastic advocate of the Ada language, for use in the company and externally. A paper one of its engineers published in 1993 assessed Ada 95's object-oriented features favorably to those of C++ and attracted some attention.
At the same time, the firm attempted to expand and augment its product line. The RAISE toolset was available, as was Cedar, a design tool for real-time systems. Also offered was Beologic, a tool to develop and run state/event parts of applications, that had been licensed from Bang & Olufsen and integrated with the Ada compiler system. The biggest effort was in the direction of C++. DDC-I began offering 1st Object Exec, a C++-based real-time operating system intended for direct, object-level support of embedded applications. Despite considerable efforts during 1993–94, 1st Object Exec failed to gain traction in the marketplace.
The one area where Ada did gain a solid foothold was in real-time, high-reliability, high-integrity, safety-critical applications such as aerospace. Based on its experience with Honeywell and other customers, DDC-I acquired expertise in the mapping of Ada language and runtime features to the requirements of safety-critical certifications, in particular those for the DO-178B (Software Considerations in Airborne Systems and Equipment Certification) standard, and provided tools for that process. Such applications continued even after the Ada mandate was dropped in 1997. For instance, in 1997 the firm was awarded a joint contract with Sikorsky Aircraft and Boeing Defense & Space Group's Helicopters Division to develop software to be used in the Boeing/Sikorsky RAH-66 Comanche.
Support for mixed language development was added in 2000 with the addition of the programming language C as part of DDC-I's mixed-language integrated development environment for SCORE (for Safety-Critical, Object-oriented, Real-time Embedded). Leveraging the ANDF format, the DWARF standardized debugging format, and the OMI protocol for communicating with target board debug monitors, SCORE was able to provide a common building and debugging environment for real-time application developers. Support for Embedded C++ was added to SCORE in 2003, by which time it could integrate with a variety of target board scenarios on Intel x86 and Power PC processors. The C and Embedded C++ compilers for ANDF came from a licensing arrangement for the TenDRA Compiler (later DDC-I became the maintainer of those compilers). Subsequently, Ada 95 support for the older 1750A and TMS320C4x processors was added to SCORE.
U.S. headquarters and real-time operating systems
By April 2003 the industry move away from Ada and the declining position of the aircraft industry had taken its toll and DDC-I suffered significant financial losses. DDC-I decided to close its Denmark office in Lyngby and move all operations to Phoenix.
In September 2005, the company named Bob Morris, formerly of LynuxWorks, as its president and chief executive officer. Oest became Chief Technology Officer. In April 2006, DDC-I moved to new offices in northern Phoenix, stating that it was expanding and that it expected revenue to grow 40–50 percent over the previous year.
Since 2006, the company has been contributing to the Java Expert Group for Safety Critical Java. This work, which uses the Real-time specification for Java as a base and then specifies language and library subsets and coding rules for use to provide sufficient determinism, is seen by the firm's representatives as making Java possibly equal or superior to either Ada or C++ as a language for safety-critical applications. The company has viewed the safety-critical Java profile as one that can help the defense industry deal with the issue of aging software and hardware applications. By 2008, DDC-I was referring to Ada as a legacy language and offering semi-automated tools and professional services to help customers migrate to newer solutions.
In November 2008, the company entered the embedded real-time operating system (RTOS) market with two products, Deos and HeartOS. Both were based on underlying software technology originated at Honeywell International and already deployed on many commercial and military aircraft. As part of the action, DDC-I hired some of the key Honeywell engineering staff who had designed Deos. Other firms in the same RTOS market segment as DDC-I include LynuxWorks, Wind River Systems, SYSGO, and Express Logic.
- Deos is a time and space partitioned real-time operating system (RTOS) that was first certified to DO-178B level A in 1998. Deos contains several patented architectural features including enhancements for processor utilization, binary software reuse and safe scheduling for multi-core processors. Deos users have the ability to add on optional ARINC 653 personality modules designed to fit different application needs. Deos supports the processors ARM, MIPS, PowerPC, and x86, and is supported by popular SSL/TLS libraries such as wolfSSL. It was listed as one of the Hot 100 Electronic Products of 2009 by EDN magazine.
- HeartOS is a POSIX-based hard real-time operating system, designed for small to medium embedded applications including safety-critical types. It supports ARM, PowerPC, x86 and other 16-bit and 32-bit processors. It is configurable without the POSIX interface layer for memory-constrained systems.
- OpenArbor is an Eclipse-based integrated development environment for C, Embedded C++, and Ada application development. It was announced in 2007.
- SCORE is a mixed-language set of integrated tools for safety-critical, object-oriented, real-time embedded software applications, supporting Ada, C, and Embedded C++ applications for a variety of embedded architectures.
- Legacy Ada 83 and JOVIAL compiler system products also continue to be supported.
- Bjørner, Dines; Gram, Christian; Oest, Ole N.; Rystrøm, Leif (2011). "Dansk Datamatik Center". In Impagliazzo, John; Lundin, Per; Wangler, Benkt (eds.). History of Nordic Computing 3: IFIP Advances in Information and Communication Technology. Springer. pp. 350–359. A slightly expanded version of this chapter is available online at https://www.researchgate.net/publication/221271386_Dansk_Datamatik_Center. A further expanded version is part of Bjørner's online memoir at http://www.imm.dtu.dk/~dibj/trivia/node5.html. A slides presentation by Gram based on the paper is available online as Why Dansk Datamatik Center?
- Bjørner, Dines; Havelund, Klaus. "40 Years of Formal Methods: Some Obstacles and Some Possibilities?". FM 2014: Formal Methods: 19th International Symposium, Singapore, May 12–16, 2014. Proceedings. Springer. pp. 42–61.
- Bundgaard, Jørgen (May 1985). "The development of an Ada front end for small computers". SIGAda '85: Proceedings of the 1985 annual ACM SIGAda international conference on Ada. Association for Computing Machinery. pp. 321–328.
- Bundgaard, Jørgen. "An ANDF based Ada 95 compiler system". Proceedings of the conference on TRI-Ada '95, November 5–10, 1995. Association for Computing Machinery. pp. 436–445.
- Clemmensen, Geert B.; Oest, Ole N. (March 1984). "Formal specification and development of an Ada compiler – a VDM case study". ICSE '84 Proceedings of the 7th international conference on Software engineering. IEEE Press. pp. 430–440.
- Clemmensen, Geert B. (January 1986). "Retargeting and rehosting the DDC Ada compiler system: A case study – the Honeywell DPS 6". ACM SIGAda Ada Letters. 6 (1): 22–28. doi:10.1145/382256.382794. S2CID 16337448.
- Newsletter. DDC Ada Compiler Retargeter's Group. Vol. 1. November 1985.
- Newsletter. DDC Ada Compiler Retargeter's Group. Vol. 2. August 1986.
- Newsletter. DDC Ada Compiler Retargeter's Group. Vol. 3. December 1986.
- Fergany, Adel; Szewerenko, Leland; Rabinowitz, Moshe; Solomon, Eliezer N.; Pitarys, Marc; Benjamin, Clive L. "The implementation of asynchronous entry calls on two different architectures". NAECON 1993: Proceedings of the IEEE 1993 National Aerospace and Electronics Conference, May 24–28, 1993. pp. 486–495.
- Fitzgerald, John S.; Larsen, Peter Gorm; Verhoef, Marcel (2009). "Vienna Development Method". In Wah, Benjamin W. (ed.). Wiley Encyclopedia of Computer Science and Engineering. Wiley. pp. 2971–2982.
- Frost, Jacob. "An Ada95 Solution for Certification of Embedded Safety Critical Applications". Reliable Software Technologies – Ada-Europe '99. pp. 52–63.
- George, Chris. "The RAISE Specification Language: A Tutorial". VDM '91: Formal Software Development Methods: 4th International Symposium of VDM Europe, Noordwijkerhout, The Netherlands, October 1991, Proceedings. Vol. 2. Springer-Verlag. pp. 238–319.
- Ibsen, Leif (January 1984). "A portable virtual machine for Ada". Software: Practice and Experience. 14 (1): 17–29. doi:10.1002/spe.4380140104. S2CID 206508565.
- Jorgensen, Jesper. "A Comparison of the Object Oriented Features of Ada 9X and C++". Ada-Europe '93: 12th Ada-Europe International Conference, Paris, France, June 14–18, 1993. Proceedings. pp. 125–141.
- Mancusi, Richard; Tokar, Joyce L.; Rabinowitz, Moshe; Solomon, Eliezer N.; Pitarys, Marc; Benjamin, Clive L. "Real and Virtual Interrupt Support: The Mapping of a CARTS Feature to Two Different Architectures". Ada-Europe '93: 12th Ada-Europe International Conference, Paris, France, June 14–18, 1993. Proceedings. pp. 314–329.
- Møller, Peter Lützen. "Run-time check elimination for Ada 9X". Proceedings of the conference on TRI-Ada '94, November 6–11, 1994. Association for Computing Machinery. pp. 122–128.
- Rehmer, Karl (2009). "The HADS Team". In Stellman, Andrew; Greene, Jennifer (eds.). Beautiful Teams: Inspiring and Cautionary Tales from Veteran Team Leaders. Sebastopol, California: O'Reilly. pp. 299–312.
- Rosen, Jean-Pierre (September 2009). "The Ada paradox(es)". SIGAda Ada Letters. 29 (2): 28–35. doi:10.1145/1620593.1620597. S2CID 608405.
- "An Interview with Oscar Schachter" (Interview). Interviewed by Thomas Haigh. Charles Babbage Institute, University of Minnesota. 7 May 2004.WorldCat entry
- Schilling, Jonathan L. "Use of Ada in a Commercial, Small Company Environment". WADAS '93 Proceedings of the Tenth Annual Washington Ada symposium on Ada: June 28 – July 1, 1993. ACM. pp. 89–94.
- Schilling, Jonathan L.; Nielsen, Johan Olmütz (May–June 1994). "Automatic compiler recognition of monitor tasks". SIGAda Ada Letters. 14 (3): 91–104. doi:10.1145/181468.181474. S2CID 17557993.
- Sward, Ricky E. (November 2010). "The rise, fall and persistence of Ada". SIGAda '10: Proceedings of the ACM SIGAda annual international conference on SIGAda. pp. 71–74.
- Whitaker, William A. (1996). "Ada—The Project: The DoD High Order Language Working Group". In Bergin, Thomas J.; Gibson, Richard G. (eds.). History of Programming Languages—II. Addison-Wesley Professional. pp. 173–232. ISBN 9780201895025.
- Whitaker, "Ada—The Project", pp. 217–218.
- Bundgaard, "The development of an Ada front end for small computers", p. 322.
- Clemmensen, "Retargeting and rehosting the DDC Ada compiler system", p. 22.
- Acly, Ed (March 25, 1985). "C, Ada & Lisp: A Tale of Three Languages". Computerworld. p. ID-1.
- Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", p. 351.
- Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", expanded version, p. 11.
- "DDC-I, INC". OpenCorporates. Retrieved September 20, 2015.
- Rehmer, "The HADS Team", p. 300.
- Bundgaard, "The development of an Ada front end for small computers", p. 328.
- Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", pp. 354.
- DDC Ada Compiler Retargeter's Group, Newsletter No 2, pp. 35–36.
- "Products". Journal of Pascal, Ada & Modula-2. Vol. 5. March–April 1986. p. 70.
- DDC Ada Compiler Retargeter's Group, Newsletter No 1, pp. 7–8; No 2, pp. 5–7; No 3, pp. 13–15a.
- Bjørner and Havelund, "40 Years of Formal Methods", p. 48.
- Rehmer, "The HADS Team", p. 306.
- Schilling, "Use of Ada in a Commercial, Small Company Environment", pp. 89–91.
- Rehmer, "The HADS Team", pp. 305, 306, 307.
- Rosen, "The Ada paradox(es)", p. 29.
- Rehmer, "The HADS Team", pp. 299, 302.
- "Boeing Flies on 99% Ada". Ada Information Clearinghouse. Archived from the original on November 5, 2015. Retrieved October 24, 2015.
- Wolfe, Alexander (October 2004). "There's Still Some Life Left in Ada". ACM Queue. Also at http://delivery.acm.org/10.1145/1040000/1035608/p28-wolfe.pdf[permanent dead link]
- "DDC International Acquires Cross Tools Business of InterACT; Forms New Business Unit" (Press release). DDC-I. October 4, 1991.
- Schilling and Nielsen, "Automatic compiler recognition of monitor tasks", pp. 91, 100–102.
- Mancusi et al., "Real and Virtual Interrupt Support: The Mapping of a CARTS Feature to Two Different Architectures".
- Fergany et al., "The implementation of asynchronous entry calls on two different architectures".
- "DDC International News". DDC International A/S. Summer 1992.
- "Ada Validated Compilers List". Ada Information Clearinghouse. July 1, 1992. pp. 8–10.
- Bundgaard, Jørgen (November 17, 1992). A Practical Approach to Applying the Object Model to Construction of an Ada 9X Compiler System (Report). DDC-I.
- Bundgaard, "An ANDF based Ada 95 compiler system", p. 436.
- "TDF Diagnostic Specification". Defence Evaluation and Research Agency. July 30, 1998. Archived from the original on April 11, 2016. Retrieved January 17, 2016.
- Møller, "Run-time check elimination for Ada 9X", pp. 122, 126–128.
- "Small Firms Capitalize on Pentagon Software". Los Angeles Times. Reuters. November 25, 1985.
- Rosen, "The Ada paradox(es)", p. 34.
- Sward, "The rise, fall and persistence of Ada", p. 71.
- Rosen, "The Ada paradox(es)", pp. 32–33.
- Ada and Beyond: Software Policies for the Department of Defense. Committee on the Past and Present Contexts for the Use of Ada in the Department of Defense, Computer Science and Telecommunications Board, National Research Council. 1997. p. 11.
- Schilling, "Use of Ada in a Commercial, Small Company Environment", pp. 89, 93.
- Jorgensen, "A Comparison of the Object Oriented Features of Ada 9X and C++", pp. 140–141.
- "Ada Products & Tools: Part 2". Ada Joint Program Office. November 20, 1998.
- "DDC International A/S Introduces 1st Object Exec". Dr. Dobb's Journal. March 1994.
- Rosen, "The Ada paradox(es)", pp. 33–34.
- Feldman, Michael B. (November 2014). "Who's Using Ada? Real-World Projects Powered by the Ada Programming Language". George Washington University. Retrieved October 7, 2015.
- Frost, "An Ada95 Solution for Certification of Embedded Safety Critical Applications", pp. 52–53
- "High-tech aircraft contract". Phoenix Business Journal. May 23, 1997.
- "Texas Instruments appoints DDC-I Exclusive Distributor for Three Ada Products" (Press release). DDC-I, Texas Instruments. March 13, 1998.
- "DDC-I's New SCORE Ada System Uses Open Standards". Conference Announcements. SIGAda. March 2, 2000. Retrieved January 17, 2016.
- "DDC-I's SCORE Technology – including Integration with OSE RTOS". DDC-I. Retrieved January 11, 2016.
- "DDC-I Announces Availability of SCORE Integrated Development Environment for TMS320C40 DSP" (Press release). DDC-I. December 4, 2006. Archived from the original on 2016-03-04.
- Bjørner, Gram, Oest, and Rystrøm, "Dansk Datamatik Center", expanded version, p. 2.
- "DDC-I Names Bob Morris as President and Chief Executive Officer" (Press release). DDC-I. September 1, 2005. Archived from the original on 2016-02-16.
- Oest, Ole N. (June 24, 2008). "Migrating complex embedded systems". Military Embedded Systems.
- "DDC-I Inc. Moves Headquarters" (Press release). BusinessWire. April 24, 2006.
- "DDC-I Joins Safety-Critical Java Expert Group". The Free Library. November 17, 2006.
- Nielsen, Johan O.; Plans, Alex J. (March 2008). "Java computer language eyes safety-critical, real-time applications". Military & Aerospace Electronics.
- Oest, Ole N. (April 2, 2008). "Merging legacy software into contemporary system design". Military Embedded Systems.
- Cole, Bernard (November 17, 2008). "News: DDC-I enters embedded RTOS market with Deos and HeartOS". EE Times.
- "DDC-I Enters Embedded RTOS Market". Embedded Computing Design (Press release). November 17, 2008. Archived from the original on 2011-07-10.
- "DDC-I Announces Highest Performance and Most Readily Certifiable Safety-Critical RTOS". Military Embedded Systems (Press release). November 17, 2008.
- McKenna, Ed (April 2014). "Real Time Operating Systems Addressing the Certification, Security and Standards Dilemmas". Avionics.
- Cheung, Ken. "DDC-I Deos RTOS Supports Freescale e300 and e500 Core". Embeddedstar. Archived from the original on 2010-06-20. Retrieved 2010-08-30.
- Cole, Bernard (September 22, 2009). "DDC-I's Safety-Critical RTOS now available for Intel's Atom CPU". EETimes.
- "The Hot 100 Electronic Products of 2009". EDN. December 15, 2009. Archived from the original on April 3, 2012.
- "HeartOS RTOS Support for ARM Processor". Dr. Dobb's. March 19, 2010.
- "DDC-I Announces Eclipse-Based Mixed Language Development Suite for Real-Time Embedded Development" (Press release). Business Wire. October 15, 2007.
- "SCORE (Safety Critical, Object-oriented, Real-time Embedded) Mixed-Language Integrated Development Environment". DDC-I. Retrieved January 10, 2016.
- "Mature Development Systems, Field Proven on Hundreds of Applications". DDC-I. Retrieved January 10, 2016.