Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Crowdsourced IoT Data Modeling Friederike Groschupp Final Talk for - - PowerPoint PPT Presentation
Crowdsourced IoT Data Modeling Friederike Groschupp Final Talk for - - PowerPoint PPT Presentation
Chair of Network Architectures and Services Department of Informatics Technical University of Munich Crowdsourced IoT Data Modeling Friederike Groschupp Final Talk for Bachelors Thesis Advisors: Marc-Oliver Pahl, Stefan Liebald March 19,
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Contents
Motivation: Crowdsourced Context Modeling Demo Analysis Related Work Design Evaluation Performance Usability Conclusion
- F. Groschupp
– Crowdsourced IoT Data Modeling 2
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Motivation: Crowdsourced Context Modeling [4]
<model type =myModel> value <subnode type= mySubnode /> </myModel> <model type =myModel> value <subnode type= mySubnode /> </myModel> <model type =myModel> value <subnode type= mySubnode /> </myModel> <model type =myModel> value <subnode type= mySubnode /> </myModel> <model type =myModel> value <subnode type= mySubnode /> </myModel> <model type =myModel> value <subnode type= mySubnode /> </myModel>
Context Model Repository (CMR)
<model type =myModel> value <subnode type= mySubnode /> </myModel> <model type =myModel> value <subnode type= mySubnode /> </myModel> <model type =myModel> value <subnode type= mySubnode /> </myModel>
- F. Groschupp
– Crowdsourced IoT Data Modeling 3
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Background: the Data Model
- Four basic types: number, text, list, composed
- List and composed nodes can contain other nodes
- Restrictions can limit the value of a node
- (Multi-)inheritance
- F. Groschupp
– Crowdsourced IoT Data Modeling 4
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Background: the Data Model
- Four basic types: number, text, list, composed
- List and composed nodes can contain other nodes
- Restrictions can limit the value of a node
- (Multi-)inheritance
- F. Groschupp
– Crowdsourced IoT Data Modeling 5
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Invariants to be checked
- All types exist
- All access rights groups exist
- Restrictions are valid and only narrowed through inheritance
- Default values match restrictions and types
- Subnodes must be valid
- F. Groschupp
– Crowdsourced IoT Data Modeling 6
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Demo
- F. Groschupp
– Crowdsourced IoT Data Modeling 7
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Analysis – Requirements Analysis
Functional requirements:
- R1: context models in the CMR must be valid.
- R2: context models in the CMR must be minimized.
- R3: possibility to browse and search the models.
- R4: convergence for standardization of models.
Non-functional requirements:
- R5: validation process shall be interactive.
- R6: helpful error reports.
- F. Groschupp
– Crowdsourced IoT Data Modeling 8
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Analysis
- VSL information model: semantics distributed over several models
- Standard solutions for XML validation
- Document Type Definition (DTD) [1], XML Schema (XSD) [5]
- Can validate syntax and restrict attributes
- Cannot validate semantic aspects of the VSL information model:
inheritance, attributes restricting value and elements of a node
- VSL information model is independent from XML
→ Implement semantic validation process independent from XML
- F. Groschupp
– Crowdsourced IoT Data Modeling 9
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Related Work – CellML Repository [3]
- repository for biological models
- quality control is performed manually
- models can be browsed through web application, extended search
functions
- F. Groschupp
– Crowdsourced IoT Data Modeling 10
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
- F. Groschupp
– Crowdsourced IoT Data Modeling 11
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Design - Steps Required for Adding a Model
Validation Minimization Produce Error Message Add Model Produce Success Message
valid invalid new model
Resolve parent model
- F. Groschupp
– Crowdsourced IoT Data Modeling 12
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Resolving (1/2)
Retrieve the model "myType" from the repository.
- F. Groschupp
– Crowdsourced IoT Data Modeling 13
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Resolving (2/2)
And resolve it.
- F. Groschupp
– Crowdsourced IoT Data Modeling 14
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
R1: Validation - Second Step: Compare Information
- F. Groschupp
– Crowdsourced IoT Data Modeling 15
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
R1: Validation - Policies for the Restrictions
- "minimumValue", "maximumValue": simple comparison
- "minimumEntries", "maximumEntries": simple comparison
- "allowedIDs": must be subset
- "regularExpression": No efficient methods known for deciding if
L(R1) ⊆ L(R2).
Policy: value has to comply with all regular expressions inherited.
L(R1) ∩ L(R2) ⊆ L(R2)
is always true.
- F. Groschupp
– Crowdsourced IoT Data Modeling 16
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
R2: Minimization
- performed when a model is valid
- remove all redundant information
- reuse the already created resolved parent model
- F. Groschupp
– Crowdsourced IoT Data Modeling 17
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
- F. Groschupp
– Crowdsourced IoT Data Modeling 18
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
R6: Error Reports
- line and identifier of the invalid (sub)node
- error type
- error reason
- F. Groschupp
– Crowdsourced IoT Data Modeling 19
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Evaluation – R5: Performance
Impact of
- number of subnodes
- inheritance depth
- f a model on resolving, validation, and minimization.
Expectation:
- resolving depends on inheritance depth
- validation and minimization depend on model complexity
- F. Groschupp
– Crowdsourced IoT Data Modeling 20
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Evaluation – R5: Performance
Resolving
100 200 100 200
Inheritance Depth Time in ms
100 200 0.2 0.4 0.6 0.8 1
Inheritance Depth per inheritance step
Figure 1: Time in milliseconds required for resolving context models with inheritance depth 10, 100, and 200.
- F. Groschupp
– Crowdsourced IoT Data Modeling 21
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Evaluation – R5: Performance
Validation 21 341 5461
1,000 2,000 3,000
Number of subnodes Time in ms 21 341 5461
0.5 1 1.5 2
Number of subnodes Time in ms per node
- F. Groschupp
– Crowdsourced IoT Data Modeling 22
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Evaluation – R5: Performance
Conclusion:
- bottleneck: retrieving and parsing models
- caching component can significantly improve performance
- total runtime of below 50ms for models of expected size (depth 5,
40 subnodes)
- F. Groschupp
– Crowdsourced IoT Data Modeling 23
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Evaluation – R6: Helpfulness of Error Reports
- survey with 10 participants, questionnaire with invalid models and
error reports
- F. Groschupp
– Crowdsourced IoT Data Modeling 24
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Evaluation – R6: Helpfulness of Error Reports
- very good feedback for finding the error
- suggestions for resolving the error would improve the helpfulness
further error finding error resolving error type correct +
- +
- containing subnode
8 7 1 4 4 relaxing restriction 9 7 2 7 2 wrong restriction 9 9 6 3 undefined accessID 10 9 1 5 5
Table 1: Number of the correct answers for each context model, together with the rating of those participants who answered correctly.
- F. Groschupp
– Crowdsourced IoT Data Modeling 25
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Conclusion – Contribution
First step towards enabling crowdsourced context model creation. Requirement R1: Validation ++ implemented and tested R2: Minimization ++ implemented and tested R3: Browsing and Searching R4: Convergence Mechanisms R5: Fast Validation Process ++ < 50ms for models of ex- pected size R6: Helpful Error Reports + basic
Table 2: Fulfillment of the requirements.
- F. Groschupp
– Crowdsourced IoT Data Modeling 26
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Conclusion – Next Steps
- 1. Improve error reporting
- 2. R3 (browsing and searching): graphical interface/web application
- 3. Adapted editor for VSL information model
- 4. R4 (standardization of models): similarity detections, semantic
tagging system
- F. Groschupp
– Crowdsourced IoT Data Modeling 27
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Thank you for your attention!
Do you have any questions?
- F. Groschupp
– Crowdsourced IoT Data Modeling 28
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
References
[1] Extensible markup language (xml) 1.0 (fifth edition), https://www.w3.org/tr/xml/, 18.02.2018. [2] Project haystack, https://project-haystack.org/, 25.01.2018. [3] The cellml project, https://www.cellml.org/, 28.01.2018. [4] M.-O. Pahl and G. Carle. Crowdsourced context-modeling as key to future smart spaces. In 2014 IEEE Network Operations and Management Symposium (NOMS), pages 1–8. IEEE, 2014. [5] World Wide Web Consortium. Xml schema, https://www.w3.org/xml/schema, 13.01.2018.
- F. Groschupp
– Crowdsourced IoT Data Modeling 29
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Parsing Models
fully dependent on data model dependent on data model and parser independent from data model and parser existing parsers Custom- written connector model represented in text file model represented in Java model represented in Java
- F. Groschupp
– Crowdsourced IoT Data Modeling 30
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
R1: Validation
Two different approaches: retrieve information one-by-one or resolve parent model completely
What is the first maximum Value?
1
Resolve the model „derived/boolean“ What is the first minimumValue?
CMR CMR
Resolve model
<model type =myModel> value <subnode type=“mySubnode“ /> </myModel>
- F. Groschupp
– Crowdsourced IoT Data Modeling 31
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Handling Multi-Inheritance
- 1. merge the information
contained by the referenced types from left to right
- 2. validate the combination
- f types
- 3. validate the new model
against the temporary model Id: derived/boolean Type: basic/number Restriction: minimumValue = 1, maximumValue = 2 Id: basic/composed Id: derived/boolean,basic/composed Type: derived/boolean, basic/number, basic/composed Restriction: minimumValue = 0, maximumValue = 1 Id: myMultiInheritanceModel Type: derived/boolean, basic/composed Value: 0
- F. Groschupp
– Crowdsourced IoT Data Modeling 32
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
- F. Groschupp
– Crowdsourced IoT Data Modeling 33
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
- F. Groschupp
– Crowdsourced IoT Data Modeling 34
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
- F. Groschupp
– Crowdsourced IoT Data Modeling 35
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
- F. Groschupp
– Crowdsourced IoT Data Modeling 36
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
- F. Groschupp
– Crowdsourced IoT Data Modeling 37
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Related Work – Project Haystack [2]
- same domain, same goal, different approach
- data base with tags to describe entities
- consensus finding based on discussions
id: @whitehouse dis: "White House" site area: 55000sqft geoAddr: "1600 Pennsylvania Avenue NW, Washington, DC" tz: "New_York" weatherRef: @weather.washington
Listing 1: Entity in Project Haystack’s meta model for the whitehouse. [2]
- F. Groschupp
– Crowdsourced IoT Data Modeling 38
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
Demo
- F. Groschupp
– Crowdsourced IoT Data Modeling 39
Chair of Network Architectures and Services Department of Informatics Technical University of Munich
- F. Groschupp