ANALYSING UML-BASED SOFTWARE MODELLING LANGUAGES

In this paper, the existing 31 different UML-based software modelling languages have been analysed for a number of requirements that are believed to be highly important for practitioners. These requirements are formal 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. While 21% of the languages offer general-purpose notation set, the rest offer domain-specific notation set and the top domains of interest are the multi-agent, embedded, and real-time systems. 38% of the languages use UML’s profiling mechanism for extending UML, 18% of the languages extend UML’s class diagram, and 13% of the languages extend UML’s state and sequence diagrams. 41% of the languages support the logical viewpoint and 36% support the behaviour viewpoint – the rest of the viewpoints are rarely used. 58% of the languages are defined formally and many of them are based on formal verification languages. 44% of the languages ignore model analysis. Among the rest, 25% of the languages support the exhaustive model checking and 14% support the analysis for well-formedness. Generating software code from software models and the modelling tool support are the least supported requirements by the UML-based languages.

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.

___

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.
Havacılık ve Uzay Teknolojileri Dergisi-Cover
  • ISSN: 1304-0448
  • Yayın Aralığı: Yılda 2 Sayı
  • Başlangıç: 2003
  • Yayıncı: Dr. Öğr. Üyesi Fatma Kutlu Gündoğdu