联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2019-05-03 10:23

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

6

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>

7

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?


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp