Hyperledger Project Mentor/Mentee programme proposal

Title

Hyperledger Fabric Test Configuration for Project Management in Construction and Engineering

Status

UNSELECTED

Difficulty

  HIGH  

Description 


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


Additional Information


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

Learning Objectives


For this particularly project (Phase 2) the specific, short-term, achievable learning objectives are:

  • Provide a positive educational experience for a student developer by allowing them to write code and to contribute to a commercially-focused project.
  • Develop the project to be public facing by creating useful and engaging user experience that explain and educate.

Build on the past phase of mentor programme by integrating the past mentee into the current project.

Expected Outcome


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.

  • Upgrade system to include the latest version of Hyperledger Fabric (hlf)
  • Replace project code written in Hypeledger Composer (“Composer”) with suitable alternative (after some research into this transfer).   
  • Replicate the already designed system architecture and network configuration in a test setup both with the mentor and the mentee.
  • Establish a set of tools to use to test live functions of Hyperledger system for c&e assembly and administrative processes.
  • Design and test procedure for business process modelling, and consider a pilot project that will be further refined and made suitable for public use.
  • 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.  

    Important dates for the project schedule and deadlines

    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


     

Relation to Hyperledger 


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. 

Education Level


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. 

Skills


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. 

Future plans

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.  

Preferred Hours and Length of Internship


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. 

Mentor(s) Names and Contact Info

Dr George Blumberg, Oxford Brookes University, Oxford UK.  gblumberg@brookes.ac.uk