UML-TABANLI YAZILIM MODELLEME DİLLERİNİN ANALİZİ

Bu makalede, mevcut 31 farklı UML-tabanlı yazılım modelleme dili yazılımcılar için önemli olan bir takım gereksinimler bakımından analiz edilmiştir. Bu gereksinimler, biçimsel semantik, çoklu bakış-açısı ile modelleme, modellerin analizi, modellerden kod üretme, ve modelleme araçları desteği olarak belirlenmiştir. Analiz sonuçlarına göre, 31 farklı UML-tabanlı modelleme dili arasından sadece UWE, TTool, ve Pi-ADL dillerinin tüm belirtilen gereksinimleri karşılayabildiği gözlemlenmiştir. UML-tabanlı dillerin 21%’i genel amaçlı diller olarak belirlenmişken, geri kalanı ise alana özgü dillerdir ve en yaygın olan alanlar ise gömülü sistemler, çok etmenli sistemler, ve gerçek zamanlı sistemlerdir. UML-tabanlı dillerin 38%’i UML’in profil mekanizmasını kullanarak UML’i genişletirken, 18%’i UML’in sınıf diyagramını ve 13%’ü UML’in durum ve sıra diyagramlarını genişletmektedirler. UML-tabanlı dillerin 41%’i mantıksal bakış açısını desteklerken, 36%’sı da davranış bakış açısını desteklemektedir. Diğer bakış açıları (aynı anda kullanım, fiziksel, dağıtım, ve operasyonel gibi) pek destek görememektedir. UML-tabanlı dillerin 58%’inin semantiği biçimsel metotlar kullanılarak tanımlandığı belirlenmiştir. Dillerin 44%’ü modellerin analizini desteklememektedir. Geri kalanının 25%’i ise kapsamlı model sınaması ile modellerin analizini desteklerken, 14%’ü ise dillerin biçim kurallarına göre analizini desteklemektedirler. Yazılım modellerinin koda dönüştürülmesi hemen hemen hiçbir UML-tabanlı dil tarafından destek görmemektedir. Yine aynı şekilde, dillerin hemen hemen hiçbiri modelleme araçları ile desteklenmemektedir.

ANALYSING UML-BASED SOFTWARE MODELLING LANGUAGES

In this paper, the existing 31 different UML-based software modelling languages have been analysed for anumber of requirements that are believed to be highly important for practitioners. These requirements areformal semantics, multiple viewpoints modelling, model analysis, code-generation, and modelling toolset.According to the analysis results, only the UWE, TTool, Pi-ADL languages support all those requirements. While21% of the languages offer general-purpose notation set, the rest offer domain-specific notation set and the topdomains of interest are the multi-agent, embedded, and real-time systems. 38% of the languages use UML’sprofiling mechanism for extending UML, 18% of the languages extend UML’s class diagram, and 13% of thelanguages extend UML’s state and sequence diagrams. 41% of the languages support the logical viewpoint and36% support the behaviour viewpoint – the rest of the viewpoints are rarely used. 58% of the languages aredefined formally and many of them are based on formal verification languages. 44% of the languages ignoremodel analysis. Among the rest, 25% of the languages support the exhaustive model checking and 14% supportthe analysis for well-formedness. Generating software code from software models and the modelling toolsupport are the least supported requirements by the UML-based languages.

