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 Report

Transcript 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