A Proposed Architecture of an Intelligent System for Assessing the Student’s UML Class Diagram

— Today educational technology and computer applications can enhance the level of impact of the educational process, currently a heavy research has more and more interested in computing technologies and applications. This work presents a proposed architecture of an intelligent system for the automated assessment of student's production when modeling an UML class diagram from textual specification, this assessment becomes really difficult in problem of diagrammatic answers. The main objective is to develop a system to assess the UML class diagrams by defining differences, errors made by the students, grading them and providing critical feedbacks, and this could be easier for any teachers to assess any number of students. To achieve this goal we have to analyze, transform and compare the student’s diagram with the reference’s production provided by teacher.


Introduction
The assessment of learners plays a central role in learning, it helps focus attention on the learning progress and outcomes of each student. It encompasses diagnostic assessment (purpose of learning), formative assessment (assessment for learning), and summative assessment (assessment of learning), and may be designed and implemented internally within the school or externally through standardized assessments [1].
The relationship with computer technologies and online educational platform are much discussed nowadays for their effectiveness and their flexibility since they allow students to work at their own pace while receiving immediate and personalized feedback.
The objective of this study is to assess automatically the student's product and improve the assessment process by engaging students as dynamic members in assessment which will help them to develop capabilities in analyzing their own learning and getting to be self-directed learners [1], as well as facilitate and reduce the assessment work for teacher in such complicated subjects namely UML class diagrams.
These days the oriented object modeling has been used and tested intensively in industry which can really increase software quality [2]. The UML is one of the most important parts in the oriented object modeling language. It uses mostly graphical notations to express the design of software projects [3] which is easy to read and understand, but it is more difficult to design diagrams. Otherwise, the UML is one of the most important subjects in universities, and with the number of students increasing more and more, it is necessary to automate the assessment of these diagrams.
The paper is organized in five sections. After this introduction, the second section presents the role of ICT for education and learning, and the importance of the new pedagogical practices supported by these technologies, followed by the third section when we describe our method and presents the architecture used in this study, the fourth section concerns the result of our proposed architecture, we discuss in the fifth section the result of our method, finally we summarized the conclusion of this study in the final section.

ICT for education and learning
Information and communication technologies (ICT) has changed the way people live and interact with one another. The field of education has been affected by ICTs, which have absolutely affected teaching, learning and research [4]. The use of these technologies enhance the quality of learning [5], since it is supported by their ability to facilitate and reinforce learning, as well as the monitoring of students or the traceability of learning, in the same way, these technologies have a positive impact on the motivation of learners.
Pedagogical practices seem to be an important factor that should not be overlooked. In recent years there have been more discussions of these practices from various directions. Today's the pandemic created conditions that challenged traditional educating methodologies [6], for that teaching and learning style must be modified from the first strategy [7], also students grew up in a world where technology is a natural part of their environment and as universities and instructors become increasingly familiar with digital technologies, the way of learning and teaching is changing, which leads to the emergence of new pedagogy, this term refers to the methods and activities of teaching and learning. Currently, Among the new approaches of learning, the flipped classroom or inverted pedagogy which is the reverse of the traditional learning by using educational technologies to deliver content outside a classroom and then the student applies and analyses the acquired knowledge inside the classroom [8], most of them focus and center on the student's competence and capabilities. Also, the adoption of e-learning in higher education is considered among the best methods to deliver and support learning and also offer a variety of educational services [9]. E-learning refers to the learning process using electronic media and new technologies to ensure distance learning outside the traditional classroom and support a constructivist learning [10]. Recently e-learning is widely practiced at the level of education and in higher education especially, and it is known as a methodology to develop new learning and teaching elements. Several types of E-Learning are envisaged: learning online without supervision, with adequate supervision and online learning where mixing face-to-face with online tutoring. With E-Learning, the combination of the real and the virtual takes place across platforms, which combine course content with other ways of communication and assessment. The distance learning provides a pedagogical model based on an interactive content, interactive communication, a collaboration, and also providing feedback and collective construction of knowledge…, besides it centers on the learner to focus on the area of weakness before a final assessment.

