Abstract

Formal methods provide multiple benefits when applied in the software development process. For instance, they enable engineers to verify and validate models before working on their implementation, leading to earlier detection of design defects. However, most of them lack flexibility to be applied in agile software development projects. Alloy is a lightweight formal modeling language with a friendly tool that facilitates the agile approaches application. Unfortunately, its industrial adoption is hampered by the lack of methods and tools for current software development frameworks, such as Entity Framework. This platform is usually chosen by agile projects following the code-first approach that allows automatic generation of a database from domain classes coded in the C# language. We present a new method and tool for the formal specification and analysis of Entity Framework projects with Alloy. The proposal allows engineers to start the software development using Alloy for modeling, validation and verification, automatically translate Alloy specifications to C# domain classes and then generate the corresponding database with Entity Framework. We validate our approach with a real case study: an application required by a gas supplier company.

Highlights

  • Over the last 25 years, Formal Methods have been successfully used in the development of systems

  • We propose a new method and tool for the integration of Alloy into Entity Framework projects in order to 1) improve the quality of the domain model through Alloy, 2) automate the generation of domain classes coded in C# from an Alloy specification and 3) derive the database schema

  • We have presented a new method and tool for the integration of Alloy into Entity Framework

Read more

Summary

INTRODUCTION

Over the last 25 years, Formal Methods have been successfully used in the development of systems. As experts confirm in the Survey on Formal Methods (Garavel et al, 2020), the application of formal methods provides multiple benefits, such as quality, security, and easier maintenance Their adoption in the software industry still faces some obstacles such as the lack of efficient support tools and methods (Steffen, 2017). We propose a new method and tool for the integration of Alloy into Entity Framework projects in order to 1) improve the quality of the domain model through Alloy, 2) automate the generation of domain classes coded in C# from an Alloy specification and 3) derive the database schema. We validate our proposal by applying it in the development of a real system of a gas supplier company This system was rebuilded from a version which used a traditional software development process, namely without formal methods. Bonino M.B. et al │ International Journal of Software Engineering and Computer Systems │ Vol 7, Issue 2 (2021)

RELATED WORK
CONCLUSION
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.