An MDE approach for the generation of smart contracts for elderly care
Abstract
Purpose The use of technology applied to the care of ageing adults is a key strategy to increase the effectiveness of health care delivery, thus contributing to a higher quality of life for ageing people.However, a general and important concern is data security and privacy.Given the security provided by Blockchain (BC), the interest in this technology is growing at an accelerated pace in different contexts, and support for aging is no exception.Security in this type of technologies rests, among other things, on Smart Contracts (SC), immutable decentralized programs for BC platforms that enforce, monitor and execute agreements, without the intervention of a trusted third party.Due to the variety of technologies and their particularities, the development of SCs is a complex process, since the architectural constraints of each platform must be considered.This paper presents a Model Driven Engineering (MDE) tool that automatically generates SCs using the Solidity programming language, in the context of a senior care process, for deployment on the Ethereum platform.This tool complements and serves as a starting point for the framework presented in (E.R. D. Villarreal, et al. 2023).For this purpose, an Ethereum SEPM Platform Specific Metamodel and a Model to Text Transformation to generate the SCs (SEP2Solidity) are presented (See the additional material in a public repository 1 ).As a proof of concept, a metamodel, a model and a deployed SC was generated and implemented, using the functionality assessment on the Elderly Nursing Core Set (ENCS) (M, Lopes.2013).The ENCS assesses quality of life in terms of functioning among ageing adults (based on the International Classification of Functioning, Disability and Health (ICF)).Method Our aim to contribute to the care of ageing people began with the identification of a problem (Dulce, E., Hurtado, J. 2021).We have analyzed the contributions that BC can have in the care of ageing people and identified shortcomings of BC technology, directly in the development of SC.In the literature review, we have analyzed the significant contributions that MDE technology can have to perform the specification and transformation of SC between different BC platforms.Based on MDE, we have created a 4-level architecture, where we have defined the real-world elements (M0), the models (M1) and the meta-models (M2) required for the whole MDE ecosystem (Figure 1).For the construction of the metamodel, we followed the interactive and iterative approach proposed in (N.Sanchez, 2022) this, allows the specification of model fragments by domain experts.These fragments can be annotated with descriptions about the intent or requirements of certain elements.A metamodel is automatically induced, which can be interactively refactored and then compiled into an implementation metamodel for different platforms and purposes.In our case for the Ethereum BC platform.The Eclipse Modelling Framework development environment was used (eCore as metamodel, Acceleo for m2t transformation) and also, Remix IDE was used for SC deployment.Results and Discussion With the metamodel created, the model of an SC for the ENCS administration was created, then, with the m2t transformation, the source code of the SC was generated.Remix was then used to implement and deploy the SC (deploy.docxfile in the supplementary material).The data obtained in Remix shows the successful deployment of the SC.Furthermore, the results indicate that our metamodel is able to generate: constructors, users, assets, global and local variables, primitive data types, functions, mappings, structures, events, among others, required in SCs for Ethereum BC platforms, preserving the syntax of the solidity.Likewise, our tool can contribute in the maturation and specification of SCs that support ageing care, directly in secure and privacy data management, e.g., ENCS, since ultimately the management of their data depends on well-structured SCs.Also, moving forward in our work, we will create this same scenario for other BC platforms and programming languages.This will enhance SC transformation between different BC platforms, contributing to the interoperability and security of this entire ecosystem.
Community
0 commentsNo discussion yet
Be the first to share a question or observation.