Further reading
Here is a collection of references to other documentation relevant for developing POSEIDON Android applications. All is available from the POSEIDON website, in the developer documentation section unless otherwise noted.
User interfaces -
User interface section of these guidelines.
-
D4.2 Adaptive tablet interface: Adaptive aspects in the implemented POSEIDON app interface.
-
D4.5 HCI user and developer manuals chapter 4: Android User Interface Implementation – describes important aspects of the Android platform in relation to user interaction (summarised in the user interface guidelines).
SmartPlatform -
SmartPlatform-developer-doc.pdf: Developer documentation for the SmartPlatform part of the infrastructure, including API specification.
-
rest-lib-java: Documentation for the SmartPlatform API wrapper library (Javadoc) is included in the rest-lib-java archive available from the Code section of the POSEIDON website.
-
edge-lib-java: Documentation for the SmartPlatform edge wrapper library (Javadoc) is included in the edge-lib-java archive available from the Code section of the POSEIDON website.
-
D5.1 Development framework, chapter 5.1: Description of the platform and its role in POSEIDON.
File server and data specifications -
File-server-API.pdf: Specification of the file server HTTP API.
-
Route-data-specification.pdf: Developer documentation for route data for navigation.
-
Shopping-list-data-specification.pdf: Specification of JSON data for shopping lists.
-
Video-list-data-specification.pdf: Specification of JSON data for video lists.
-
D5.1 Development framework, chapter 5.2: High-level description.
Context middleware -
D5.1 Development framework, chapter 5.4: Developer documentation for the middleware.
-
D3.2 Reasoning and Learning module: Background documentation for the context reasoning (available on the Deliverables page of the website).
Calendar integration
The POSEIDON developer framework also specifies use of calendar data. The Google Calendar service is used to store the calendar events, but with POSEIDON-specific structured content. As with other instructional content, this can refer to media files on the POSEIDON file server.
-
Calendar-data-specification.pdf: Data specification and other developer information.
-
D5.1 Development framework, chapter 5.3: Architecture and conceptual model.
Tutorial for context-aware systems
As part of the project activities we have refined and created a set of methods and tools to support the creation of context-aware systems. These are complex systems which so far do not have specific support, see (Alegre et al., 2016). Amongst the benefits of adopting these guidelines are that we can ease the creation of more reliable context-aware systems, reduce the implementation time of context-aware features in the long term and they cover most common development stages.
The overall strategy for developing systems which was applied to POSEIDON is the User-centred Intelligent Environments Development Process (pictured below). The generic process was explained in (Augusto, 2014) and its application to POSEIDON was explained in (Augusto et al., 2017).
Each stage can have its own specific methodologies and tools which can be combined and complemented in any way. We also refined specific methods and tools for requirements and design explained below.
Requirements Gathering Approach
This helps understanding and agreeing what is expected from the final product. Our method follows several stages outlined in (Evans et al., 2014) and then extended by (Alegre et al., 2016). The following picture captures the main steps of the process:
The forest of this section illustrates the process of identifying the contexts that matter and how to implement them. Stakeholders are identified and listed in the following table:
The following activity diagram shows typical activities involved in a bus journey:
The following table identifies different expected services by different stakeholders:
Then situation of interest are identified:
Then we need to identify what is required to detect those Situations of Interest when the real system is deployed and operative:
The methodological framework facilitates a more systematic analysis on all the contexts needed in a system, it support developers on thinking about contexts, encourages co-creation from early stages. This process is supported with tools which ease the information management and help tracing the relations between contexts at different stages of the development process:
We also used a methodological framework to guide developers into creating diagrammatic views of the system to help them visualize a solution and explore options. Again this was supported by tools which, as a side effect also facilitate the inclusion of other. The structural models created allows to define more specific elements like context variables, and to configure code generation:
Share with your friends: |