IEEE P1622 Meeting October 24-25, 2011 Guide to using OASIS EML v7.0 for UOCAVA Implementations David RR Webber Information Architect, Oracle http://vote.nist.gov IEEE P1622 Meeting, Oct 2011
Download ReportTranscript IEEE P1622 Meeting October 24-25, 2011 Guide to using OASIS EML v7.0 for UOCAVA Implementations David RR Webber Information Architect, Oracle http://vote.nist.gov IEEE P1622 Meeting, Oct 2011
IEEE P1622 Meeting October 24-25, 2011 Guide to using OASIS EML v7.0 for UOCAVA Implementations David RR Webber Information Architect, Oracle http://vote.nist.gov IEEE P1622 Meeting, Oct 2011 Outline Mapping of OASIS EML transactions to UOCAVA information exchange needs Examining structure of EML transactions EML v7 dictionary and models Each of EML transactions examined Using OASIS CAM templates Test suites configuration and examples IEEE P1622 Meeting, Oct 2011 Page 2 UOCAVA Information Needs Mapping of OASIS EML transactions to UOCAVA information exchange needs IEEE P1622 Meeting, Oct 2011 Page 3 Ballot Delivery System (BDS) Many aspects to this need to be considered Web site and portal for voter access Supporting information and processes Ballot delivery, confirmation and return Security and traceability Voter privacy We are not trying to design a BDS only anticipate the information it will need! IEEE P1622 Meeting, Oct 2011 Page 4 Ballot Web Site Considerations Information can change dynamically to match legal and other informational needs as election unfolds Voters need access various links to supporting information, official sites and help resources Support for priority informational messages and alerts Voting authorities addresses and contact information Varied means to authenticate voters and required access checks Tracking of web site usage and ballot delivery and returns Voter privacy and security protections IEEE P1622 Meeting, Oct 2011 Page 5 Ballot Construction and Delivery Two approaches – pre-built ballots and styles, or dynamic ballot generation from ballot templates and candidate/issues records Voter needs to identify their voting district and precinct System can either dynamically match ballot to voter, or retrieve from election voter registration record Similarly return address information for voter to send completed ballot has to be matched UOCAVA attestation statement questions have to be answered and results incorporated into ballot materials IEEE P1622 Meeting, Oct 2011 Page 6 Summarizing Information Needs Qualified voter records Election details: Federal, State, Local Candidate / Issues details Ballot formatting and rendering details Ballot delivery, voter verification, return UOCAVA web site content and managing IEEE P1622 Meeting, Oct 2011 Page 7 Mapping to OASIS EML V7.0 Elections Information = EML 110 Candidates Information = EML 230 Ballot Information = EML 410 Voter Election List = EML 330 Voter Ballot Delivery = EML 470 UOCAVA delivery = EML 505 EML 505 can combine EML 110, 230, 410 data IEEE P1622 Meeting, Oct 2011 Page 8 The EML 505 Created to make it easier for states to start using EML schemas Combines elements from other schemas: EML 110 Election Event: structures dealing with information about the elections EML 230 Candidate List: details for contests and candidates EML 410 Ballot List: structures for the contest ballots. A basic 505 file can be created from a VIP feed file via an XSLT transform (samples available from Virginia 2010) IEEE P1622 Meeting, Oct 2011 Page 9 The EMLs 330 and 470 Used to facilitate ballot tracking as required in MOVE Act EML 330 used for VRDB export: Can be loaded with UOCAVA voters and sent to a BDS. Can also include ballot status, i.e., accepted, rejected. EML 470 used for ballot tracking: Can be sent from a BDS when voter downloads a ballot, sets up a ‘channel’ for the voter. When precinct receives the ballot, precinct can respond with the 330 using the channel. * VRDB = Voter Record Database – subset only needed for UOCAVA needs IEEE P1622 Meeting, Oct 2011 Page 10 The EMLs 110, 230 and 410 EML 110 contains information about the elections and their management Data constructs mirrored in EML 505 US precinct-aware structuring EML 230 used for ballot candidate and issue information Can contain much more information than typical US usage demands EML 410 used for ballot details and provides crossreferencing to candidate and election information Formal record of ballots to be used in the election IEEE P1622 Meeting, Oct 2011 Page 11 Example files Example files included to show structures within EMLs 110, 230, 330, 470, 505, and SEAL structure. Must download EMLv7 files, then unpack example files within EML directory. EMLv7 available from OASIS, example files available from IEEE P1622 site. IEEE P1622 Meeting, Oct 2011 Page 12 Examining EML Schema Examining the structure of the EML transactions and their make-up IEEE P1622 Meeting, Oct 2011 Page 13 Overview of EML schema The EML schema provide a consistent approach to assembling the information exchange and its components The EML core schema provides a common set of components across the entire EML schema Each EML schema has a header and a body of components Built-in capabilities such as digital signatures and seals are included in each schema Packaging support allows information to be “chained” across sets of schema exchanges IEEE P1622 Meeting, Oct 2011 Page 14 External Schema and Standards The EML schema use standard schema from other specifications and reference them as external component imports Geospatial information (GIS for OASIS), Digital Signatures (W3C), OASIS Time Stamps (used for digital signatures), Names and Addresses (OASIS CIQ) The EML V7 schema have been enhanced to improve their NIEM consistency (NIEM = National Information Exchange Model approach – www.niem.gov) OASIS CIQ V4 Schema provide significantly easier to use constructs for USA style names and address conventions Aligns with NIEM core names and addresses approach IEEE P1622 Meeting, Oct 2011 Page 15 EML Schema Common Construct Namespace declarations Shared functional components Universal core components External functional components IEEE P1622 Meeting, Oct 2011 Page 16 EML Schema Header Construct Packaging Optional CAM rules, XSLT, etc Internationalization Responsible authorities and authenticity Versioning control Rendering support Verification and Security IEEE P1622 Meeting, Oct 2011 Payload Page 17 EML dictionary and Models Modelling tools available and Vocabulary alignment IEEE P1622 Meeting, Oct 2011 Page 18 EML dictionaries Two dictionaries EML Core components Complete EML component reference Can be viewed as Excel spreadsheet Available as mind map models and XMI/UML physical components IEEE P1622 Meeting, Oct 2011 Page 19 Vocabulary Alignment Definitions of EML Core components Significantly improved in V7 Not everything is documented in all schema – still more work needed to close the gap Focus on providing essential definitions for UOCAVA mapping purposes IEEE P1622 Meeting, Oct 2011 Page 20 EML Core V7 IEEE P1622 Meeting, Oct 2011 Page 21 Person Name IEEE P1622 Meeting, Oct 2011 Page 22 Address IEEE P1622 Meeting, Oct 2011 Page 23 The SEAL Structure An EML element for holding digital signatures, i.e., for signing the EML file. Based on W3C guidance for digital signatures. The Manifest element can hold hash of objects referenced in <URL> element, e.g., a PDF ballot – to allow authentication of ballot binary objects and their correct delivery Conformance requires ability to use a SEAL with EML transactions See W3C documentation and links to NIST web site in P1622 specification for using digital signatures IEEE P1622 Meeting, Oct 2011 Page 24 EML Schema for UOCAVA Drill-down of the structure of the EML transactions and their details IEEE P1622 Meeting, Oct 2011 Page 25 Election: EML 110 IEEE P1622 Meeting, Oct 2011 Page 26 Candidates: EML 230 IEEE P1622 Meeting, Oct 2011 Page 27 Voters: EML 330 (aka poll book) IEEE P1622 Meeting, Oct 2011 Page 28 Ballots: EML 410 IEEE P1622 Meeting, Oct 2011 Page 29 UOCAVA: EML 505 IEEE P1622 Meeting, Oct 2011 Page 30 VToken: EML 470 IEEE P1622 Meeting, Oct 2011 Page 31 Using OASIS CAM templates Power tools for assembling XML transactions, examples, models, documentation, dictionaries and more… IEEE P1622 Meeting, Oct 2011 Page 32 Beyond XML and Schema OASIS CAM templates provide enhanced capabilities: XPath validation rules and logic External Code Lists support SQL database lookup support XML test case generation Automated documentation generation Generation of models IEEE P1622 Meeting, Oct 2011 Page 33 Dictionary Tools Ability to work with dictionaries of canonical components Generate dictionaries from schema automatically Verify dictionaries and component consistent Compare to NIEM naming and design rules (NIEM NDR) IEEE P1622 Meeting, Oct 2011 Page 34 Available open source tools Editor and CAMV validation engine – open platform Download the CAM editor toolkit from: http://www.cameditor.org IEEE P1622 Meeting, Oct 2011 Page 35 Using EML Test Suites Accelerating conformance testing and examples verification IEEE P1622 Meeting, Oct 2011 Page 36 Test Suites Introduction A key need in working with XML information exchanges, is developing examples and matching templates including rules, context, and roles for correctly managing information exchange content between partners. The W3C Schema by themselves are not sufficient. Using open source tooling, XPath rules, and the OASIS CAM templates standard to create automated testing tools. Integrating SQL table lookup validation rules Ability to use external XML code list lookups Pre-configured test suite available for EML UOCAVA examples: http://www.cameditor.org/#CAMV_Testing IEEE P1622 Meeting, Oct 2011 Slide 37 EML Delivery Lifecycle Component Dictionary Open source toolkit sponsored by Oracle EML Schema Templates EML standard updates Design Map and Test Monitor Test Suite Log Results EML Template Deploy XSD Schema XMI / UML Models Compiled Templates Documentation IEEE P1622 Meeting, Oct 2011 XML Samples CAM Validation Framework Structure SQL Query Rules Template (compiled) Code Lists Database Lookup (optional) Results XML XML instance IEEE P1622 Meeting, Oct 2011 CAMV Java Handler Errors and Warnings CAMV / ANT Test Suites Environment CAM template CAMV Control Script XML Reports XML Test Instances 2 ANT 1 XSLT CAMV XML Validation Results Examples and instructions: IEEE P1622 Meeting, Oct 2011 http://www.cameditor.org/#CAMV_Testing CAMV Test Control Script XML Multi-Test Folder Example Test case name <camvTestSuite> Validation Template <testCase> <Example-Test-With-Folder> <cxxfile>../samples/templates/EML-330-list-v7.cxx</cxxfile> <testdir>../samples/XMLsamples/UOCAVA/330</testdir> <verbose>true</verbose> <inlineErrors>true</inlineErrors> <parameters> <abc>Param1</abc> <cde>Param2</cde> </parameters> </Example-Test-With-Folder> </testCase> </camvTestSuite> IEEE P1622 Meeting, Oct 2011 Test XML instances folder Optional items Slide 41 Running CAMV details Batch Command Line Execution Window Viewing Same Template in Visual Editor From within the Test Suite folder on the command line execute > Ant runALL IEEE P1622 Meeting, Oct 2011 Slide 42 Summary OASIS EML V7.0 provides comprehensive standard for UOCAVA elections management and services Complete suite of supporting tools available to assist implementers Dictionaries and Models for data alignment Test suite tools for accelerated verification Examples to guide usage Open source and online resources http://www.cameditor.org & http://www.oasis-open.org IEEE P1622 Meeting, Oct 2011 Page 43