=Paper=
{{Paper
|id=Vol-2915/paper13
|storemode=property
|title=Knowledge-Based UML Use Case and UML Activity Models Generation from Enterprise Model. School of Languages Case Study
|pdfUrl=https://ceur-ws.org/Vol-2915/paper13.pdf
|volume=Vol-2915
|authors=Ilona Veitaitė,Audrius Lopata
|dblpUrl=https://dblp.org/rec/conf/ivus/VeitaiteL21
}}
==Knowledge-Based UML Use Case and UML Activity Models Generation from Enterprise Model. School of Languages Case Study==
Knowledge-Based UML Use Case and UML Activity Models Generation from Enterprise Model. School of Languages Case Study Ilona Veitaitėa and Audrius Lopatab a Vilnius University, Kaunas Faculty, Muitinės str. 8, Kaunas, LT-44280, Lithuania b Kaunas University of Technology, Studentų str. 50, Kaunas, LT-51368, Lithuania Abstract The main purpose of this paper is to present knowledge-based Enterprise model (EM) advantages as data repository for UML models generation. UML models can be generated from Enterprise Model, whose main requirement is that gathered data in this model would be verified and validated by analyst. UML models generation process is implemented by using particular transformation algorithms presented in previous researches. In this paper generation process from EM is represented by the School of Languages case study. By using problem domain data UML Use Case and UML Activity models are generated. Generation results help to define advantages of Enterprise Model usage as storage for problem domain data. Keywords 1 Enterprise Model, UML, IS Engineering, Activity, Use Case, Knowledge-based. 1. Introduction Today’s IT professionals such as analysts, designers, developers still face with challenges of IS engineering process. First phases of IS development life cycle is also quite difficult, especially, enterprise modelling, when all gathered data is specified and prepared for IS design phase. According the efforts put in this phase success of final IS depends. There are many various types, standards of models used in design phase and very great impact for IS creation success has Enterprise model chosen for this process [1][2]. UML is one of mostly used standard for IS design among professionals of IS engineering field. According to UML models prepared in design phase IS code may be generated, different design patterns applied, impact and complexity analysis accomplished [1][6][8]. All advantages of UML models usage may be fulfilled only if data used for their design is verified and validated. This fulfillment can be ensured by Enterprise model. Enterprise model - knowledge-based repository, where problem domain data of enough quality is stored. By using transformation algorithms all UML models can be generated from Enterprise Model [3][5][7][9][10]. Structure of particular Enterprise Meta-Model (EMM) and Enterprise Model as the background for the research in this paper is presented almost two decades ago. Previous researches in this field are designated to prove that Enterprise meta-model and Enterprise Model is enough for different types of models generation in IS design phase [10][11][12][13][14]. 2. Description of Knowledge-Based Enterprise Model EMM is formally defined Enterprise Model structure, which consists of a formalized EM in line with the general principles of control theory. EM is the main source of the necessary knowledge of the particular business domain for IS engineering and IS re-engineering processes (Figure 1) [3][4]. IVUS2021: Information Society and University Studies 2021, April 23, 2021, Kaunas, Lithuania EMAIL: ilona.veitaite@knf.vu.lt (A. 1); audrius.lopata@ktu.lt (A. 2) ©️ 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) Figure 1: Enterprise Meta-Model class diagram [3][4][10] EM class model has twenty-three classes. Essential classes are Process, Function and Actor. Class Process, Function, Actor and Objective can have an internal hierarchical structure. These relationships is presented as aggregation relationship. Class Process is linked with the class MaterialFlow as aggregation relationship. Class MaterialFlow is linked with the classes MaterialInputFlow and MaterialOutputFlow as generalization relationship. Class Process is linked with Classes Function, Actor and Event as association relationship. Class Function is linked with classes InformationFlow, InformationActivity, Interpretation, InformationProcessing and Realization as aggregation relationship. These relationships define the internal composition of the Class Function. Class InformationFlow is linked with ProcessOutputAtributes, ProcessInputAtributes, IPInputAttributes and IPOutputAttributs as generalization relationship. Class InformationActivity is linked with Interpretation, InformationProcessing and Realization as generalization relationship. Class Function linked with classes Actor, Objective and BusinessRule as association relationship. Class BusinessRule is linked with Interpretation Rule, Realization Rule, InformationProcessing Rule as generalization relationship. Class Actor is linked with Function Actor and Process Actor as generalization relationship [3][4][5][11]. 3. Transformation Algorithms from Knowledge-Based Enterprise Model Each of static and dynamic UML models can be generated through transformation algorithm and each of UML models has separate transformation algorithm. These transformation algorithms are defined in previous researches. Main focus of researches is designated for generation behavioural or dynamic UML models, because their complexity and variability [10][11][12][13][14][15]. 3.1. UML Use Case Model Transformation Algorithm UML Use Case model generation from Enterprise Model transformation algorithm starts from initial element. In this generation process Actor/Subject is initial element, after actor/subject element is generated, Use Case element is selected and generates, then Include, Extend and Association relationships elements are selected and generated. Transformation algorithm is illustrated by following steps [12]: Step 1: The initial element Actor from Enterprise Model for UML Use Case model generation is selected. Step 2: If Actor element is initial element of UML Use Case model, then Actor element is generated, else Subject element is generated. Step 3: Process element from Enterprise model, which is related with the initial Actor element is selected. Step 4: If Process element is Use Case element related to Actor/Subject, then Use Case element is generated, else Function element is selected. Step 5: Function element is generated as Use Case element. Step 6: Business Rule element as link of Actor/Subject element from Enterprise Model which is related with the Process/Function element is selected. Step 7: If Business Rule element is UML Use Case model’s simple Association element and serves as link between Actor/Subject and Process/Function elements then Association is generated from Enterprise model, else if it is Extend element, then Extend element is generated from Enterprise model, else Include element is generated from Enterprise model. Step 8: There is checking if there are more Business Rules in Enterprise Model related to UML Use Case model. In case, there are, algorithm goes back to step 3. Step 9: UML Use Case elements Actor/Subject and Process/Function are linked according to Business Rules. Step 10: UML Information flow element Actor/Subject is updated. Step 11: There is checking if there are more Actors/Subject elements in Enterprise Model related to UML Use Case model. In case, there are, algorithm goes back to step 1. Step 12: Else all UML Use Case model elements and links are generated from Enterprise Model. 3.2. UML Activity Model Transformation Algorithm UML Activity model describes how activities are coordinated to provide a service. UML Activity model from EM transformation algorithm is described by following steps [14]: Step 1: Particular UML model for generation from EM process is identified and selected. Step 2: If the particular UML model for generation from EM process is selected then algorithm process is continued, else the particular UML model for generation from EM process must be selected. Step 3: First element from EM is selected for UML model, identified previously, generation process. Step 4: If the selected EM element is initial UML model element, then initial element is generated, else the other EM element must be selected (the selected element must be initial element). Step 5: The element related to the initial element is selected from Enterprise model. Step 6: The element related to the initial element is generated as UML model element. Step 7: The element related to the previous element is selected from Enterprise model. Step 8: The element related to the previous element is generated as UML model element. Step 9: If there are more related elements, then they are selected from EM and generated as UML model elements one by one, else the link element is selected from Enterprise model. Step 10: The link element is generated as UML model element. Step 11: If there are more links, then they are selected from EM and generated as UML model elements one by one, else the Business Rule element is selected from Enterprise model. Step 12: The Business Rule element is generated as UML model element. Step 13: If there are more Business Rules, then they are selected from EM and generated as UML model elements one by one, else the generated UML model is updated with all elements, links and constraints. Step 14: Generation process is finished. 4. School of Languages Case Study The School of languages management process may be defined as courses management system that is used to manage language courses, timetable, lecturers and participants of the courses. The School of languages offers a list of language courses related with different level of language knowledge and diverse study methods, which improve speaking, reading, listening, speaking and grammar skills. Each language course is made up of set of topics related with skills dedicated for improvement. The School of languages publish and maintain a timetable of different language courses and appoints lecturers every year. Lecturers in the school of languages are appointed courses to teach according to the language knowledge level and their availability. There is a course administrators in the school of languages to manage the courses including course content, courses appointments to lecturers and preparation of the course timetable. Participants of language courses may review suggested courses, get information about lecturers and check the timetable of the courses. The School of Languages purpose is to use the courses management information system to improve their services by managing courses, timetable, lecturers and participants. 4.1. School of Languages UML Use Case Model The main concept of UML Use Case model is that it assists to design a system from the end user's perspective, in this case, end users are Administrator, Lecturer and Participant. Figure 2: UML Use Case Model. Figure 2 presents generated UML Use Case model from Enterprise model, where uses cases of each actor are displayed. Descriptions of these generated UML Use Case Model elements are presented in the Table 1. Table 1 Generated UML Use Case Model elements from EM with descriptions [10] [12] EM UML Use Case Model elements Description elements Actor Actor: Administrator Administrator has full access to all use cases implemented in School of languages IS. Actor: Lecturer Lecturer can check appointed to him language course, review list of participants of the appointed language course and review his timetable. Actor: Participant Participant is a student of chosen language courses, he can review list of courses, review information about lecturers and also review timetable of chosen courses. Business Association Relationship that links all actors to Rules the use cases they may access Extend Relationship that links use case, which may be done together with another use case. During the course management process, topics may be added Process / Use Case: Manage language course Use cases which are accessible to the Function Use Case: Manage topics for language course actors. Use Case: Appoint language course to lecturer Use Case: Review course participants Use Case: Review language courses timetable Use Case: Manage lecturer information Use Case: Review lecturers Use Case: Review language course Use Case: Assign participant to course Use Case: Manage participant information 4.2. School of Languages UML Activity Models UML Activity models present coordination of activities regarding process participants: Administrator, Lecturer and Participant. There can be more UML Activity model generated and at different levels of abstraction, but in this paper three possible models are presented, only to present this possibility. 4.2.1. UML Activity Model. Actor: Administrator UML Activity model for language course management performed by Administrator is generated from Enterprise model. Figure 3: UML Activity Model. Actors: Administrator Figure 3 presents generated UML Activity model from Enterprise model, where activities of actor, in this case, Administrator are displayed. Descriptions of these generated UML Activity Model elements are presented in the Table 2. . Table 2 Generated UML Activity Model elements from EM with descriptions [10] [14] EM elements UML Activity Model elements Description Actors Swimlane: Administrator Administrator starts the process and performs all presented activities. Process / Activity: Manage language course All activities performed by Function Activity: Create language course Administrator of the particular Activity: Create topic of the language process. course Activity: Appoint lecturer Activity: Prepare timetable of language course Activity: Modify language course Activity: Remove language course Activity: Language course updated Information Object Flows All flows between activities, show Flow sequence of activities flow. Business Control Node: Join Node Joins three different activities related Rules with language course management. Control node: Initial Node Starts the process. Control node: Decision Node Two decision nodes: checks course status; another allows modify or remove the course. Control node: Final Node Finishes process. 4.2.2. UML Activity Model. Actors: Administrator and Lecturer UML Activity model for lecturer information management performed by Administrator and Lecturer is generated from Enterprise model. Figure 4: UML Activity Model. Actors: Administrator and Lecturer Figure 4 presents generated UML Activity model from Enterprise model, where activities of actors, in this case, Administrator and Lecturer are displayed. Descriptions of these generated UML Activity Model elements are presented in the Table 3. Table 3 Generated UML Activity Model elements from EM with descriptions [10] [14] EM UML Activity Model elements Description elements Actors Swimlane: Administrator Administrator starts the process for lecturer information management; appoints lecturer to the language course, prepares timetable and assigns participants to the language course. Swimlane: Lecturer Lecturer may review language courses timetable, confirms appointed language courses, confirms timetable and may review course participants. Process / Activity: Manage lecturer information All activities performed by Actors of Function Activity: Appoint lecturer the particular process. Activity: Prepare timetable of language courses Activity: Review language course timetable Activity: Confirm appointed language course Activity: Confirm language courses timetable Activity: Assign participants to the course Activity: Review course participants Information Object Flows All flows between activities, show Flow sequence of activities flow. Business Control node: Initial Node Starts the process. Rules Control node: Decision Nodes Two decision nodes: one confirms appointed course; another confirms course timetable. Control node: Final Node Finishes process. 4.2.3. UML Activity Model. Actors: Administrator and Participant UML Activity model for participant information management performed by Administrator and Participant is generated from Enterprise model. Figure 5: UML Activity Model. Actors: Administrator and Participant Figure 5 presents generated UML Activity model from Enterprise model, where activities of actors, in this case, Administrator and Participant are displayed. Descriptions of these generated UML Activity Model elements are presented in the Table 4. Table 4 Generated UML Activity Model elements from EM with descriptions [10] [14] EM elements UML Activity Model elements Description Actors Swimlane: Administrator Administrator starts the process of participant information management; prepares timetable of the courses and assigns participants to the course. Swimlane: Participant Participant may review the courses descriptions, review lecturers responsible for the course, review timetable and confirm it. Process / Activity: Manage participant information All activities performed by Actors of Function Activity: Prepare timetable of language the particular process. courses Activity: Review language course Activity: Review lecturers Activity: Review language courses timetable Activity: Confirm language courses timetable Activity: Assign participants to the course Information Object Flows All flows between activities, show Flow sequence of activities flow. Business Control node: Initial Node Starts the process. Rules Control node: Decision Node One decision node: confirms course timetable Control node: Final Node Finishes process. 5. Results Main activities of the analyst responsibility may be described as: analysis of enterprise situation, identification of opportunities for improvements, design information system which will add value to the enterprise. The analyst gathers problem domain information, identifies all requirements, searches for suitable meta-model, verifies and validates data and starts implement IS by designing UML or other models. There is always risk of new problem, information or requirements appearance, which cause difficult design models updating and improving process. In this case, duration of IS developing process increase, and number of errors grows. Using Enterprise Model as the prime problem domain knowledge repository in IS engineering process ensures correctness and quality of generated IS design models after any possible problem domain data update (Table 5). Table 5 Comparison of IS Analyst’s activities by criteria Criteria IS Analyst Enterprise Knowledge-Based UML Dynamic Models Generation Method Gathering problem domain data Yes Yes Requirements identification Yes Yes Data preparation for modelling Yes Yes Project models design Yes No Problem domain data update Yes Yes Project model design improvement Yes No Increased IS development process duration Yes No Increased number of errors Yes No Increased number of errors Yes No By using Enterprise Model in IS engineering process the analysts enters all gathered problem domain data into EM. Problem domain knowledge stored in EM is used for UML model generation through transformation algorithms. After any possible new data upload to the EM, it is re-used and new UML models based on improved data are generated. There is no need for the analyst to re-do entire process of models design. 6. Conclusions The first part of the paper presents the Enterprise model structure and description of UML Use Case and UML Activity models transformation algorithms for generation from EM depicted by steps. The next part presents School of Languages case study, which data is stored in knowledge-based Enterprise Model and is used in two types UML models generation process. There are presented UML Use Case model and three UML Activity models of different Actors perspective generated from Enterprise Model. These generated models confirms, that data stored in Enterprise model is enough for generation process. Final part describes comparison by certain criteria of information systems analyst’s activities during IS development process with and without usage of Enterprise knowledge-based UML models generation method. 7. References [1] Dunkel J., Bruns R. (2007) Model-Driven Architecture for Mobile Applications. Proceedings of the 10th Inter-national Conference on Business Information Systems (BIS), Vol. 4439/2007, pp. 464–477. [2] Eichelberger H., Eldogan, Y., Schmid K. A (2011) Comprehensive Analysis of UML Tools, their Capabilities and Compliance. Software Systems Engineering. Universität Hildesheim. versio 2.0 [3] Gudas S. (2009) Architecture of Knowledge-Based Enterprise Management Systems: a Control View. Proceedings of the 13th world multiconference on systemics, cybernetics and informatics (WMSCI2009),) July 10 – 13, Orlando, Florida, USA, Vol. III, p.161-266 ISBN -10: 1- 9934272-61-2 (Volume III).ISBN -13: 978-1-9934272-61-9 [4] Gudas S., (2012) Informacijos sistemų inžinerijos teorijos pagrindai/ Fundamentals of Information Systems Engineering Theory. (Lithuanian)Vilnius University. ISBN 978-609- 459-075-7 [5] Jacobson, I., Rumbaugh, J., Booch, G. (2005) Unified Modeling Language User Guide, The Second Edition. Addison-Wesley Professional. ISBN: 0321267974 [6] Jenney J. (2010) Modern Methods of Systems Engineering: With an Introduction to Pattern and Model Based Methods. ISBN-13:978-1463777357 [7] OMG UML (2021) Unified Modeling Language version 2.5.1. Unified Modelling https://www.omg.org/spec/UML/About-UML/ . [8] Sajja, P.S., Akerkar, R. (2010) Knowledge-Based Systems for Development. Advanced Knowledge Based Systems: Model, Applications & Research, Vol. 1 [9] UML Diagrams (2021) UML diagrams characteristic. www.uml-diagrams.org [10] Veitaitė, I., Lopata, A. (2017) Transformation algorithms of knowledge based UML dynamic models generation // Business information systems workshops BIS 2017, Poznan, Poland, 28-30 June / editor Witold Abramowicz . - Series : Lecture notes in business information processing. Vol 303. Cham : Springer International Publishing, 2017 [11] Veitaitė, I., Lopata, A. (2018) Problem domain knowledge driven generation of UML models // Information and software technologies: 24th International Conference, ICIST 2018, Vilnius, Lithuania, October 4–6, 2018: proceedings / edited by: Robertas Damaševičius, Giedrė Vasiljevienė. Cham : Springer. [12] Veitaitė, Ilona; Lopata, Audrius. Knowledge-based UML use case model transformation algorithm // Business information systems workshops: BIS 2019 international workshops, Seville, Spain, June 26–28, 2019: revised papers / W. Abramowicz, R. Corchuelo (eds.). Cham : Springer, 2019. ISBN 9783030366902. eISBN 9783030366919. p. 39-48. (Lecture notes in business information processing, ISSN 1865-1348, eISSN 1865-1356 ; Vol. 373). DOI: 10.1007/978-3-030-36691-9. [13] Veitaite I., Lopata A. (2020) Knowledge-Based Transformation Algorithms of UML Dynamic Models Generation from Enterprise Model. In: Dzemyda G., Bernatavičienė J., Kacprzyk J. (eds) Data Science: New Issues, Challenges and Applications. Studies in Computational Intelligence, vol 869. Springer, Cham [14] Veitaitė, Ilona; Lopata, Audrius. Knowledge-based UML activity model transformation algorithm // Information society and university studies 2020 : proceedings of the information society and university studies, 2020, Kaunas, Lithuania, April 23, 2020 / edited by: Adrius Lopata, Vilma Sukackė, Tomas Krilavičius, Ilona Veitaitė, Marcin Woźniak. Aachen : CEUR Workshop Proceedings. ISSN 1613-0073. 2020, p. 114-120. (CEUR Workshop Proceedings, ISSN 1613-0073 ; vol. 2698). [15] Veitaite I., Lopata A. (2020) Knowledge-Based Generation of the UML Dynamic Models from the Enterprise Model Illustrated by the Ticket Buying Process Example. In: Lopata A., Butkienė R., Gudonienė D., Sukackė V. (eds) Information and Software Technologies. ICIST 2020. Communications in Computer and Information Science, vol 1283. Springer, Cham. https://doi.org/10.1007/978-3-030-59506-7_3