XML and Ada Complement Each Other Newport Instruments, Ada_Med 5648 Toyon Rd. San Diego, CA 92115 01 619.582.0437 Robert C. Leif Newport Instruments, Ada_Med 5648 Toyon Rd. San Diego, CA 92115 01 619.286-9823 Suzanne B. Leif Newport Instruments, Ada_Med 5648 Toyon Rd. San Diego, CA 92115 01 619.286-9823 Stephanie H. Leif rleif@rleif.com ABSTRACT suzy@rleif.com 2. XML Project 2.1. Description: steph@newportinstruments.com XML has become a major Internet technology. The programing language that has the best fit with XML is Ada. XML and Ada have similar typing systems, visibility and scoping rules. A mutually beneficial symbiosis requires the creation of applications in Ada that use and support XML, as well as, the use of XML to create Ada environments including XML based tools. Ada and XML. A small example of this relationship will be illustrated with results from the development of an XML based biomedical standard, CytometyML. Categories and Subject Descriptors: D.3.3 [Programming Languages]: Language Contructs and Features data types; J.3 Life And Medical Sciences-Medical information systems General Terms: Languages, Standardization, Documentation, Economics, Human Factors Keywords: XML, Ada DICOM, Schema, Standards 1. Introduction The contents of much of this paper were presented in detail in a paper, SIGAda 2001 Workshop, Creating a Symbiotic Relationship Between XML and Ada, which appeared in a recent Ada Letters[1]. Historically, a significant part of the Ada community has tried to remedy the lack of commercial acceptance of Ada by creating thin bindings to the current languages or GUIs that are or were the commercial leaders. These have included C++, Java, and Windows. An other group has placed their hopes in the products of the Free Software community. Neither approach has had the desired result of achieving major acceptance of Ada in the commercial market. Admittedly, they have been helpful in preventing the extinction of Ada. The question of a thick versus a thin binding becomes moot, when the two software entities share common semantics, have a reasonable one to one syntactic correspondence, and are involved in different domains. The eXtensible Markup Language, XML, really includes a family of languages, which are based on the same syntax. These include: XML, XSD, XSL, SVG, XPath, XPointer, and XForms. The business logic for partnering with XML is based upon 1) XML filling the need for portable mark-up and display, 2) support by the industry leaders: Microsoft, IBM, SUN, Adobe etc. and 3) the XML domain is not one that competes with Ada. As previously described, the semantics and syntax of XML provide a good fit with Ada. XML s poor fit with Ada s greatest competitor, Java is an added competitive edge. A large part of this work has been motivated by a medical informatics project that is an attempt to displace an intrenched, poorly designed, xenophobic standard with a new software engineered one. Although creativity is a wonderful gift when one is doing science or engineering, it can have a deleterious effect on standards. One very good way to minimize the proliferation of standards is to create standards that are extensions of preexisting standards. Digital Imaging and Communications in Medicine, DICOM[2], is a well designed and extensively used standard, which already covered approximately half the domain. Unfortunately, DICOM was unacceptable to the society that used the existing standard. However, the suggestion of XML was acceptable to many members of the society. Therefore, CytometryML is being created by employing XML and DICOM data types. Translation between DICOM and CytometryML should be facilitated by the inclusion in the XML schemas of constant attributes which provide a linkage to the DICOM data types. This approach, hopefully, should work for the coding schemes of other standards. The experience with XML schemas and documents has been positive. Although the development tool that was and is being used, XMLSpy, has extensive functionality, the quality of a key component, the error messages that occur at schema validation, is significantly inferior to those provided by GNAT and other Ada compilers. A very succinct style guide was followed in the creation of the XML schemas, Fake Ada! CytometryML is a tool to permit commercial off-the-shelf software packages to access Analytical Cytology data. However, the measurements produced by the instruments can sometimes exceed 10 megabytes of data. This precludes the use of XML, which is a text based language, for the assembly, storage, and retrieval of this data. However, XML was used to describe this data and only the actual binary data acquired by these instrument needs to be manipulated by Ada. This is a vast simplification over the old standard where all of both the text and binary data from multiple large experiments could be put into one very large file. 3. ACKNOWLEDGMENTS 4.
/lp/association-for-computing-machinery/xml-and-ada-complement-each-other-VY8H44MkUz