A Brazilian survey on UML and model-driven practices for embedded software development

https://doi.org/10.1016/j.jss.2012.11.023Get rights and content

Abstract

This paper brings statistical findings from a survey about the use of UML modeling and model-driven approaches for the design of embedded software in Brazil. The survey provides evidences regarding the maturity of use of UML and model-driven approaches, how they are employed, and which and where the professionals who use them are. Technical, organizational, and social aspects were investigated and documented by making use of a descriptive research method. Such aspects seemingly reflect the opinions of software engineers on how they perceive the impact of using UML and model-driven approaches on productivity and quality in embedded software development. Results show that most participants are clearly aware of the modeling approach value, even though they practice it only to a limited degree. Most respondents who make use of model-driven approaches attest that productivity and portability are the key advantages of their use.

Highlights

► Survey on the use of UML and model-driven approaches for embedded software design. ► This study provides evidences regarding the current use and maturity of use of UML. ► Presents the impact of using MDE approaches on productivity in software development.

Introduction

The term Model Driven Engineering (MDE) is used to describe model-driven software development approaches in which abstract models of the software systems are designed and systematically transformed into concrete implementations (France and Rumpe, 2007). Model Driven Architecture (MDA), a standard from the Object Management Group (OMG), is MDE's best known and currently adopted model-driven approach.

In MDA, the systematic use of models as engineering main artifacts occurs throughout the entire software development cycle (OMG, 2003). The primary technical advantages claimed by MDA consist of productivity, portability, reusability, and interoperability (García-Díaz et al., 2010, Kleppe et al., 2003). In this context, after the launch of the MDE approach, the role of the Unified Modeling Language (UML) became even more important, positioning the UML as the core part in the software development process. UML is a Software Engineering industry standard that stems from the principle of software development best practices (OMG, 2010).

Furthermore, several studies currently point out the importance of integrating model-driven approaches in the embedded software development process, aiming to minimize the effects of the heterogeneity of platforms and the increasing complexity inherent in this type of software (Jeon et al., 2009, Karsai et al., 2008). Embedded software comprises incorporated hardware features and is commonly subject to rigid constraints, which indeed represent a major challenge for the community of developers (Marwedel, 2006). The use of model-driven approaches for designing embedded software improves validation and verification as well as facilitating reuse and evolution (Espinoza et al., 2009).

This paper aims to identify gaps in the current comprehension of issues, such as knowledge of how exactly UML and MDE/MDA are used in industry; understanding of how social and organizational factors impact on UML and MDE/MDA use. More specifically, the following UML-related issues were investigated: UML diagrams more commonly used, UML complexity level under the view of the participants, and UML use maturity. Moreover, this paper emphasized the benefits of model-driven approaches in terms of productivity, portability, and quality with regard to the following activities: code generation, model transformations, documentation, and testing. In addition, MDE/MDA maturity of use in the organization was also investigated. Social and organizational aspects obtained were used in cross-tab reports so as to acquire new knowledge from the data collected. This paper compiles answers that illustrate aspects derived from the practical experience of software engineers who took part in a survey involving 209 Brazilian embedded software developers.

These aspects must be known because, despite the constant UML advancements, UML has been used in different ways and for different purposes in software development designs. Frequently, UML is used in the software development traditional context, not taking into account model-driven approaches. Therefore, models are used by programmers just as a reference for specifying and documenting software systems. In MDE/MDA approaches, however, models are used as the key artifacts in all software development stages. In this case, the development of software can be seen as a series of successive transformations from one model into another, including code generation from models.

The style and strictness in UML-based modeling also show a variation that relies on several aspects, such as the previous experience of the software engineers and the deadline defined for the software development. It is important to mention that UML is one of the most widely criticized modeling languages (France and Rumpe, 2007). As a reason for that, one could point out some of its deficiencies, for instance its lack of expressiveness (Pardillo and Cachero, 2010). Also, in many cases UML is not used, or its use is limited, on the grounds its complexity (Dori, 2002). In other cases, it is criticized due to the difficulty in modeling applications related to specific domains, e.g. embedded systems (Friedenthal et al., 2008).

The results obtained thus provide criteria for the identification of problems that hamper and impair the UML use for the development of embedded software in Brazil. The listed problems may be used by the academic community to suggest alternatives to the improvement of the UML usability, focusing on the future use of MDE/MDA approaches for embedded software design. Besides, the emphasis on embedded software is justified due to the wide range of existing applications such as industrial automation, electronic industry, telecommunications or military products. Currently, the growing complexity of embedded products is demanding the use of different software development approaches, such as the model-driven approach.

The paper is structured as follows. Section 2 brings the related works. Section 3 presents the details of the methodology used to perform the survey, including the purpose, instrument, and data collection. Section 4 presents the detailed results of the survey, including the background information of the respondents, the UML use, and the use of the MDE/MDA approaches. Section 5 discusses the research findings. Section 6 brings the conclusion, remarks, and future work.

Section snippets

Related work

Several related works investigate aspects of UML modeling and model-driven approaches. However, none of these surveys focused on the use of UML modeling and model-driven approaches in the development of embedded software, specifically. Moreover, the respondents of these surveys were basically European and North-American professionals. No similar surveys were found in South America, justifying the relevance of this work for the geographical area covered (Brazil), as well as its specific focus on

Methodology

A survey is a method for collecting data about features, behavior or opinions of a specific group of people, pointed out as representative from a target population (Pinsonneault and Kraemer, 1993). Thus, a survey aims to produce quantitative data on some aspects of the population under study. This section details the purpose of this survey, the survey instrument, and the data collection mode.

