Automatic Generation of Object-Oriented Code from the ReLEL Requirements Model
Keywords:UML, Code generation, model driven architecture
The final executable code should no longer be considered as a central element in a software development process but rather a naturally important component that results from a model transformation. The objective of the MDA (Model Driven Architecture) approach is to lift the lock of software development automation from the CIM (Computation Independent Model) requirements until the code of an application is obtained. Therefore, we have proposed in the framework of MDA an approach that consists of
automatically generating object-oriented code from the CIM model represented by ReLEL (Restructuring extended Lexical Elaborate Language). ReLEL is a natural language-oriented model that represents both the client requirements and the conceptual level of a system. However, the MDA framework does not recommend the type of UML model that corresponds to each business activity. Consequently, automating the software development process from the CIM model specified by ReLEL becomes a complex task. Our strategy in this paper includes the instantiation of the ReLEL model in the Praxeme methodology, which models each of the company's concerns, grouped in a homogeneous whole, using the UML (Unified Modeling Language) and which considers the articulation of these aspects by adopting the MDA principle. To do this, we propose to automate the articulation that covers the intentional, semantic, logical, and software aspects of Praxeme. To validate our approach, we measure the coupling and cohesion of the UML class diagram obtained from the Java code generated from this article using the slicing technique. The results show that the coupling is weak, and the cohesion is strong. It can be deduced that the method proposed in this paper can produce a more reliable and efficient system.
J.C.S.P. Leite, G.D.S. Hadad, J.H. Doorn and G.N. Kaplan, “A scenario construction process”, Requirements Eng. Journals, vol. 5, no. 1, pp. 38-61, July, 2000.
Y. Zhou, L. Wen, J. Wang, Y. Chen, H. Lu and B.X. DRC, “A dependence relationships based cohesion measure for classes”, In Proc. Of the 10th Asia-Pacific Software Engineering Conference Software Engineering Conference (ASPEC), Washington, DC, USA, 2003.
Y.G. Gueheneuc, “ A reverse engineering tool for precise class diagrams”, Proc. Conf. Centre for Advanced Studies on Collaborative Research, pp. 28-41, 2004.
X. Blanc, “MDA en action: Ingénierie logicielle guide par les modèles”, Eyrolles, 2005.
D. Vauquier, “Modus la méthodologie PRAXEME, Guide general”, 2006.
D. Vauquier, “Modus la méthodologie PRAXEME, Guide de l’aspect logique”, 2007.
T.M. Meyers and D. Binkley, “An Empirical Study of Slice based Cohesion and Coupling Metrics”, ACM TOSEM, 17/1, 2007.
OMG, "Semantics of Business Vocabulary and Business Rules", 2008.
N. Niu and S. Easterbrook, “Extracting and modeling product line functional requirements”, in 16th IEEE International Requirements Engineering Conference, pp. 155-164, 2008.
M. Nassar, A. Anwar, S. Ebersold, B. Asri, B. Coulette, Kriouile, “A Code Generation in VUML profile: a Model Driven Approach”, in 7th International Conference on Computer Systems and Applications, Rabat, Morroco, May 10-13, pp. 412-419, 2009.
A. Kumar and S.K. Khalsa, “Determine cohesion and coupling for class diagram through slicing techniques”, IJACE, vol. 4, no. 1, pp. 19-24, 2012.
T. Biard, M. Brigant and J.P. Bourey, “Explicitation et structuration des connaissances pour la transformation de l’entreprise : Les apports de la méthodologie Praxeme”, CIGI, 2013.
S. Lamyae, T.Abdennebi,“Overall design approach for urbanized information systems: Application of the method Praxeme”, in 2014 Third IEEE International Colloquium in Information Science and Technology (CIST), IEEE, Tetouan, Morocco, pp. 18-23, 2014.
J.L. Razafindramintsa, T. Mahatody and J.P. Razafimandimby, “Elaborated Lexicon Extended Language with a lot of conceptual information”, International Journal of Computer Science Engineering and Applications (IJCSEA), vol. 5, no. 6, Dec, 2015.
H. Benouda, M. Azizi, R. Esbai and M. Moussaoui, “Modeling and code generation of Android applications using acceleo”, International Journal of Software Engineering and Its Applications, vol. 10, no. 3, pp. 83-94, 2015.
I. B. Kara, “Design and Implementation of the ModelicaML Code Generator Using Acceleo 3.X.”, 2015.
J.L. Razafindramintsa, T. Mahatody and J.P. Razafimandimby, “Deriving Semantic Aspect of the Praxeme Methodology from Elaborate Lexicon Language”, in Proc. 20th Int. Conf. Syst. Theory Control and Computing (ICSTCC), Sinaia, Romania, Oct. 13-15, pp. 842-847, 2016.
J.L. Razafindramintsa, T. Mahatody and J.P. Razafimandimby, “Pragmatic aspect automatic derivation of the Praxeme methodology from an elaborated Natural Language”, in Proc. 1st RAAI, Bucharest, Romania, June. 19-20, 2017.
J.L. Razafindramintsa, T. Mahatody, S.M. Simionescu and J.P. Razafimandimby, “Logical services automatic location from eLEL”, in Proc. 21st Int. Conf. Syst. Theory Control and Computing (ICSTCC), Sinaia, Romania, pp. 849-854, 2017.
H. Razafimahatratra, T. Mahatody, J.P. Razafimandimby and S.M. Simionescu, “Automatic detection of coupling type in the UML sequence diagram”, 21st International Conference on System Theory, Control and Computing, Sinaia, Romania, pp. 635-640, 2017.
M.A Rapatsalahy, J.L Razafindramintsa, T. Mahatody, S. Ilie and R.N. Razafindrakoto, “Restructuring extended Lexical elaborate Language”, in 23rd Int. Conf. Syst. Theory Control and Computing (ICSTCC), Sinaia, Romania, pp. 266-272, 2019.
M.A. Rapatsalahy, H. Razafimahatratra, T.Mahatody, M. Ilie, S. Ilie, and R.N. Razafindrakoto, “Automatic generation of software components of the Praxeme methodology from ReLEL”, in 24th International Conference on System Theory, Control and Computing (ICSTCC), pp. 843-849, 2020.
M. Urbieta, L. Antonelli, G. Rossi, and J.C.S. do Prado Leite, “The impact of using a domain language for an agile requirements management”, Information and Software Technology, 2020.