DDC-I
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, 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.
Origins
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 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.
Ada compiler
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.
As with other Ada compiler vendors, much of the time of DDC-I engineers was spent in conforming to the large, difficult Ada Compiler Validation Capability standardized language and runtime test suite.
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 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, where DDC-I's role was to create a compiler targeting the Architecture Neutral Distribution Format 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 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.
In March 1998, DDC-I acquired from Texas Instruments the development and sales and marketing rights to the Tartan Ada compilers for the Intel i960, Motorola 680x0, and MIL-STD-1750A targets.
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. 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. 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 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.
Products
- Deos is a time and space partitioned real-time operating system 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.