Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP

HP.com home

CDL: The Yellow Brick Road


HP Labs

» Research
» News and events
» Technical reports
» About HP Labs
» Careers @ HP Labs
» People
» Worldwide sites
» Downloads
Content starts here
Problem Statement

In today's software development tools (such as VisualStudio and VisualAge), the choice about how a software component is deployed must be made at design time. There is substantial application code changes if the component is packaged in a DLL or in an EXE and substantial differences in re-entrancy behavior if the component runs on its own thread of control or supports multiple simultaneous threads.  For embedded systems, it is best to delay the choice of how the component is deployed until late in the development cycle.  This allows process boundaries to be used for catching memory leaks, debugging, and performance tuning while enabling repackaging to be used to shrink overall memory size.


Our approach is to extend the Interface Definition Language (of COM/CORBA) to include declarative support for packaging and re-entrancy of component implementations.  This augments the interface contract such that the choice of how a component is packaged can be made late in the development cycle.  The technology is a novel approach to registration, activation, and component rendezvous behavior that insulates application code from these activities allowing late binding and late repackaging of components.


The Component Definition Language (CDL) was developed for the HP OZ firmware codebase.  The OZ firmware codebase is used in all mid-range and high-end laserJets and has shipped in over a million printers.  The CDL tool is used by the development engineers to create their components, test their components, and package/integrate the components in product releases.

For more technical details, please refer to the following papers

P. Fulghum and K. Moore, "Component Definition Language (CDL)", Mozart Technical Document, HP Boise, Idaho, 2000.

K. Moore, "Lessons Learned in Large Scale Embedded Systems", Middleware'04, Toronto, Canada.  In submission.

Printing and Imaging Research Center
  » PIRC web site
» Imaging Systems Laboratory
  » Projects




Printable version
Privacy statement Using this site means you accept its terms Feedback to HP Labs
© 2009 Hewlett-Packard Development Company, L.P.