Survey findings

The results discussed in this section are organized around four issues: respondent background, organization background, UML Questions, and MDE Questions. Next, the findings related to these issues will be presented.

Discussion of findings

The findings of this survey provided information on the use of UML and model-driven approaches for embedded software development in Brazil. According to the survey, 45% of the embedded software developers responded that they know and make use of the UML modeling, either completely or partially. Further studies on such finding were conducted so as to find out who those respondents are. As a result, it was verified that they are the most experienced developers, i.e., the ones with 5- to 10-year

Conclusion and future work

This paper reports findings based on a survey that deals with the lack of knowledge on how exactly UML and model-driven approaches are used for the design of embedded software in Brazil. The survey was online-based and, from November 2010 until June 2011, a total of 209 applicable responses were received. Although the survey was exploratory in its nature, it clearly captured important issues related to the use of modeling by Brazilian software engineers. The results achieved match the results

Luciane Telinski Wiedermann Agner is a Ph.D. student of the Graduate Program in Electrical Engineering and Industrial Computer Science at the Paraná Federal University of Technology (UTFPR), Brazil. Also, she is a Professor at the Department of Computer Science of the Mid-West State University (UNICENTRO), Brazil. She got her B.Sc. degree in Computer Science from the Pontifical Catholic University of Paraná (PUC-PR) in 1991. In 2000, she received the M.Sc. degree in Computer Science from the

References (33)

  • B. Dobing et al.

    Dimensions of UML diagram use: a survey of practitioners

    Journal of Database Management (JDM)

    (2008)
  • D. Dori

    What UML should be: why significant UML change is unlikely

    Communications of the ACM

    (2002)
  • H. Espinoza et al.

    Challenges in combining SysML and MARTE for model-based design of embedded systems

    European Conference on Model Driven-Architecture Foundations and Applications (ECMDA 2009)

    Lecture Notes in Computer Science (Springer)

    (2009)
  • A. Fink

    How to sample in surveys

    (1995)
  • A. Forward et al.

    Problems and opportunities for model-centric versus code-centric software development: a survey of software professionals

    International Workshop on Models in Software Engineering (MiSE 2008)

    (2008)
  • F.J. Fowler

    Improving Survey Questions: Design and Evaluation

    (1995)
  • Cited by (67)

    • A survey on the practical use of UML for different software architecture viewpoints

      2020, Information and Software Technology
      Citation Excerpt :

      Reggio et al. aimed at understanding the usage frequencies of the UML diagrams and how this is affected by the user profiles. Agner et al. [43] surveyed among 209 developers working in the embedded software domain. Agner et al. asked 20 different questions for the purpose of understanding the embedded developers’ experience with UML.

    • Infrastructure as code: Mapping study

      2024, Artificial Intelligence, Blockchain, Computing and Security - Proceedings of the International Conference on Artificial Intelligence, Blockchain, Computing and Security, ICABCS 2023
    View all citing articles on Scopus

    Luciane Telinski Wiedermann Agner is a Ph.D. student of the Graduate Program in Electrical Engineering and Industrial Computer Science at the Paraná Federal University of Technology (UTFPR), Brazil. Also, she is a Professor at the Department of Computer Science of the Mid-West State University (UNICENTRO), Brazil. She got her B.Sc. degree in Computer Science from the Pontifical Catholic University of Paraná (PUC-PR) in 1991. In 2000, she received the M.Sc. degree in Computer Science from the Federal University of Paraná (UFPR). Her main research interests are software/system engineering, embedded software, and computer science.

    Inali Wisniewski Soares obtained her B.Sc. degree in Computer Science from UEPG, Brazil, in 1990 and in 2000 the M.Sc. degree in Computer Science from the Federal University of Paraná (UFPR), Brazil. Currently, she is a Ph.D. student of the Graduate Program in Electrical Engineering and Industrial Computer Science (CPGEI) at the Paraná Federal University of Technology (UTFPR), Brazil. Also, she is a Professor at the Department of Computer Science (DECOMP) of the Mid-West State University (UNICENTRO), Brazil. Her publications and researches include embedded software, software/system engineering and computer science.

    Paulo Cézar Stadzisz obtained the Diploma in Data Processing Technologies from the Federal University of Paraná, Brazil, in 1987 and in 1990 the M.Sc. degree in Industrial Computer Science from the Graduate Program in Electrical Engineering and Industrial Computer Science (CPGEI) of the Federal Center of Technological Education, Brazil. He received the Ph.D. degree from the Franche-Comté University (France) in 1997. He is currently a Professor at the Paraná Federal University of Technology (UTFPR). He teaches and coordinates researches in the CPGEI/UTFPR doctoral program. He coordinates the Laboratory of Innovation in Technology at UTFPR. His publications and researches include manufacturing modeling and analysis, simulation, and software engineering.

    Jean M. Simão obtained his B.Sc. degree in Computer Science from UEPG in 1998 and in 2001 the M.Sc. degree from CPGEI/CEFET-PR/UTFPR, Brazil. In 2005, he obtained the Ph.D. degree in Computing and Automatic Domains from CPGEI/UTFPR and the Research Center for Automatic Control of Nancy (CRAN) – Henry Poincaré University (UHP) France. In 2006, he worked for the UHP/CRAN in a post-doctoral position. Nowadays, he is a Professor at UTFPR in Departments (Electronics, Informatics, CPGEI) and Laboratories (Innovation in Technology, Intelligent Systems). His teaching activities concern computer science and his researches/publications include intelligent systems and programming paradigms.

    View full text