PowerPoint Presentation


Published on

Published in: Technology, Art & Photos
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

PowerPoint Presentation

  1. 1. API Birds of a Feather, XML <ul><li>Robert C. Leif, Ph.D. </li></ul><ul><li>Vice President R &D, Newport Instruments & Ada_Med </li></ul><ul><li>Tel. (619)582-0437 </li></ul><ul><li>Email [email_address] </li></ul><ul><li>Web: www.newportinstruments.com </li></ul>
  2. 2. How do we work together on APIs? <ul><li>Commercial developers should provide sources and there should be no cost for single and educational uses. </li></ul><ul><ul><li>ADA DEVELOPERS COOPERATIVE LICENSE, www.newportinstruments.com </li></ul></ul><ul><ul><li>Software Developers Cooperative, http://www.softdevelcoop.org/ </li></ul></ul><ul><ul><li>http://groups.yahoo.com/group/softdevelcoop/ </li></ul></ul><ul><li>GNU licenses include: Other forms of licensing will be considered. </li></ul>
  3. 3. Which Standard(s)? Requirements <ul><li>Sources and materials available for free </li></ul><ul><ul><li>On the web </li></ul></ul><ul><li>No hidden patents or unreasonable royalties. </li></ul><ul><li>Operating system independent. </li></ul><ul><ul><li>Must support: Windows, Linux, and Macintosh </li></ul></ul><ul><li>Reasonable design </li></ul><ul><li>Standard’s parsimony </li></ul><ul><ul><li>Create new by reusing old standards. </li></ul></ul>
  4. 4. World Wide Web Consortium (W3C) http://www.w3.org/ <ul><li>Only reasonable choice </li></ul><ul><ul><li>XML eXtensible Markup Language </li></ul></ul><ul><ul><li>Schema Data-Types </li></ul></ul><ul><ul><li>SVG Scalable Vector Graphics </li></ul></ul><ul><ul><li>XForms: Forms for the Web </li></ul></ul><ul><ul><li>XSL:fo Formatting language </li></ul></ul><ul><ul><li>SOAP Simple Object Access Protocol </li></ul></ul>
  5. 5. The Browser will be the GUI <ul><li>Eliminates duplicate application programming interfaces for the operating system and the web. </li></ul><ul><li>Provides portability between operating systems. </li></ul><ul><li>Open to all. </li></ul><ul><li>Excellent opportunity for Ada! </li></ul>
  6. 6. W3C Compound Document Formats = Ada program output <ul><li>Combine multiple formats: </li></ul><ul><li>XHTML for hypertext </li></ul><ul><ul><li>Extensible HyperText Markup Language </li></ul></ul><ul><li>SVG for graphics </li></ul><ul><ul><li>Scalable Vector Graphics </li></ul></ul><ul><li>SMIL </li></ul><ul><ul><li>Synchronized Multimedia Integration Language </li></ul></ul><ul><li>XForms for forms on the web </li></ul>
  7. 7. XML Schema <ul><li>Ada button: “In Strong Typing We Trust” </li></ul><ul><li>Best argument for schema vs. DTD. </li></ul><ul><li>XML schema can and should have Ada semantics. </li></ul><ul><li>Need tools for bidirectional translation of data-types. </li></ul><ul><li>Goal: XML_Io. </li></ul><ul><li>Provides strongly typed output from Ada programs. </li></ul><ul><li>Facilitates development of applications that include XML data. </li></ul><ul><li>Permits the use of W3C Designs </li></ul><ul><ul><li>Ada and Web modes </li></ul></ul>
  8. 8. Numbers <ul><li>Create the same numeric types for both. </li></ul><ul><li>Ecumenical approach use ECMA types. </li></ul><ul><li>http:// www.ecma.ch / </li></ul><ul><li>Originally, European Computer Manufacturers Association </li></ul><ul><li>Now, ECMA International - European association for standardizing information and communication systems. </li></ul>
  9. 9. Real Types are Primitive *Minimum of 18 Digits. Pentium uses double extended precision floating point registers. PowerPC uses floating point registers for fixed-point. W3C IEEE double-precision 64-bit IEEE single- precision 32-bit Source decimal *decimal float64 double float32 float ECMA XML Type
  10. 10. Integer Types are Derived *Derived From decimal; fractionDigits·= 0 SByte Int8 Int16 Int32 Int64 ECMA (2**7)-1 -2**7 byte (2**15) -1 -2**15 short (2**31) -1 -2**31 int (2**63) -1 -2**63 long -1 negativeInteger 0 nonPositiveInteger infinity -infinity *integer Max- Inclusive Min- Inclusive Type & Derivation Sequence
  11. 11. XML 32 bit Integer Equivalent <ul><li>< simpleType name =&quot; Int32_Type &quot;> </li></ul><ul><li>< restriction base =&quot; int &quot;> </li></ul><ul><li>< minInclusive value =&quot; -2147483648 &quot;/> </li></ul><ul><li>< maxInclusive value =&quot; 2147483647 &quot;/> </li></ul><ul><li></ restriction > </li></ul><ul><li></ simpleType > </li></ul>
  12. 12. Create Unicode Strings by Addition of fields to Bounded_String <ul><li>Encapsulated in generic packages, Ada.Strings.Bounded. & Wide_Bounded </li></ul><ul><li>Solution: </li></ul><ul><li>Create a generic that instantiates Ada.Strings. Wide_Bounded with a generic type. </li></ul><ul><li>Add a Character_Set_Type etc. to a private tagged type. </li></ul><ul><li>Add a Modified version of all of the methods in Ada.Strings.Wide_Bounded </li></ul><ul><li>Instantiate (Character_Set => Utf16) </li></ul>
  13. 13. XForms 1.0 W3C Recommendation 14 October 2003 <ul><li>XForms: model, instance data, and user interface </li></ul><ul><li>Separates presentation from content </li></ul><ul><li>Benefits: reuse, strong typing, reduction of round-trips to the server, device independence, and a reduces the need for scripting. </li></ul><ul><li>XForms </li></ul><ul><ul><li>Not a free-standing document type </li></ul></ul><ul><ul><li>Integrated into XHTML or SVG. </li></ul></ul><ul><li>Examples from http://www.formsplayer.com/ </li></ul>
  14. 14. Ada GUI based on SVG & XForms <ul><li>Could be based on either CLAW or GNAVI </li></ul><ul><li>Need thick binding for operating system independence </li></ul><ul><li>Standard Ada implementation based on SVG data-types produces output to be executed by operating system </li></ul><ul><li>or </li></ul><ul><li>outputs SVG </li></ul><ul><li>XForms can primarily be an SVG application </li></ul>
  15. 15. <ul><li>Interface SOAP with the Ada Distributed Systems Annex </li></ul><ul><li>And/or </li></ul><ul><li>CORBA replace IDL with XML? </li></ul>SOAP
  16. 16. Odds & Ends <ul><li>A complete description of Ada in XML schema would permit the use of an XML based word processor as a program editor. </li></ul><ul><ul><li>The design documentation and the source could be connected by hypertext links. </li></ul></ul><ul><li>To begin this,I Translated Thomas Wolf’s AdaBrowse Document Type Definition (DTD) into a Schema. </li></ul>
  17. 17. Conclusions & Bottom Line <ul><li>Make the Ada and XML schema data-types the same. </li></ul><ul><li>Treat the XML presentation tools as a new very important API for a user interface standard. </li></ul><ul><li>Base new Ada API designs on XML standards. </li></ul><ul><li>Combine SOAP with the Ada Distributed Systems Annex and/or CORBA </li></ul>