Semantic Sensor/Device/Event
Description System
EEEM042-Mobile Applications and Web Services
Coursework- Spring Semester 2019
Prof Klaus Moessner, Prof Payam Barnaghi
Electrical and Electronic Engineering Department
University of Surrey
2
Main specification
To create a web system (suitable for mobile platforms) that
will be accessible via a URL (this can be a local host):
For example: http://localhost/app/index.html
The system will allow users to add/annotate
sensor/device/events descriptions based on a simple model
(i.e. an ontology) and publish the descriptions in a semantic
repository.
Users will have access to a simple query interface that will
supports simple queries based on device/sensor attributes.
3
Description model
You need to develop a simple device/sensor description
model that includes attributes such as ID, Name, Location,
Type, etc.
The description model should be represented in XML and
also at least one of OWL,RDF or JSON (or JSON-LD)
formats.
4
Device/Sensor or Event Registration Page
A user can access an online form to add the descriptions (in
text or numerical form) or select possible options from a
selection list.
The form should be implemented using HTML FORM
elements.
When a user clicks on submit (register) button, the values
from the HTML FORM elements will be transformed to an
intermediary XML format.
5
A Sample Description Form
EEEM042作业代写、代做Web Services作业
Intermediary XML Format
When a user clicks on the publish (or save) button the form
element data will be read via a server-side program.
The program will read the form values,
will create an XML or OWL/RDF/JSON file according to
the description model that is designed in the first part,
will store this XML document in an in-memory object or
in a temporary storage.
The intermediary XML document will include attribute
name and values;
e.g. <attribute_name>value</attribute_name>
、Java课程设计作业代做、Java程序语言作业调试
A Sample Intermediary XML Form
8
Transforming intermediary XMl Document
to the description model format
The next step after creating intermediary XML document will
be using XSLT to transform the XML document to a
description format according to the description model that
you have designed in the first step.
For this you will need to:
Design a suitable XSL template
Use a server-side program to run XSLT transformation method to
transform the intermediary XML document to the form of your
description model (it can still be XML or it can be an OWL/RDF/JSON
document or any other suitable representation form).
9
A Sample Representation of description
data in RDF form
10
Simple Query Interface
After creating the description format according your model,
you can store the document as a file.
The next, and final step, will be providing a simple interface
that users can run queries.
The query interface can directly support at least one of XPath
or SPARQL or JSON query languages.
11
A Sample Query Interface
12
Overall design
Device/Sensor
description from
Browser Publish/Save
The from will contain some key attributes such as
location, type, ID, link to service
Interface, etc.
XSL Transformation
JSON
The final RDF or JSON or XML document will be
Represented according to the semantic model
that you design
to describe a sensor/device
(i.e. a simple ontology)
Store in file
or database
A simple query form
XPath or
SPARQL or
JSON
query
13
Required Pages
You need to develop at least the following web
pages:
Device/Sensor/Event Description Page (The optimised
HTML design for mobile platforms, layout and style design
are important).
Confirmation page: to acknowledge storing the description
and to show the representation (you need to consider
navigation, layout and ease of access to the options in your
system).
A simple query from (the query form should provide at
least one query template – sample- and allow a user to
write and submit other queries).
14
Implementation
The outcome will be a web-based system, optimised for
mobile browsers or mobile platforms.
You do not need to add/implement security features (secure
connection,...).
You can use .NET, J2EE, Python, Node.JS or any other
suitable technologies to implement the system.
15
Requirements
For this project you need to use a development IDE (e.g.
Eclipse, NetBeans) and a run-time environment – depending
on the development technology – (e.g. Apache Tomcat).
If you plan to use Java/J2EE, here are some useful links:
Eclipse (http://www.eclipse.org/)
NetBeans (http://netbeans.org/)
16
Some related technologies/components
If you plan to use use Java and RDF data: you can use Jena or
Sesame to handle RDF data
http://jena.apache.org/
http://www.openrdf.org/
You can use Apache Tomcat (if you are using Java) to host
your application
http://tomcat.apache.org/
Web Service Support
It is recommended that you implement a Web Service to
provide access to some of the functionalities of your code
(e.g. a query API as a web service).
The web service will be considered as an advance feature
(please check the marking scheme).
17
18
Project submission
The source files and a running version.
A brief report (maximum 5 pages)- The report should
include the main design (UML or illustration diagrams),
describe the key features and provide an overview of the
technologies used in the system.
No need for code documentation but the modularity,
flexibility and readability of your code is important.
Marking will be based on the submitted documents and
code and an interview.
19
Marking Criteria
Correct functionality
Code and program design
User interface
Implemented features
Design Decisions
System Explanation
The complete marking scheme and Feedback form is available
on SurreyLearn (Assignment Section).
20
Marking Scheme
User interface design (10%)
Suitability for mobile devices, use of style-sheets, readability and overall
presentation
Usability of the system (10%)
Menu, page navigation, ease of use and clarity of the forms and buttons.
Correct functionality (35%)
Ability to publish data, correct XML and RDF or JSON data and ability of
query the published data for multiple published items;
Explanation of choices made in design and system presentation in the
report (25%)
Being able to describe the components of the system, quality of the report
and effectives choices suitable for mobile environments in developing the
system
Advance features (20%)
Innovation and adding novel features, e.g. web service implementation
21
When?
Staring date:
Monday, 4 February, 2019.
Submission deadline:
Tuesday, 7 May, 5:00pm.
22
Sample Code
A running sample is available at:
On Campus:
http://iot1.ee.surrey.ac.uk/MAWS/index.jsp
Off Campus:
http://iot.ee.surrey.ac.uk/MAWS/index.jsp
A run-time JAVA bundle is available at:
http://personal.ee.surrey.ac.uk/Personal/P.Barnaghi/teaching/EEEM042/
MAWS.war
You can directly deploy it on a Tomcat server and it should work.
The source code in Java http://personal.ee.surrey.ac.uk/Personal/P.Barnaghi/teaching/EEEM042/
MAWS.zip
Sample Code in Express.js and MongoDB
The code is available at:
https://github.com/7opf/rest-demo
23
Important notes
Please note that there are some known issues with the given
sample code that you need to fix it (if you decide to use the
given sample):
The sample java code includes some logical errors in the code (e.g. it
overwrites the previously published data and only stores the latest
published data).
It does not support publishing events (e.g. if someone wants to report
an event).
The HTML pages are not tested for mobile browsers (you should
test/fix it).
The webpages do not have any stylesheet or style formatting.
The system is developed as a web application and not a web service.
The web service implantation will be considered an advance feature.
24
25
Questions?
因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:99515681@qq.com
微信:codinghelp