Hyperledger Project Mentor/Mentee programme proposal
|
This is a document that describes the project plan for an internship that is designed to advance a prototype system in the application of Hyperledger Composer for providing governance in Construction and Engineering projects (c&e). Through simulation and advanced configuration, testing and evaluation, this project is designed to advance the technology towards a commercial application. In a previous phase of the project, computer architecture was developed that provided a closed, private network for multiple trading partners. The long-term goal is to make use of the ground-up assemblage participation in the network that can provide governance for a wide range of transactions. These include deliveries, installation, payment, inspection, and certification and general administrative functions. This second phase of the project will progress the technology to the next level. Keywords: Blockchains, project governance in construction and engineering projects
Existing Tutorials useful for the starting point of the project:
https://github.com/LeoTungAnh/HyperledgerComposerConstructionManagement/blob/master/README.md
Source code: https://github.com/LeoTungAnh/HyperledgerComposerConstructionManagement
Phase 1 of the project Wiki: https://wiki.hyperledger.org/pages/viewpage.action?pageId=6427022
For this particularly project (Phase 2) the specific, short-term, achievable learning objectives are:
Build on the past phase of mentor programme by integrating the past mentee into the current project.
In terms of the project itself, the objective are: to identify design, test and evaluate blockchains to improve the management of c&e projects, by completing the following tasks.
The long-term and overarching aims of this programme are to lead to the development of a professional software package using blockchain technology that will provide significant and cost effective solutions to managers of construction and engineering projects. This long-term aim requires completion of a number of stages of development, each of which builds on the success of the previous one.
The following table contains the tasks and deliverables and their respective deadlines, milestones and evaluation criteria.
Project schedule, output and objectives
Date (2020) | Activities | Output/target/milestone | Done ? |
June 1st | Project kick-off, initial communication, share ideas and project organisation. | Agreement between mentor and mentee on project parameters. Delivery of the project planning document draft (this document). Introduce past mentee to present mentee. | √ |
June 14th | Establish working practices, set communication schedule, agree on outputs/targets and milestones | Note: important to get three way communication established. | √ |
June 25th | Perform an analysis of the current system (from Phase 1), taking the time and opportunity to ensure that all those working on the project understand the code. | Consider after research that alternatives to Composer to be used in the system. . |
|
June 28th | Progress literature review analysis to ensure that the project has up to date knowledge on the area. | Academic output: Add to a paper already in progress on the architecture already designed. |
|
July 1st | Schematic of redesigned system including improved interface and management system. | Upgrade design for the commercial process used for this project. |
|
July 5th | Test the membership system and ensure that that the system can accommodate these changes. | Academic output: Contribute to ongoing paper that describes the membership management system. |
|
July 10th | Finalise the replacement of Composer with HLF. . | Academic output: Contribute to a paper that justifies the use of Composer as the optimum tool for defining commercial models for C&E projects.
|
|
July 12th | Based on the above work, produce a detailed schematic for architecture system of C&E. Work on trial network setup. | ||
July 18th | Add the results and submit as the first milestone. | 1st Evaluation and report | |
July 23th | Based on specification and requirements for system, further define assets | Output: model file (.cto) | |
July 26th | Based on outline of the membership management system, define access control for participants | Output: Access control rules (.acl) | |
Aug 2nd | Based on actions of participants, define use cases. | Output: use case tables | |
Aug 6th | Based on use cases, assets, life cycle of transaction and ledger states, define transaction. | Output: gather transaction definition, assets and participants to create a model file (.cto) | |
Aug 10th | Implement logic (smart contract) and query definition. | Output: Transaction Function (.js) and query file (.qry) | |
Aug 27th | Package business network definition. | Output: archive file for business network definition (.bna) | |
Aug 29th | Add the results and submit as the second milestone. | 2nd Evaluation and report | |
Sept 16th | Based truth relationships, define channels and nodes in hyperledger fabric network. | Output: crypto-config.yaml, configtx.yaml and connection.json | |
Sept 23rd | Test hyperledger fabric network with different types of orderers (single orderer, Raft, Kafka) | ||
Sept 27th | Deploy updated business network of hyperledger composer on hyperledger fabric using new system and protocols. | ||
Oct 7th | Generate REST APIs for business network | ||
Oct 10th | Propose details of the pilot project | 3rd Evaluation and report | |
Oct 18th | Based on use cases, define test cases and set out a plan for live testing of the system. . | ||
Oct 12th | Test system by installing REST APIs in multiple nodes across the network and by running an pre-established test routine. | Academic contribution: Plan out paper to describe the test regime for C&E projects. | |
Nov 15th | Final synthesis of project outputs. | Final evaluation and report |
The first phase of this project was successfully completed in time based on the objectives set out in the proposal. During this phase, a number of notable accomplishments were made that will be built upon in the second phase of the project. Firstly, an analysis of the state of blockchain technology enabled the design for construction and engineering project management was designed.
Using a series of carefully crafted diagrams (for example: by class, activity and sequence) and smart contract schematics according to actions of participants as derived from a flow diagram. We have also seen the creation of an access control list that defines the actions of participant in the blockchain system. This forms the basis for the membership management system, likely to be the core administrative tool when in-use and aided by the introduction of identity cards. Additionally, we have created a range of smart contracts that are coupled to the members interface. This help control access to smart contracts in blockchain system. Work on the channel aspect of Hyperledger has also progressed significantly, including the control of access to data of participants as well as the history of transactions.
On the developer’s side, we have generated a set of Web-APIs for using blockchain system and created a basic website and user-interface for users. For reporting, a set of templates were made to allow easy viewing of all the smart contracts on the system, the history of transaction according to access rights of participant and the linkage of data in blockchain system to a Gantt chart for illustrating tasks of current project. This shows tasks are they are completed and smart contracts fulfilled. Lean management of the system has also been initiated and it is now possible to general basic project statistics and performance reports based on data from the blockchain.
One very positive outcome is that the mentee in the first phase of the project (Tung Anh Nguyen) has agreed to act as unpaid contributor in Phase 2. He will review contributions, add text and comments to the code and help train the new trainee/mentee.
The successful candidate should be nearing the end of a university course in computer science or related subject and have good proficiency with coding and learning how to install new software.
The skill level of the mentee should be at the stage of proficient and confident senior student. Basic programming and communication skills are a must. The ability to get up to speed with Hyperledger and associated languages needed to implement the system are essential. Phase 1 of the project has been written and should provide a good springboard for the next phase. However, it is understandable that the level of academic English might not be that important.
This is a long-term programme that will be accomplished by the assemblage of a number of linked projects. If blockchains are to live up their hype (see Swan, 2015), then they will need significant testing and prototyping before they are launched as a produce. The application of the technology to commercial activities (Hultgren and Pajala, 2018; Turk and Klinc, 2017), including for construction and engineering (c&e) assembly and administration (Penzes 2018; Hultgren and Pajala, 2018) is still just a promise. We are encouraged by the fast-moving nature of this technology. For example, it may now be possible to arrange secure payments using smart contracts embedded in the blockchain by making use of commercial services. Indeed, further automation of a range of assembly and administration processes could provide broad benefits across an industry that is known for low productivity and profits (Barbosa et al., 2017). Additional features of the technology can provide similar functionality as Enterprise Resource Management (erm) system, providing a low-cost alternative to these solutions.
The long-term and overarching aims of this programme are to lead to the development of a professional software package using blockchain technology that will provide significant and cost effective solutions to managers of construction and engineering projects. This long-term aim requires completion of a number of stages of development, each of which builds on the success of the previous one.
It is preferred that this mentee take on a part-time (20 hours a week for 24 weeks starting in summer and ending in fall) commitment with respect to this project.
Dr George Blumberg, Oxford Brookes University, Oxford UK. gblumberg@brookes.ac.uk