Title: Testing, Integration, Validation, andor XML
1T-I-V-X Group Report
- Testing, Integration, Validation, and/or XML
- Erik DeBenedictis
- Sandia National Labs
Sandia is a multiprogram laboratory operated by
Sandia Corporation, a Lockheed Martin
Company,for the United States Department of
Energy under contract DE-AC04-94AL85000.
2Objectives
- Stated Purpose
- Testing, integration, validation
- Something has to exist before you can test it
- Not ready
- Adopted Purpose
- If XML is used, the schema can be validated
before it is implemented - Up and running
- Action to Date
- Group leader (me) participates in PM RM working
groups and contributes to XML discussion for both - Validated XML posted to T-I-V-X notebook
3Role of XML Schema
- MPI Specification written in English
- Consistency dependent on humans
- Not machine readable
- SciDAC SSS Possibility
- English
- XML Schema
4What is an XML Schema?
- XML for a Letter
- .xml file
- Schema for Letters in XML
- .xsd file
ltxsdelement name"letterBody"gt ltxsdcomplexType
mixed"true"gt ltxsdsequencegt ltxsdelement
name"salutation"gt ltxsdcomplexType
mixed"true"gt ltxsdsequencegt
ltxsdelement name"name" type"xsdstring"/gt
lt/xsdsequencegt lt/xsdcomplexTypegt
lt/xsdelementgt ltxsdelement name"quantity
type"xsdpositiveInteger"/gt ltxsdelement
name"productName type"xsdstring"/gt
ltxsdelement name"shipDate
type"xsddate" minOccurs"0"/gt lt!-- etc. --gt
lt/xsdsequencegt lt/xsdcomplexTypegtlt/xsdelement
gt
ltletterBodygt ltsalutationgt Dear
Mr.ltnamegtRobert Smithlt/namegt. lt/salutationgt
Your order of ltquantitygt1lt/quantitygt
ltproductNamegtBaby Monitorlt/productNamegt shipped
from our warehouse on ltshipDategt1999-05-21lt/ship
Dategt. ....lt/letterBodygt
5What is an XML Schema?
- XML for a Letter
- .xml file
ltletterBodygt ltsalutationgt Dear
Mr.ltnamegtRobert Smithlt/namegt. lt/salutationgt
Your order of ltquantitygt1lt/quantitygt
ltproductNamegtBaby Monitorlt/productNamegt shipped
from our warehouse on ltshipDategt1999-05-21lt/ship
Dategt. ....lt/letterBodygt
6What is an XML Schema?
ltxsdelement name"letterBody"gt ltxsdcomplexType
mixed"true"gt ltxsdsequencegt ltxsdelement
name"salutation"gt ltxsdcomplexType
mixed"true"gt ltxsdsequencegt
ltxsdelement name"name type"xsdstring"/gt
lt/xsdsequencegt lt/xsdcomplexTypegt
lt/xsdelementgt ltxsdelement name"quantity
type"xsdpositiveInteger"/gt ltxsdelement
name"productName type"xsdstring"/gt
ltxsdelement name"shipDate
type"xsddate" minOccurs"0"/gt lt!-- etc. --gt
lt/xsdsequencegt lt/xsdcomplexTypegtlt/xsdelement
gt
- Schema forLetters in XML
- .xsd file
7Multiple Roles for XML Schema
RM XML
ResourceManager
SCIDAC SSSStandardsDocument
GlobalXML
English TextXMLEnglish TextXMLEnglish Text
PM XML
ProcessManager
OtherXML
OtherServers
8Organizing XML
- Global Definitions
- Unix command line
- Executable
- Args
- Network address
- Internet hostname
- Port or service name
- MPP addressing schemes
- Authentication credentials
- Etc.
- Server-Specific Definitions
- Job manager
- ltSubmit-Processgt
- ltKill-Processgt
- Process manager
- ltCreate-Processgt
- ltKill-Processgt
- Etc.
9XML Software Infrastructure
- Parsing
- Free parsers available in all popular languages
- Two functions
- Stream parsers parse on the fly and callback to
the main program when complete constructs are
available - Document parsers parse whole documents at once
- Validating
- A few free validators are available in many
popular langauges - I use Xerces C
- Tools
- XML authoring tools are available
- Best ones cost
10XML Namespaces
- Proposed Names
- Global Definitions
- urnscidac-orgsssglobal
- Process Manager
- urnscidac-orgssspm
- Scheduler
- urnscidac-orgssssched
- Accounting Module
- urnscidac-orgsssacct
- Acknowledgement to Eric Roman
- Topics for the Group
- Are these names OK?
- What other namespaces are needed and what should
the names be?
11How Far to Take XML?
- Issue How Far to Take XML?
- Exemplary Issue Net Addresses
- Opaque
- valuehost10.sandia.gov234
- Opaque with Structure
- family2 port234 addr1023
- Fully Structured
- ltINET hosthost10.sandia.gov port234 /gt
- Other Families?
- MPP (ASCI Red)
- Myricom
- Points of Wisdom
- XML schema technology only goes so far
- Lusk/Desais PM XML
- Over constraining the XML may limit flexibility
- Group Decisions
- Pertinent members of each group need to decide on
the level of detail in the XML schema for each
issue
12Global Definitions
- Proposed Names
- Stdio-type
- Exec-type
- Env-type
- Args-type
- Address-type
- Intracommunicator-type
- Intercommunicator-type
- Host-type
- CWD-type
- Topics for the Group
- These types were NOT systematically derived and
there has been no group discussion - However, the choice of these types will form the
glue that will bind the processes into a
coherent whole - Lets discuss
13Style Consistency
- What Delimiter Should be Used for XML Attributes?
- ltaddress zip12345gt
- ltaddress zip12345gt
- Group to Decide
- Single quote
- Double quote
- Doesnt matter
- Advantage to a Decision
- Consistency