Concepts
UML class diagram transformation.
─ Extensible Markup Language: XML XML stands for Extensible Markup Language. It is a text-based markup language that defines set of rules for encoding documents in a format that is both humanreadable and machine-readable. XML is widely used in the aera of web development. It gives developers a sense of flexibility in terms of defining their own data types [11]. Parsers. In order to extract the data encapsulated in the XML document and to identify the elements taken into account for the determination of the correspondences between XML schemas, it is required to use a tool called a parser. An XML parser is a software Library or package that offers client applications with interfaces for dealing with XML documents. XML parsers are classified according to the approach they use to process the document. There are two types of XML parsers namely Simple API for XML(SAX) and Document Object Model (DOM).
─ DOM represents the Document Object Model. The DOM Parser implements a DOM API which it is an API for accessing and manipulating documents [11], and it is composed like a tree structure, each element represents tree branches and creates in memory tree representation of XML file. ─ SAX represents Simple API for XML. The SAX Parser implements SAX API, which was called event-based API, the XMLdocument is parsed sequentially from beginning to end [11]. SAX does not create any internal structure rather it takes the occurrences of components of an input document as events.
Eclipse modeling framework. EMF is an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model [12]. EMF allows the developer to create the meta-model through various methods, e.g., XMI, Java comments, UML or an XML XML Unit. XMLUnit [13] is powerful library that can be used to compare two XML files in java. It is an extension to JUnit and NUnit. It provides a detailed comparison of XML files. XMLUnit displays not only the content that is different, but also the XPath of the items that are being compared. The DifferenceEngine class is the centerpiece of XMLUnit, otherwise Diff and DetailedDiff are two fundamental XML comparison classes. They offer a tool for comparing XML documents.

Approach
In this section we are going to describe our approach for assessing the student's UML class diagram. The solution is to develop an automatic system supported by a platform e-learning. In our platform, the UML class diagram modeled by the student and the teacher is done by an open-source tool. To assess these diagrams several steps will be applied starting with the transformation of UML class diagram to XMI format and then to XSD schema. The tool then parses the XSD file to extract the required information, then using the XMLUnit API for providing the differences found between the teacher's UML class diagram as model and the student's UML class diagram, and finally providing a critical feedback to students in web interface including quantitative and qualitative feedback to reinforce their learning [14] .
The Figure 1 presents the aspects of the process of our approach in more detail.

Architecture
Our research objective is to examine the possibility of automating the assessment of diagrams, particularly UML class diagram. The general architecture of our approach is presented below (Figure 2).

Fig. 2. General architecture of our approach
The assessment of UML class diagram starts by drawing the diagram in the platform. The students submit their diagrams using a web interface, the class diagram drawn by a teacher is considered as model diagram for our architecture.
The components of UML class diagram drawn by students are compared with the model UML class diagram through different steps: • Parsing and transformation of the UML class diagrams to xml schemas.
• Comparison of these schemas based on XMLUnit API.
• Result of comparison is not only characterized by: yes, no, correct or incorrect, but also associated with a complex feedback identify the problem to the student.

Result
The architecture proposed in our work, would be useful for the teacher in assessing large number of students online. The assessment time would be considerably reduced [15]. Our method is tested in real case with a simple example.
Following a detailed search of the available tools supporting the UML standard, Modelio [16] software was selected since it satisfies our needs and it is simple to use, moreover it provide a rich Java API for metamodel access and model transformation [17].
Modelio is an open-source modeling environment, it was released under the GPLv3, the key APIs are licensed under the Apache License 2.0.
The figure below presents a screen shot of Modelio interface (Fig.3)

Fig. 3. Modelio screen shot
After modeling our class diagram, we must convert it to XMI format, as shown in the following Figure (Fig.4), and then use the eclipse modeling framework to convert it to XSD format. The Figure (Fig.5) presents an extract of the generated diagram in XSD format.  The Figure (Fig.6) shows us an example of the result of comparison of two class diagrams, the first of the teacher as model and the second of the student, using XMLUnit API. It contains a total difference, a detailed comparison of the two XML schemas and the XPath of elements which is getting compared.

Discussion
The proposed method of this study show that it is possible to define a system for assessing the UML class diagram by comparing the student's UML class diagram and the teacher's UML class diagram.
The obtained results show the difference found between the two diagrams and the XPath of elements which is getting compared using different technologies as demonstrated in this paper. It should be mentioned that the presented work has a variety of challenges to its implementation. First providing the errors made by the students in the web interface and then providing the feedback in the same web interface.

Conclusion
Emerging the new pedagogy and new methodological proposals in learning and teaching process is a real challenge to universities. This work presents a new approach to the student assessment when modeling an UML class diagram. As demonstrated in this paper, there are an important need to construct a system that automate the assessment of UML class diagram giving an instant feedback to students.
As future work, full automation of assessing the UML diagrams will be achieved, furthermore giving the type and location of errors as well as course instructions based on the errors made by the student as feedback in web interface.