___

  • N. Rozanski, E.Woods, “Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives”, Upper Saddle River, NJ: Addison-Wesley Professional; 2005.
  • M. W. Maier, D. Emery, R. Hilliard, “Software architecture: introducing IEEE standard 1471”, Computer 34 (4) p. 107–109, 2001.
  • P. Kruchten, “The 4+1 view model of architecture”. IEEE Softw., 12(6):42-50, 1995.
  • J. Warmer and A. Kleppe, “The Object Constraint Language: Precise Modeling with UML”, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. 1998.
  • M.H. ter Beek, A. Fantechi, S. Gnesi, , F. Mazzanti, “A state/event-based model checking approach for the analysis of abstract system properties”, Science of Computer Programming 76(2), 119–135, 2011.
  • J. Tretmans, “Model Based Testing with Labelled Transition Systems”, In: Hierons R.M., Bowen J.P., Harman M. (eds) Formal Methods and Testing. Lecture Notes in Computer Science, vol 4949. Springer, Berlin, Heidelberg, 2008.
  • M. Masi, R. Pugliese, F. Tiezzi, “Formalisation and Implementation of the XACML Access Control Mechanism”, In ESSoS, LNCS 7159, pages 60–74, Springer, 2012.
  • P. V. Eijk, M. Diaz, “Formal Description Technique Lotos: Results of the Esprit Sedos Project”, in: P.V. Eijk, M. Diaz (Eds.), Elsevier Science Inc., New York, NY, USA, 1989.
  • E. Posse, “Modelling and Simulation of Dynamic Structure, Discrete-Event Systems”, Ph.D. Thesis, School of Computer Science, McGill University, 2008.
  • Milner R, Parrow J,Walker D. Calculus of mobile processes, I. Inf Comput, 100(1):1-40, 1992.
  • GJ. Holzmann, “The model checker SPIN”. IEEE Trans Softw Eng;23(5):279-295, 1997.
  • CAR. Hoare, “Communicating sequential processes”. Commun ACM;21(8):666-677, 1998.
  • SGJ. Hervey, “Axiomatic Semantics: A Theory of Linguistic Semantics”, Edinburgh, Scotland: Scottish Academic Press, 1979.
  • DA. Schmidt, “Denotational Semantics: A Methodology for Language Development”, Dubuque, IA: William C. Brown Publishers; 1986.
  • GD. Plotkin, “The origins of structural operational semantics”. J Log Algebr Program, p. 60-61:3-15, 2004.
  • P. Colombo and E. Ferrari, “Towards a Modeling and Analysis Framework for Privacy- Aware Systems”, 2012 International Conference on Privacy, Security, Risk and Trust and 2012 International Conference on Social Computing, Amsterdam, pp. 81-90, 2012.
  • R. Behjati, T. Yue, L. Briand, , B. Selic, “Simpl: A product-line modeling methodology for families of integrated control systems”. Technical Report 2011-01, 2011.
  • N. Addouche, C. Antoine and J. Montmain, “UML models for dependability analysis of real- time systems”, 2004 IEEE International Conference on Systems, Man and Cybernetics (IEEE Cat. No.04CH37583), pp. 5209-5214 vol.6, 2004.
  • M. Ozkaya, M. A. Kose, “SAwUML - UML- based, Contractual Software Architectures and their Formal Analysis using SPIN”. Journal of Computer Languages, Systems and Structures; 54:71-94; 2018.
  • F. Oquendo, “π-ADL: an architecture description language based on the higher-order typed π-calculus for specifying dynamic and mobile software architectures”, ACM SIGSOFT Software Engineering Notes;29(3):1-14, 2004.
  • V. Debruyne, F. Simonot-Lion, Y. Trinquet, “EAST-ADL – an architecture description language”, In: Architecture Description Languages. New York, NY: Springer;181-195, 2005.
  • M. Oussalah, A. Smeda, T. Khammaci, “An explicit definition of connectors for component- based software architecture”, Paper presented at: Proceedings of the 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems; Brno, Czech Republic, 2004.
  • A. Amirat, MC. Oussalah, “First-class connectors to support systematic construction of hierarchical software architecture”, J Object Technol.;8(7):107-130, 2009.
  • A. McVeigh, J. Kramer, J. Magee. “Using resemblance to support component reuse and evolution”, Paper presented at: Proceedings of the 2006 Conference on Specification and Verification of Component-based Systems, SAVCBS '06; New York, NY, 2006.
  • M. Pradella, M. Rossi, D. Mandrioli, “ArchiTRIO: A UML-compatible language for architectural description and its formal semantics”, In: Formal Techniques for Networked and Distributed Systems - FORTE 2005. Berlin; Heidelberg: Springer-Verlag:381-395, 2005.
  • JP. Elloy, F. Simonot-Lion, “An architecture description language for in-vehicle embedded system development”, IFAC Proceedings Volumes; 35(1):349-354; 2002.
  • R. Schuppenies, S. Steinhauer, Software process engineering metamodel, OMG Group, 2002.
  • da Silva V.T., Choren R., de Lucena C.J.P. (2004) Using the MAS-ML to Model a Multi-agent System. In: Lucena C., Garcia A., Romanovsky A., Castro J., Alencar P.S.C. (eds) Software Engineering for Multi-Agent Systems II. SELMAS 2003. Lecture Notes in Computer Science, vol 2940. Springer, Berlin, Heidelberg.
  • G. Caire et al. Agent Oriented Analysis Using Message/UML. In: Wooldridge M.J., Weiß G., Ciancarini P. (eds) Agent-Oriented Software Engineering II. AOSE 2001. Lecture Notes in Computer Science, vol 2222. Springer, Berlin, Heidelberg, 2002.
  • I. Todoran, H. Zuheb, N. Gromov, “SOA Integration Modeling: An Evaluation of How SoaML Completes UML Modeling”, 2011 IEEE 15th International Enterprise Distributed Object Computing Conference Workshops, Helsinki, 2011, pp. 57-66, 2011.
  • R. Martinho, D. Domingos, and J. Varajao, “FlexUML: A UML Profile for Flexible Process Modeling”, in Proc. of the 19th Int’l Conf. of Software Engineering and Knowledge Engineering (SEKE’2007), pp. 215–220, 2007.
  • S. Mahmood, R. Lai, “RE-UML: An Extension to UML for Specifying Component-Based Software System”, 2009 Australian Software Engineering Conference, Gold Coast, QLD, pp. 220-228, 2009.
  • P. Pinheiro da Silva, N.W Paton, “UMLi: The Unified Modeling Language for Interactive Applications”, In: Evans A., Kent S., Selic B. (eds) ≪UML≫ 2000 — The Unified Modeling Language. UML 2000, Lecture Notes in Computer Science, vol 1939. Springer, Berlin, Heidelberg, 2000.
  • S. Friedenthal, A. Moore, R. Steiner, “A Practical Guide to Sysml, Third Edition: The Systems Modeling Language (3rd ed.)”, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2014.
  • P. Laforcade, “Towards a UML-based educational modeling language”, Fifth IEEE International Conference on Advanced Learning Technologies (ICALT'05), pp. 855-859, 2005.
  • A. Kraus, A. Knapp, N. Koch, “Model-driven generation of web applications in UWE”. In: Model-Driven Web Engineering (MDWE’07), Como, Italy, July, 2007.
  • L. Apvrille, W. Muhammad, R. Ameur- Boulifa, S. Coudert and R. Pacalet, “A UML-based Environment for System Design Space Exploration”, 2006 13th IEEE International Conference on Electronics, Circuits and Systems, Nice, pp. 1272-1275, 2006.
  • J. Lilius and I. P. Paltor, “vUML: a tool for verifying UML models”, 14th IEEE International Conference on Automated Software Engineering, Cocoa Beach, FL, pp. 255-258, 1999.
  • M.H. ter Beek, S. Gnesi, F. Mazzanti, “From EU Projects to a Family of Model Checkers”, In: De Nicola R., Hennicker R. (eds) Software, Services, and Systems. Lecture Notes in Computer Science, vol 8950, Springer, Cham, 2015.
  • B. Selic. “Using UML for modeling complex real-time systems”. In: Mueller F., Bestavros A. (eds) Languages, Compilers, and Tools for Embedded Systems, Lecture Notes in Computer Science, vol 1474, Springer, Berlin, Heidelberg, 1998.
  • Z. M. Ma, F. Zhang, L. Yan. “Fuzzy information modeling in UML class diagram and relational database models”. Appl. Soft Comput. 11, 6, 4236-4245, 2011.
  • D. Kim, R. France R. B., S. Ghosh. “A UML- based language for specifying domain-specific patterns”, J. Visual Lang. Comput. 15, 3-4, p. 265– 289, 2004.
  • J. Jürjens. “UMLsec: Extending UML for Secure Systems Development”. In: Jézéquel JM., Hussmann H., Cook S. (eds) ≪UML≫ 2002 — The Unified Modeling Language, UML 2002, Lecture Notes in Computer Science, vol 2460. Springer, Berlin, Heidelberg, 2002.
  • M. Ozkaya, “The analysis of architectural languages for the needs of practitioners”. Softw Pract Exper., 48:985–1018, 2018.
  • P. Mishra, N. Dutt. “Architecture description languages for programmable embedded systems”. IEE Proc - Comput Digital Tech.;152(3):285-297, 2005.
  • N. Ali, C. Solís, I. Ramos, “Comparing architecture description languages for mobile software systems”. Paper presented at: Proceedings of the 1st International Workshop on Software Architectures and Mobility, SAM'08; New York, NY, 2008.
  • R. Hilliard, T. Rice, “Expressiveness in architecture description languages”. Paper presented at: Proceedings of the Third International Workshop on Software Architecture, ISAW'98; New York, NY. 1998.
  • N. Medvidovic, R.N. Taylor, “A classification and comparison framework for software architecture description languages”, IEEE Trans. Software Eng. 26 (1) pp. 70–93, 2000.
  • P.C. Clements, “A survey of architecture description languages”, Proceedings of the 8th International Workshop on Software Specification and Design, IWSSD ’96, IEEE Computer Society, Washington, DC, USA, p. 16, 1996.
  • A. Belghiat, E. Kerkouche, A. Chaoui, M. Beldjehem, “Mobile Agent-Based Software Systems Modeling Approaches: A Comparative Study”, CIT. Journal of Computing and Information Technology, vol. 24, no. 2, pp. 149–163, 2016.
  • L. Brisolara, L. Becker, L. Carro, F. Wagner, C. E. Pereira and R. Reis, "Comparing high-level modeling approaches for embedded system design," Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005., pp. 986-989 Vol. 2. 2005.
  • R. Matulevičius, M. Dumas, “A Comparison of SecureUML and UMLsec for Role-based Access Control”, Proceedings of the 9th Conference on Databases and Information Systems, pp. 171–185, 2010.
  • J. M. Bendraou, M. Jezequel, P. Gervais, X. Blanc, “A Comparison of Six UML-Based Languages for Software Process Modeling”, in IEEE Transactions on Software Engineering, vol. 36, no. 5, pp. 662-675, Sept.-Oct, 2010.
  • D. Niz, “Diagrams and Languages for Model- Based Software Engineering of Embedded Systems: UML and AADL”, Retrieved May 10, 2018 from, http://www.sei.cmu.edu/library/reportspapers.cfm, 2009 .
  • T. Halpin: Information Analysis in UML and ORM: A Comparison. In (Siau, K Ed.): Advanced Topics in Database Research, vol. 1, Idea Publishing Group, Hershey PA, USA; pp 307-323, 2002.
  • S. Al-Fedaghi, “Flow-based Description of Conceptual and Design Levels”, 2009 International Conference on Computer Engineering and Technology, Singapore, pp. 16-22, 2009.
  • F. Pinet, C. Roussey, T. Brun, F. Vigier, “The Use of UML as a Tool for the Formalisation of Standards and the Design of Ontologies in Agriculture”, In: Advances in Modeling Agricultural Systems. Springer Optimization and Its Applications, vol 25. Springer, Boston, MA, 2009.
  • P. Andersson, M. Höst, “UML and SystemC – A Comparison and Mapping Rules for Automatic Code Generation”. In: Villar E. (eds) Embedded Systems Specification and Design Languages. Lecture Notes in Electrical Engineering, vol 10. Springer, Dordrecht, 2008.
  • D. Dori, N. Wengrowicz, Y. J. Dori, “A comparative study of languages for model based systems-of-systems engineering (MBSSE)”, 2014 World Automation Congress, WAC 2014, 790–796, 2014.
  • A. A. H. Alzahrani, A. Eden, “UML Versus LePUS3 for Modelling Structure of Security Patterns”, Theoretical and Applied Aspects of Cybernetics (TAAC 2013), pp. 260-269, 2013.
  • B. Bauer, P. Müller, J. Odell. “Agent UML: A Formalism for Specifying Multiagent Software Systems”. In: Ciancarini P., Wooldridge M.J. (eds) Agent-Oriented Software Engineering, AOSE 2000, Lecture Notes in Computer Science, vol 1957. Springer, Berlin, Heidelberg, 2001.
  • Q. Z. Sheng and B. Benatallah, “ContextUML: a UML-based modeling language for model-driven development of context-aware Web services”, International Conference on Mobile Business (ICMB'05), pp. 206-212, 2005.
  • T. Lodderstedt, D. Basin, J. Doser. “SecureUML: A UML-Based Modeling Language for Model-Driven Security”. In: Jézéquel JM., Hussmann H., Cook S. (eds) ≪UML≫ 2002 — The Unified Modeling Language. UML 2002. Lecture Notes in Computer Science, vol 2460, Springer, Berlin, Heidelberg, 2002.
  • I. Malavolta, P. Lago, H. Muccini, P. Pelliccione, A. Tang. “What industry needs from architectural languages: a survey”, IEEE Trans Softw Eng.;39(6):869-891, 2012.
  • M. Ozkaya, “Do the informal formal software modeling notations satisfy practitioners for software architecture modeling?”, Information and Software Technology; 95:15–33, 2017.
  • J. Rumbaugh, I. Jacobson, G. Booch. Unified Modeling Language Reference Manual, 2nd Edition, Pearson Higher Education, 2004.