Advanced

Creating a readable language for checking XML

Forsman, Daniel LU (2015) In LU-CS-EX 2015-31 EDA920 20151
Department of Computer Science
Abstract
Today sharing data is done everywhere. Doctors might want to share patient journal information. Patient journals may contain sensitive information that doctors do not want to share. The journals needs to be checked before they are shared. In this thesis, data and journals are coded in XML and checking journals and data is the same as validating XML. Validating XML documents is usually done by following rules from a validator. A validator processes XML documents and checks that the XML documents follows the validation rules. The issue with most validators today is that they cannot compare arbitrary elements in the XML document with each other and there are no mathematical operations to supply these comparisons. Sometimes there is a need to... (More)
Today sharing data is done everywhere. Doctors might want to share patient journal information. Patient journals may contain sensitive information that doctors do not want to share. The journals needs to be checked before they are shared. In this thesis, data and journals are coded in XML and checking journals and data is the same as validating XML. Validating XML documents is usually done by following rules from a validator. A validator processes XML documents and checks that the XML documents follows the validation rules. The issue with most validators today is that they cannot compare arbitrary elements in the XML document with each other and there are no mathematical operations to supply these comparisons. Sometimes there is a need to verify the validation rules. This might be done by someone who has little programming skills. The validator has to be readable so that this someone can verify that the validator matches the requirements. This thesis attempts to solve the issue with existing solutions by creating a readable language for validating XML documents. The solution is done in three steps: investigating similar solutions, implementing a validator, and testing the readability of the validator with a usability test. (Less)
Popular Abstract (Swedish)
Idag delar man mycket information med varandra och ibland behöver vi se till att rätt sorts information delas. Tänk om man t. ex råkar skicka sitt personnummer istället för telefonnummer till någon? Detta examensarbetet handlar om att utveckla ett enkelt verktyg som bekräftar att information som delas är rätt formad.

Eftersom det blir viktigare att vara säker på att information som delas är formad på rätt sätt så kommer fler människor att komma i kontakt med att bekräfta information innan de delar den. Det finns en del verktyg som kan bekräfta information åt dig men i vissa fall räcker inte dessa verktyg.

Ett tillämpningsområde är sjukhusjournaler. En läkare kanske vill dela med sig av ett specifikt fall, i t. ex utbildningssyfte,... (More)
Idag delar man mycket information med varandra och ibland behöver vi se till att rätt sorts information delas. Tänk om man t. ex råkar skicka sitt personnummer istället för telefonnummer till någon? Detta examensarbetet handlar om att utveckla ett enkelt verktyg som bekräftar att information som delas är rätt formad.

Eftersom det blir viktigare att vara säker på att information som delas är formad på rätt sätt så kommer fler människor att komma i kontakt med att bekräfta information innan de delar den. Det finns en del verktyg som kan bekräfta information åt dig men i vissa fall räcker inte dessa verktyg.

Ett tillämpningsområde är sjukhusjournaler. En läkare kanske vill dela med sig av ett specifikt fall, i t. ex utbildningssyfte, genom att skicka en patientjournal till en kollega. En patientjournal innehåller mycket information om en patient som en läkare kanske inte kan eller vill dela, exempelvis patientens identitet. Alltså använder läkaren ett program genererat med verktyget från detta examensarbetet för att bekräfta att all privat (och annan potentiellt onödig) information inte finns med i journalen som läkaren tänker skicka.

Företaget som examensarbetet utfördes på, Advenica, har ett testfall som kräver mer komplexa beräkningar än vad dagens verktyg klarar av. Om det är viktigt att information bekräftas på ett säkert sätt är det viktigt att någon ser på verktyget så att det gör det som den verkligen ska göra. Idag är de flesta verktygen svårläsliga vilket gör det svårt att förstå om det som verktyget gör är korrekt.

Examensarbetet resulterade i ett verktyg som skapar program som bekräftar om information som ska delas är formad på rätt sätt. Verktyget används genom att någon, en programmerare med kunskap i ämnet, skriver regler som sen används för att generera ett program som bekräftar information. Reglerna är gjorda för att vara lättläsliga så människor utan programmeringsbakgrund kan förstå och kontrollera att reglerna är korrekt skrivna. De behöver inte skriva reglerna själva, det gör programmeraren. Programmen som genereras tar informationen och säger till användaren om informationen är formad på rätt sätt. Om informationen inte är formad på rätt sätt måste användaren ändra informationen tills programmet accepterar informationen.

Verktyget som utvecklas har två egenskaper som inte andra verktyg har: komplexa matematiska beräkningar, när man bekräftar information, samt att reglerna som verktyget tar är lättläsliga. Med hjälp av matematiska beräkningar kan man se att informationen stämmer överens med mer komplexa krav. Exempelvis kan man beräkna sträckan mellan två koordinater på jorden med hjälp av de matematiska beräkningarna. Eftersom verktygets regler är lätta att kontrollera så är det enkelt att låta en utomstående person se på reglerna och säga om det är rätt regler för rätt syfte. (Less)
Please use this url to cite or link to this publication:
author
Forsman, Daniel LU
supervisor
organization
course
EDA920 20151
year
type
M3 - Professional qualifications ( - 4 Years)
subject
keywords
XML, XPath, validation language, readability, JastAdd
publication/series
LU-CS-EX 2015-31
report number
LU-CS-EX 2015-31
ISSN
1650-2884
language
English
id
7458213
date added to LUP
2015-06-30 12:13:53
date last changed
2015-06-30 12:13:53
@misc{7458213,
  abstract     = {Today sharing data is done everywhere. Doctors might want to share patient journal information. Patient journals may contain sensitive information that doctors do not want to share. The journals needs to be checked before they are shared. In this thesis, data and journals are coded in XML and checking journals and data is the same as validating XML. Validating XML documents is usually done by following rules from a validator. A validator processes XML documents and checks that the XML documents follows the validation rules. The issue with most validators today is that they cannot compare arbitrary elements in the XML document with each other and there are no mathematical operations to supply these comparisons. Sometimes there is a need to verify the validation rules. This might be done by someone who has little programming skills. The validator has to be readable so that this someone can verify that the validator matches the requirements. This thesis attempts to solve the issue with existing solutions by creating a readable language for validating XML documents. The solution is done in three steps: investigating similar solutions, implementing a validator, and testing the readability of the validator with a usability test.},
  author       = {Forsman, Daniel},
  issn         = {1650-2884},
  keyword      = {XML,XPath,validation language,readability,JastAdd},
  language     = {eng},
  note         = {Student Paper},
  series       = {LU-CS-EX 2015-31},
  title        = {Creating a readable language for checking XML},
  year         = {2015},
}