Assistant for Quality Check during Construction Execution Processes for Energy-efficienT buildings
WP2 – Concept, Requirements and Specification
D2.8: Technical Specification and Mockups
Deliverable Lead: ANS
Contributing Partners: ASC, CYPE, IDS, IEC, IBP, TIE
Delivery Date: 12/2015
Dissemination Level: Public
Version 1.0
This deliverable is regarding the technical specification of the ACCEPT system. This is created based on the functional specification and the architecture of T2.5. It will define the interfaces, protocols and class/package structures including definitions of communication detailed between the components and their sequences.
Public Technical Specification ACCEPT WP2 and Mockups
Document Status
Deliverable Lead Jesús Martínez, ANS
Internal Reviewer 1 Michael Krummen, Nicolas Meyer, ASC
Internal Reviewer 2 Vadim Petrenko, TIE
Type Deliverable
Work Package WP2: Concept, Requirements and Specification
ID D2.8: Technical Specification and Mockups
Due Date 31.12.2015
Delivery Date 28.12.2015
Status For Approval
Note This deliverable is subject to final acceptance by the European Commission.
Disclaimer The views represented in this document only reflect the views of the authors and not the views of the European Union. The European Union is not liable for any use that may be made of the information contained in this document. Furthermore, the information is provided “as is” and no guarantee or warranty is given that the information is fit for any particular purpose. The user of the information uses it at its sole risk and liability.
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 2 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
Project Partners
ASC – Ascora GmbH, Germany ANS – AnswareTech S.L., Spain
IDS – University of Liege, Belgium EPI – EPITESSERA Architects, Cyprus
CYPE – CYPE SOFT, S.L., Spain INGL – Ingleton Wood LLP, United Kingdom
FER – Ferrovial Agroman, Spain TIE – TIE Nederland N.V., The Netherlands
EJD – Entreprises Jacques Delens S.A., Belgium
IBP – Fraunhofer-Gesellschaft zur Förderung IEC – Fraunhofer Italia Research der angewandten Forschung e.V., Germany Konsortialgesellschaft mbH, Italy
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 3 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
Executive Summary This deliverable provides a detailed technical view of the whole ACCEPT System. For this purpose, the deliverable is divided into four main parts: The system overview that provides a general vision over the complete system, showing its components and the dependencies between them The major design principles that describe the general aspects of security, data formats, communication and interaction, extensibility and testing of the technical part of the system The technical specification of the ACCEPT System that is the most important section in the deliverable. It depicts decisions made about the development of the different components of the ACCEPT System. Each component is described in detail, including an overview about the component, the major design decisions to be taken into account to develop the component, a technology comparison of the different hardware, tools, frameworks or API’s that each component can use and a selection of the hardware/software chosen for the development; and two sections about the interfaces that each component provides to the rest of the ACCEPT System and what services are consumed by each component from the interfaces offered by the others. Finally, the Mockups for the ACCEPT clients tools for the Site Manager Application, the Construction Operator Application and the Dashboard are described. These mockups are going to be presented to the final users for validation This deliverable provides the guidelines for the development of the ACCEPT System (WP3, WP4, WP5 and WP6).
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 4 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
Table of Contents
1 Introduction ...... 15 1.1 ACCEPT Project Overview ...... 15 1.2 Deliverable Purpose, Scope and Context ...... 15 1.3 Document Status and Target Audience ...... 16 1.4 Abbreviations and Glossary ...... 16 1.5 Document Structure ...... 16 2 System Overview ...... 17 2.1 Architecture ...... 17 2.2 Components ...... 17 2.3 Dependencies between Components ...... 19 3 Major Design Principles ...... 20 3.1 Security and Privacy ...... 20 3.2 Data Formats ...... 20 3.3 Communication and Interaction ...... 21 3.4 Extensibility...... 21 3.4.1 Back-end Extensibility ...... 22 3.4.2 Client Extensibility ...... 22 3.4.3 Market Place Extensibility ...... 22 3.5 Testing ...... 22 4 Technical Specification ...... 24 4.1 Overall ...... 24 4.1.1 Overview ...... 24 4.1.2 Major Design Decision ...... 24 4.1.3 Technology Comparison ...... 24 4.1.3.1 Technology Selection ...... 25 4.1.4 Component Structure ...... 26 4.1.5 Interfaces ...... 26 4.1.6 Consumed Services ...... 26 4.1.7 Summary...... 26 4.2 Site Manager Application ...... 26 4.2.1 Overview ...... 26 4.2.2 Major Design Decision ...... 26 4.2.3 Technology Comparison ...... 27 4.2.3.1 Operating System ...... 27 4.2.3.2 Device ...... 29 4.2.3.3 Framework ...... 31 4.2.3.4 Runtime Environment ...... 34 4.2.4 Component Structure ...... 36 4.2.4.1 Service Interaction ...... 36 4.2.4.2 Service Logic ...... 37 4.2.4.3 Data ...... 37 4.2.4.4 Settings View ...... 37 D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 5 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
4.2.4.5 Extension View ...... 38 4.2.4.6 Sensor View ...... 38 4.2.4.7 Viki View ...... 38 4.2.4.8 Project View ...... 38 4.2.5 Interfaces ...... 39 4.2.5.1 SiMa Services ...... 39 4.2.5.2 Services ...... 40 4.2.6 Consumed Services ...... 50 4.2.7 Summary...... 50 4.3 Construction Operator Application ...... 51 4.3.1 Major Design Decision ...... 51 4.3.2 Technology Comparison ...... 51 4.3.2.1 Smart glasses ...... 51 4.3.2.2 Frameworks ...... 55 4.3.2.3 Augmented Reality Frameworks ...... 60 4.3.3 Component Structure ...... 62 4.3.3.1 Service Access ...... 62 4.3.3.2 Service Logic ...... 63 4.3.3.3 Service Data ...... 63 4.3.4 Interfaces ...... 64 4.3.5 Consumed Services ...... 64 4.3.6 Summary...... 64 4.4 Dashboard ...... 65 4.4.1 Overview ...... 65 4.4.2 Major Design Decision ...... 65 4.4.3 Technology Comparison ...... 65 4.4.3.1 Technology Selection ...... 68 4.4.4 Component Structure ...... 70 4.4.4.1 Data Tier ...... 70 4.4.4.2 Logic Tier ...... 71 4.4.4.3 UI Tier ...... 71 4.4.5 Interfaces ...... 72 4.4.6 Consumed Services ...... 72 4.4.7 Summary...... 72 4.5 Visual Wiki ...... 73 4.5.1 Overview ...... 73 4.5.2 Major Design Decision ...... 73 4.5.3 Technology Comparison ...... 73 4.5.3.1 Communication Frameworks ...... 73 4.5.3.2 Translation Frameworks ...... 77 4.5.4 Component Structure ...... 78
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 6 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
4.5.4.1 Service Access ...... 79 4.5.4.2 Service Logic ...... 79 4.5.4.3 Service Data ...... 80 4.5.5 Interfaces ...... 80 4.5.5.1 Get Execution Details Assets ...... 81 4.5.5.2 Get Execution Details Assets by UID...... 82 4.5.5.3 Modify Execution Details Assets ...... 83 4.5.5.4 Create a new Execution Details Assets ...... 84 4.5.5.5 Delete an Execution Details Assets ...... 85 4.5.5.6 Delete Execution Details Assets by UID ...... 86 4.5.5.7 Get Extended Visual Annotation ...... 87 4.5.5.8 Get Extended Visual Annotations by UID ...... 88 4.5.5.9 Get Translated Extended Visual Annotations ...... 90 4.5.5.10 Modify an Extended Visual Annotations ...... 91 4.5.5.11 Create an Extended Visual Annotation ...... 92 4.5.5.12 Delete an Extended Visual Annotation ...... 93 4.5.5.13 Delete Extended Visual Annotations by UID ...... 94 4.5.6 Consumed Services ...... 95 4.5.7 Summary...... 95 4.6 Sensor Abstraction Framework ...... 96 4.6.1 Overview ...... 96 4.6.2 Major Design Decision ...... 96 4.6.2.1 Platform and Devices ...... 96 4.6.2.2 Creation and Upkeep of Sensor Profiles on the PN ...... 97 4.6.2.3 Utilization of Sensor Plugins ...... 98 4.6.3 Technology Comparison ...... 98 4.6.3.1 Frameworks Comparison ...... 98 4.6.3.2 Plugin Architecture Comparison ...... 102 4.6.4 Component Structure ...... 105 4.6.4.1 Sensor Abstraction ...... 105 4.6.4.2 Framework Logic ...... 106 4.6.4.3 Access ...... 107 4.6.5 Interfaces ...... 107 4.6.5.1 Sensor Plugins ...... 107 4.6.5.2 Client Services ...... 113 4.6.6 Consumed Services ...... 116 4.6.6.1 Authorisation Services ...... 116 4.6.6.2 Profile Nexus Services ...... 117 D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 7 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
4.6.7 Summary...... 117 4.7 Autonomous Messaging Framework ...... 117 4.7.1 Overview ...... 118 4.7.2 Major Design Decisions ...... 118 4.7.3 Technology Comparison ...... 119 4.7.4 Technology Selection ...... 123 4.7.5 Component Structure ...... 124 4.7.6 Interfaces ...... 126 4.7.6.1 Gateways ...... 126 4.7.6.2 WebSocket Interface ...... 133 4.7.6.3 Service Registration and Discovery API ...... 134 4.7.6.4 Mappings and Transformations ...... 137 4.7.6.5 Workflows and activities ...... 140 4.7.6.6 Cloud Base Archiving ...... 142 4.7.7 Protocols and Data Formats ...... 143 4.7.7.1 Protocols ...... 143 4.7.7.2 Format ...... 144 4.7.8 Summary...... 146 4.8 Profile Nexus ...... 146 4.8.1 Overview ...... 146 4.8.1.1 Major Design Decisions ...... 147 4.8.1.2 Technology Comparison ...... 148 4.8.1.3 Technology Selection ...... 148 4.8.2 Information Data Model ...... 149 4.8.2.1 Overview ...... 149 4.8.2.2 Major Design Decision ...... 150 4.8.2.3 Theoretical Data Structure ...... 151 4.8.3 Construction Profile ...... 159 4.8.3.1 Overview ...... 159 4.8.3.2 Major Design Decision ...... 159 4.8.3.3 Technology Comparison ...... 160 4.8.3.4 Component Structure...... 163 4.8.3.5 Interfaces ...... 164 4.8.3.6 Consumed Services...... 166 4.8.4 Quality Profile ...... 166 4.8.4.1 Overview ...... 166 4.8.4.2 Interfaces ...... 166 4.8.4.3 Consumed Services...... 171 4.8.5 User Profile ...... 172
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 8 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
4.8.5.1 Overview ...... 172 4.8.5.2 Updating User Profile Data ...... 172 4.8.5.3 Retrieving User Profile Data ...... 173 4.8.5.4 Summary ...... 177 4.8.6 Workflow Profile ...... 177 4.8.6.1 Interface Get Crew...... 177 4.8.6.2 Interface Update Crew ...... 178 4.8.6.3 Interface Get Task ...... 179 4.8.6.4 Interface findMismatchedTasks ...... 181 4.8.6.5 Interface Update Task ...... 181 4.8.6.6 Interface Get Task Workflow ...... 183 4.8.6.7 Interface Update Task Workflow ...... 185 4.8.6.8 Interface Subscribe to Workflow Notifications ...... 186 4.8.6.9 Interface Subscribe to Workflow Control Reminders ...... 187 4.8.6.10 Interface Attach Report ...... 188 4.8.6.11 Summary ...... 189 4.9 Service Market Place ...... 189 4.9.1 Overview ...... 189 4.9.2 Major Design Decision ...... 190 4.9.3 Technology Comparison ...... 190 4.9.3.1 Technology Selection ...... 191 4.9.4 Component Structure ...... 192 4.9.4.1 Service Interaction ...... 192 4.9.4.2 Service Logic ...... 193 4.9.4.3 Data ...... 193 4.9.5 Interfaces ...... 193 4.9.5.1 Information of a Service ...... 193 4.9.5.2 Information of a Service by version ...... 195 4.9.5.3 List Of All Services...... 196 4.9.5.4 Update Existing Service ...... 198 4.9.5.5 Add New Service ...... 199 4.9.5.6 Get Binary of a Service ...... 200 4.9.5.7 Rate a Service ...... 201 4.9.6 Consumed Services ...... 201 4.9.7 Summary...... 202 4.10 Knowledge and Information Storage ...... 202 4.10.1 Overview ...... 202 4.10.2 Major Design Decisions ...... 202
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 9 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
4.10.3 Technology Comparison ...... 204 4.10.3.1 Backend-as-a-Service ...... 205 4.10.3.2 Documentation Framework ...... 206 4.10.3.3 Semi-Structured Data Storage Technologies ...... 208 4.10.3.4 Binary Data Storage Technologies ...... 210 4.10.4 Component Structure ...... 212 4.10.5 Interfaces ...... 213 4.10.5.1 RESTful Interfaces ...... 213 4.10.5.2 Java Interfaces ...... 226 4.10.6 Consumed Services ...... 234 4.10.7 Summary...... 235 5 Mockups ...... 236 5.1 Introduction ...... 236 5.2 Dashboard ...... 236 5.2.1 Login ...... 236 5.2.2 Home View ...... 237 5.2.3 Detail Alert View ...... 238 5.2.4 Alert Answer View ...... 239 5.3 SiMa App ...... 239 5.3.1 Settings Extension ...... 239 5.3.2 Marketplace Extension ...... 240 5.3.3 Sensor Extension ...... 241 5.3.4 Viki Extension ...... 242 5.4 CoOp App ...... 243 5.4.1 Login ...... 243 5.4.2 Main Screen ...... 244 5.4.3 Scan Screen ...... 244 5.4.4 My Tasks Screen ...... 245 5.4.5 Task Screen ...... 245 6 Conclusion and Next Steps ...... 247 7 Annex ...... 249
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 10 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
List of Figures, Tables and Listings
List of Figures
Figure 1: Statistic – EU5 – Mobile Market Share (Aug 2015)...... 28 Figure 2: Statistic – The Population of the EU5 compared to the Smart Phone Users ...... 30 Figure 3: UML Component Diagram – SiMa Service ...... 36 Figure 4: Vuzix M100 ...... 52 Figure 5: Epson Moverio BT200 ...... 53 Figure 6: Daqri Smart Helmet ...... 53 Figure 7: Microsoft Hololens ...... 54 Figure 8: UML Component Diagram – CoOp Components...... 62 Figure 9: Examples of Responsive Design of a Web Page...... 67 Figure 10: Dashboard Technology Comparison ...... 68 Figure 11: Stack of technologies ...... 69 Figure 12: UML Component Diagram - Dashboard ...... 70 Figure 13: UML Component Diagram – Viki Components ...... 79 Figure 14: Android Sensor Stack ...... 97 Figure 15: High-level Android Architecture and the Relationship between the Android NDK and SDK ...... 99 Figure 16: UML Component Diagram - SAF ...... 105 Figure 17: ESB (Enterprise Service Bus) technologies evaluation ...... 123 Figure 18. TIE Smart Bridge Architecture ...... 125 Figure 19 Architecture of the TIE E-Archiving Solution ...... 142 Figure 20: AMF Inter-Component Message ...... 145 Figure 21: AMF Queue Subscription Message ...... 145 Figure 22: AMF Topic Subscription Message ...... 146 Figure 23: AMF Queue Unsubscription Message ...... 146 Figure 24: AMF Topic Unsubscription Message ...... 146 Figure 25. Profile Nexus Overview ...... 147 Figure 26: Data Structure for the Creation of Task List, Component and Material Inventory ...... 151 Figure 27: Data Framework for Task, Components and Materials ...... 152 Figure 28: Data structure for the construction area ...... 153 Figure 29: Data Structure for the Definition of Crew, Timespan for a Work and Crew Assignment to a Task ...... 154 Figure 30: Data Structure for the Creation of a Task Workflow ...... 154 Figure 31: An Example of Workflow and its Actualization by Reporting Process in the Quality Profile ...... 155 Figure 32: Data Structure for Report List ...... 156 Figure 33: Data Structure of the Quality Profile ...... 157 Figure 34: Data Structure of the Construction Project Profile ...... 158 Figure 35: Data Structure of the Project User Profile ...... 159 Figure 36: Information Delivery Manual. Guide to Components and Development Methods’ by Building Smart ...... 162
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 11 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
Figure 37: Picture from ‘Information Delivery Manual. Guide to Components and Development Methods’ by Building Smart ...... 163 Figure 38: Construction Profile sub-components ...... 163 Figure 39: UML Component Diagram – Market Place Service ...... 192 Figure 40 : KIS Component Structure Diagram ...... 212 Figure 41: Dashboard Login ...... 237 Figure 42: Dashboard Home View ...... 238 Figure 43: Dashboard Detail Alert ...... 239 Figure 44: Dashboard Alert Answer ...... 239 Figure 45: SiMa Mock-Up - Settings Extension ...... 240 Figure 46: SiMa Mock-Up - Marketplace Extension ...... 241 Figure 47: SiMa Mock-Up - Sensor Extension ...... 242 Figure 48: SiMa Mock-Up – Viki Extension ...... 243 Figure 49: CoOpApp Login ...... 244 Figure 50: CoOpApp Main Screen ...... 244 Figure 51: CoOpApp Scan Screen ...... 245 Figure 52: CoOpApp MyTask Screen ...... 245 Figure 53: CoOpApp Task Screen ...... 246 List of Tables
Table 1: Dependencies between components ...... 19 Table 2: Generic Criteria ...... 25 Table 3: Comparison Criteria Operating System ...... 29 Table 4: Comparison Criteria Devices ...... 31 Table 5: Comparison Criteria Framework ...... 33 Table 6: Comparison Criteria Runtime Environment ...... 35 Table 7: Smart Glasses comparison ...... 55 Table 8: Frameworks Comparison ...... 59 Table 9: Augmented Reality comparison ...... 61 Table 10: Consumed Services ...... 64 Table 11: Services Consumed by Dashboard ...... 72 Table 12: Communication Frameworks Comparison ...... 76 Table 13: Translation Framework Comparison ...... 78 Table 14: GetEDA interface ...... 81 Table 15: GetEDAByUID interface ...... 82 Table 16: putEDA interface ...... 83 Table 17: PostEDA interface ...... 84 Table 18: DeleteEDA interface ...... 85 Table 19: DeleteEDAByUID interface ...... 86 Table 20: GetEVA interface ...... 87 Table 21: GetEVAByUID interface ...... 88 Table 22: GetTranslateEVA interface ...... 90 Table 23: PutEVA interface ...... 91 Table 24: PostEVA interface ...... 92 Table 25: DeleteEVA interface ...... 93 Table 26: DeleteEVAByUID interface ...... 94 Table 27: Frameworks Comparison ...... 101 D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 12 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
Table 28: Plugin Architecture Comparison ...... 104 Table 29: RESTful Interface Description – Get a List of Queues and Topics...... 127 Table 30: RESTful Interface Description – Subscribe to a Queue or a Topic ...... 128 Table 31: RESTful Interface Description – Unsubscribe from a Queue or a Topic ...... 130 Table 32: RESTful Interface Description – Send a Message to a Queue or a Topic ...... 131 Table 33: RESTful Interface Description – Establish a WebSocket Connection ...... 133 Table 34: RESTful Interface Description – List Services...... 135 Table 35: RESTful Interface Description – Invoking a Service ...... 136 Table 36: RESTful Interface Description – Find Mappings ...... 138 Table 37: RESTful Interface Description – Upload Mapping ...... 139 Table 38: RESTful Interface Description – List Workflows ...... 140 Table 39: Construction Profile Technology Comparison ...... 161 Table 40: Provides3DModel Interface ...... 164 Table 41: GetDocument&Details Interface ...... 165 Table 42: Consumed Services by Construction Profile ...... 166 Table 43: RetrieveChecklist Interface ...... 167 Table 44: SearchChecklist Interface ...... 167 Table 45: PostChecklist Interface ...... 168 Table 46: RetrieveChecklist Interface ...... 169 Table 47: RetrieveSpecificMetric Interface ...... 170 Table 48: Consumed Services from KIS ...... 171 Table 49: Consumed Services from PN ...... 172 Table 50: Find Users Interface ...... 173 Table 51: List Users with an Access Right Interface ...... 174 Table 52: List Users with a Skill Interface ...... 175 Table 53: List Users with a Role Interface ...... 176 Table 54: Get Crew Interface ...... 177 Table 55: Update Crew Interface ...... 178 Table 56: Get Task Interface ...... 179 Table 57: Find Mismatched Tasks Interface ...... 181 Table 58: Update Task Interface ...... 181 Table 59: Get Task Workflow Interface ...... 183 Table 60: Update Task Workflow Interface ...... 185 Table 61: Subscribe to Workflow Notifications Interface ...... 187 Table 62: Subscribe to Workflow Control Reminders ...... 187 Table 63: Attach Report ...... 188 Table 64: SMP Technologies comparison ...... 191 Table 65: RESTful Interface Description – Information of a Service ...... 194 Table 66: RESTful Interface Description – Information of a Service by Version ...... 195 Table 67: RESTful Interface Description – List of all Services ...... 196 Table 68: RESTful Interface Description – Update a service ...... 198 Table 69: RESTful Interface Description – Add a service ...... 199 Table 70: RESTful Interface Description – Add a service ...... 200 Table 71: RESTful Interface Description – Rate a service ...... 201 Table 72: KIS - Shared Criteria for Technical Specification – Storage Technologies ...... 204 Table 73: Technology Comparison of BaaS-systems ...... 205 Table 74: Comparison of Documentation Frameworks ...... 207 Table 75: KIS - Comparison of Technologies for Semi-Structured Data Storage ...... 209 D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 13 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
Table 76: KIS - Comparison of Technologies for Binary Data Storage ...... 211 Table 77: RESTful Interface Description – Common Return Codes ...... 213 Table 78: RESTful Interface Description – Create Bucket ...... 214 Table 79: RESTful Interface Description – Describe Bucket ...... 215 Table 80: RESTful Interface Description – Delete Bucket ...... 216 Table 81: RESTful Interface Description – Describe Bucket ...... 217 Table 82: RESTful Interface Description – Delete Bucket ...... 217 Table 83: RESTful Interface Description – Create Object(s) ...... 219 Table 84: RESTful Interface Description – Read Object ...... 220 Table 85: RESTful Interface Description – Update Object ...... 221 Table 86: RESTful Interface Description – Delete Object ...... 222 Table 87: RESTful Interface Description – Query Read ...... 222 Table 88: RESTful Interface Description – Query Delete ...... 225 Listings
Listing 1: Binding to the Service ...... 39 Listing 2: Send Message ...... 39 Listing 3: XML permission ...... 40 Listing 4: Format of an Update User Message ...... 173 Listing 5: Service Information ...... 194 Listing 6: App Information ...... 195 Listing 7: Service Information ...... 196 Listing 8: Service Information ...... 196 Listing 9: List of Services ...... 198 Listing 10: List of Services ...... 198 Listing 11: Update a service ...... 199 Listing 12: Insert a service ...... 200 Listing 13: Insert a service ...... 201 Listing 14: Insert a service ...... 201 Listing 15: Example – Converting a Java-Object to a JSON-Object...... 226 Listing 16: API Method Signature for Creating a Bucket and the Usage of this Method .. 227 Listing 17: API Method Signature for Listing Buckets and the Usage of this Method ...... 227 Listing 18:API Method Signature for Describing a Bucket and the Usage of this Method 228 Listing 19: API Method Signature for Deleting a Bucket and the Usage of the Method ... 229 Listing 20: Factory Method to Create a Test Data Object ...... 229 Listing 21: Operation createObject and the Usage of this Method ...... 230 Listing 22: Operation readDataObject and the Usage of this Method ...... 231 Listing 23: Operation updateObject and the Usage of this Method ...... 232 Listing 24: Operation deleteObject and the Usage of this Method ...... 232 Listing 25: API Method Signature to Execute a Generic Query on a Specific Bucket and the Usage of this Method ...... 234
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 14 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
1 Introduction ACCEPT – Assistant for Quality Check during Construction Execution Processes for Energy-efficienT buildings – is a project funded by the Horizon 2020 Framework Programme of the European Commission under Grant Agreement No. 636895. The ACCEPT system will run on Smart Glasses and unobtrusively guide workers during the construction on site. This provides a standardized and coordinated process for all workers, ensuring that all benefits of energy-efficient building components are maintained The ACCEPT system consists of three pillars: Advanced Knowledge Transfer for Energy-efficient Construction Agile Project Coordination for Bridging Heterogeneities Adaptive Quality Assurance with Self Inspection-Features 1.1 ACCEPT Project Overview One of the major problems in the construction sector today is the potential loss of benefits of energy-efficient building components because of the lack of knowledge or bad implementation during the construction processes. The outcomes of the ACCEPT project will help to overcome this problem with the following applications as a holistic platform: The Construction Operator Assistant App (CoOpApp) running on Smart Glasses, which passively collects data and actively provides guidance to the worker on site during the building process. (Pillar I: Advanced Knowledge Transfer for Energy- efficient Construction) A Site Manager App (SiMaApp) running on a mobile device, which allows to remotely coordinate the working process as well as collect additional data on site by different sensors. (Pillar II: Agile Project Coordination for Bridging Heterogeneity) An interactive web-based Dashboard as a monitoring and quality assurance solution. The Dashboard will use self-inspection methods to determine important characteristics such as U-Values. (Pillar III: Adaptive Quality Assurance with Self- Inspection Features) To achieve its goals, the project ACCEPT conducts original research from a user centred perspective and applies technologies from the fields of Ubiquitous Computing, Big Data, Cyber Physical Systems, the Internet of Services, and Human-Computer Interaction. For more information, please refer to the project website at http:/www.accept-project.com. 1.2 Deliverable Purpose, Scope and Context The purpose of the document is to specify the technical information of the ACCEPT System, with the purpose to be a guidance for the implementation of the system. This document provides deep information about ACCEPT components, technical details about different technologies to implement the components, its interaction to allow the exchange of information. To write this document we are using as a base the Architecture Definition and Functional Specification deliverable (Deliverable D2.7).
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 15 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
The description in the document are low level and includes concrete technological selections to develop each component of the ACCEPT System. This level allows to know what are the more adequate tools to develop our system at this moment. 1.3 Document Status and Target Audience This document is listed in the Description-of-Action (DoA) as “public”, as it provides general information about the goals and scope of the ACCEPT project and can therefore be used by external parties in order to get according insight into the project activities. While the document mainly aims at the project’s contributing partners, this public deliverable can also be useful for the wider scientific and industrial community. This includes other publicly funded research and development projects, which may be interested in collaboration activities. 1.4 Abbreviations and Glossary A definition of common terms and roles related to the realization of the ACCEPT project as well as a list of abbreviations is available in the supplementary document “Supplement: Abbreviations and Glossary”, which is provided in addition to this deliverable. Further information can be found at http://www.accept-project.com. 1.5 Document Structure This deliverable is broken down into the following sections: Section 1 provides an introduction for this deliverable including a general overview of the project, and outlines the purpose, scope, context, status, and target audience of this deliverable. Section 2 provides an overview of the ACCEPT system, with a summary of the architecture, the different components and dependencies between them. Section 3 is about Major Design Principles in the ACCEPT system, talking about Security and Privacy, Data Formats, Communication and Interactions, Extensibility and Testing. Section 4 is the most important section of the document because is about technical specification of all ACCEPT components. This section show in deep each component and its interaction with the other components of the ACCEPT system. Section 5 shows the different mockups of the User Interface tools of our system: Dashboard, SiMaApp and CoOpApp. Finally, section 6 includes conclusions and next steps.
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 16 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
2 System Overview This section consists of a brief summary of the ACCEPT system, considering its architecture, its components and the existing dependencies between them 2.1 Architecture The ACCEPT architecture is composed by three different architecture layers: a FrontEnd, a BackEnd and a Storage layer: The FrontEnd layer is composed by three components that can be accessed by the users: o Site Manager App is a mobile application. By using this application, users can improve their work in a building construction. More details about this component are shown in section 4.2. o Construction Operator App is a smart glasses application. It is unobtrusive fort the users and allows them to visualize information regarding the construction, and providing guidance to the worker on real time during the building process. This component is more detailed in section 4.3. o Dashboard is a web client for the ACCEPT System. The main goal of Dashboard is to provide a high-level view on the Quality aspects of the building and the construction process. In addition, users are able to add new Execution Details Assets in the Dashboard. For more information about this component, see section 4.4. The BackEnd layer is composed by the following components: Visual Wiki (section 4.5), Sensor Abstraction Framework (section 4.6), Autonomous Messaging Framework (section 4.7), Profile Nexus (section 4.8) and Service Market Place (section 4.9). These components allow the information exchange process in the ACCEPT system. They work as a black box which executes all the system processes. The Storage layer is mainly composed by the Knowledge Information Storage (KIS) component. KIS is necessary for the privacy-aware data management in the ACCEPT system. Project data will be stored in “buckets”. These small data storage units can be used to store data isolated from each other based on the origin. This principle allows a good data privacy management as it enforces KIS clients to access data only in a specific bucket. It is known as a sandbox in other ICT domains. This component is shown in section 4.10. 2.2 Components This subsection introduces the different ACCEPT system components. They were fully described in D2.7 Architecture Definition and Functional Specification. The Site Manager Application (SiMaApp) is the app for a mobile device of the Google Project Tango and will be used to check the progression of a construction site, as well as to manage the day-to-day work. It offers a unified access point to the functionality of the distributed server components of the ACCEPT system. It
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 17 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
provides Interfaces and the Runtime for ACCEPT extensions as well as handling all communication between the ACCEPT extensions and the SAF Constructor Operator Application (CoOpApp) is the component in charge of managing the smart glasses. This component allow the users to add Extended Visual Annotations (EVA) into any part of a construction site by Augmented Reality technology, to view instructions as videos or images about how to do something in the construction(e.g. how to install a window) and also to take pictures and send them to the ACCEPT system. It runs on Epson Moverio BT-200 smart glasses and they offer Augmented Reality (AR) information, as Executed Details Assets (EDA) and Extended Visual Annotations (EVA) objects Dashboard is a web client for the ACCEPT System developed with the Dart framework and it is used mainly as a desktop client. The main goal of the Dashboard is to provide a high-level view on the Quality aspects of the building and the construction process. Users are able to select different metrics they is interested in. Every time a user logs in the Dashboard, he/she is able to see, at a glance, the quality status of these different metrics and to browse the Quality metrics, from the high level view to more detailed ones. By this way the user can know the needed priority about different quality aspects of the construction process. In addition, a user can add new Execution Details Assets from the Dashboard. Visual Wiki (Viki) is the component responsible for managing information about Augmented Reality (AR), sending AR information as 3D Models and Virtual Notes to the users. Viki exposes REST interfaces that provide different services for the managing and interaction with AR information types EDA and EVA. It also offers translation of EVA through different API’s. The Sensor Abstraction Framework (SAF) encapsulates the logic for managing all aspects of sensors and defines how these sensors can feed the data to the system. It is located on the client (SiMaApp & CoOpApp) devices, and communicates with the Profile Nexus (PN), to archive its sensor readings, and the Authorisation Component, to authorise client actions. SAF is developed with the Android SDK. The Autonomous Messaging Framework (AMF) provides an easy to use infrastructure for any interaction of all components of the ACCEPT system. AMF is a conduit that tires up together all participants of the ACCEPT system from legacy data sources and business services to users interacting with the system via hand- held devices AMF is developed with the TIE Smart Bridge solution that is a commercial product of one of the project partners. Profile Nexus (PN) is the component that manages the information related to the construction activity of the ACCEPT system. (BIM, roles, workflow, technical documentation, etc.). It is provides different services for the interaction with the four profile types: Construction Profile, Quality Profile, Project Workflow Profile and User Profile. It provides the business logic that allows the interaction between profiles in an event-driven environment. The Service Market Place is a server application and repository for third party services. The SMP allows users to add specific functionalities not incorporated in the default features of the ACCEPT System. The Knowledge and Information Storage (KIS) component is an abstraction of all required databases in the ACCEPT system. It enables the other components to
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 18 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
store any data securely in an easy to use manner. For this purpose, it offers different RESTful and Java interfaces to the ACCEPT System.
2.3 Dependencies between Components This subsection shows an overview of the dependencies between all ACCEPT components. Section 4 shows the services or interfaces the components use to connect to each other. For this purpose, the following table shows a summary about the dependencies. Table 1: Dependencies between components SiMa CoOp Dashboard Viki SAF AMF PN SMP KIS
SiMa ✔ ✔ ✔ ✔ ✔
CoOp ✔ ✔ ✔ ✔
Dashboard ✔ ✔ ✔ ✔
Viki ✔ ✔ ✔ ✔ ✔ ✔
SAF ✔
AMF
PN ✔ ✔
SMP ✔ ✔ KIS
D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 19 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups
3 Major Design Principles
3.1 Security and Privacy Two key aspects are especially important for technology uptake among the users of the ACCEPT system: security, guaranteeing the protection of personal and project data, and control, assuring that the users can influence how the data they are responsible for may be used. In terms of the technical specification of the ACCEPT system, the security and privacy related requirements can be broken down into the following aspects: Privacy settings in the end-user front-end Access control within components Security in web-based inter-component communication The first aspect deals with how privacy settings are managed and controlled by the end user. Secondly, access control within components will ensure that personal information stored by a component will not leak to other ACCEPT users/components or to 3rd parties, unless explicitly configured to allow external access. In ACCEPT, this requirement primarily applies to the Profile Nexus, the Visual Wiki and the Knowledge and Information Storage Finally, the ACCEPT system also uses web-based communication in the form of RESTful interfaces to provide services to other components. This communication needs to be safe and secure, so that personal information cannot be leaked by intrusive requests or eavesdropping. This means that all RESTful services must to be secure and adopt authentication mechanism. Below are the mechanisms that ACCEPT will adopt to fulfil these two requirements: Security: The communication between client and server side could be done across an untrusted network where the data could be leaked. In order to avoid this situation, the communication will be secured adopting the Transfer Layer Protocol (TLS), which ensures an encrypted communication between authenticated communication partners. This security method is also used in HTTPS. Authorisation: Once the communication is secure, the user of a web service has to be authenticated. For this a dedicated component will be used, whereas the authorisation should be handled by each component on its own. There will be a central component, which will direct queries regarding the authorisation to the component concerned. 3.2 Data Formats Technologies which provide a certain degree of interoperability is preferred so ACCEPT system will work by standardized and open data formats. The key factors in the decision-making have been: How is it planned to analyse, sort, or store What formats are well developed for interoperability D2 8 - Technical Specification and Mockups - Document Date: Page: For Approval 1.0.docx Version: 1.0 2015-12-28 20 / 249 http://www.accept-project.com/ Copyright © ACCEPT Project Consortium. All Rights Reserved. Grant Agreement No.: 636895
Public Technical Specification ACCEPT WP2 and Mockups