International Journal of Software Engineering and Computer Systems | 2021

FORMAL MODELING AND ANALYSIS OF ENTITY FRAMEWORK USING ALLOY

 
 
 

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.\xa0 \xa0Alloy 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. \xa0We 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.

Volume None
Pages None
DOI 10.15282/ijsecs.7.2.2021.2.0085
Language English
Journal International Journal of Software Engineering and Computer Systems

Full Text