Emerging applications such as collaborative and autonomous cyber-physical systems (CPS) seek for innovative techniques that support Quality-of-Service (QoS) analysis as key concern to be considered. The objective of t...
详细信息
ISBN:
(纸本)9783031345593;9783031345609
Emerging applications such as collaborative and autonomous cyber-physical systems (CPS) seek for innovative techniques that support Quality-of-Service (QoS) analysis as key concern to be considered. The objective of this paper is to complement the software design models with an approach that provides a set of modules that are (i) representative of multiple QoS-based properties, and (ii) equipped with strategies aimed to establish rules of interaction among them in a feedback loop fashion. We propose a novel methodology that builds upon the specification of QoS-based modules and enables the generation of design alternatives as outcome of an internal intertwining of different QoS analysis results for CPS. The approach is applied to a collaborative and autonomous network of sensors, and experimental results show that softwaredesigners are supported in the selection of design alternatives by quantitative information. A comparison with an integrated model is performed to show the advantages of our novel modular QoS-based analysis.
Model comparison has been widely used to support many tasks in model-driven software development. For this reason, many techniques of comparing them have been proposed in the last few decades. However, academia and in...
详细信息
Model comparison has been widely used to support many tasks in model-driven software development. For this reason, many techniques of comparing them have been proposed in the last few decades. However, academia and industry have overlooked a classification of currently available approaches to the comparison of designmodels. Hence, a thorough understanding of state-of-the-art techniques remains limited and inconclusive. This article, therefore, focuses on providing a classification and a thematic analysis of studies on the comparison of softwaredesignmodels. We carried out a systematic mapping study following well-established guidelines to answer nine research questions. In total, 56 primary studies (out of 4,132) were selected from 10 widely recognized electronic databases after a careful filtering process. The main results are that a majority of the primary studies (1) provide coarse-grained techniques of the comparison of general-purpose diagrams, (2) adopt graphs as principal data structure and compare software design models considering structural properties only, (3) pinpoint commonalities and differences between software design models rather than assess their similarity, and (4) propose new techniques while neglecting the production of empirical knowledge from experimental studies. Finally, this article highlights some challenges and directions that can be explored in upcoming studies.
Research into software design models in general, and into the UML in particular, focuses on answering the question how designmodels are used, completely ignoring the question if they are used. There is an assumption ...
详细信息
Research into software design models in general, and into the UML in particular, focuses on answering the question how designmodels are used, completely ignoring the question if they are used. There is an assumption in the literature that the UML is the de facto standard, and that use of designmodels has had a profound and substantial effect on how software is designed by virtue of models giving the ability to do model-checking, code generation, or automated test generation. However for this assumption to be true, there has to be significant use of designmodels in practice by developers. This paper presents the results of a survey summarizing the answers of 3785 developers answering the simple question on the extent to which designmodels are used before coding. We relate their use of models with (i) total years of programming experience, (ii) open or closed development, (iii) educational level, (iv) programming language used, and (v) development type. The answer to our question was that designmodels are not used very extensively in industry, and where they are used, the use is informal and without tool support, and the notation is often not UML. The use of models decreased with an increase in experience and increased with higher level of qualification. Overall we found that models are used primarily as a communication and collaboration mechanism where there is a need to solve problems and/or get a joint understanding of the overall design in a group. We also conclude that models are seldom updated after initially created and are usually drawn on a whiteboard or on paper. (C) 2014 Elsevier Inc. All rights reserved.
The object-oriented approach has been the most popular softwaredesign methodology for the past twenty-five years. Several design patterns and principles are defined to improve the design quality of object-oriented so...
详细信息
The object-oriented approach has been the most popular softwaredesign methodology for the past twenty-five years. Several design patterns and principles are defined to improve the design quality of object-oriented software systems. In addition, designers can use unique design motifs that are designed for the specific application domains. Another commonly used technique is cloning and modifying some parts of the software while creating new modules. Therefore, object-oriented programs can include many identical design Structures. This work proposes a sub-graph mining-based approach for detecting identical design structures in object-oriented systems. By identifying and analyzing these structures, we can obtain useful information about the design, such as commonly-used design patterns, most frequent design defects, domain-specific patterns, and reused design clones, which could help developers to improve their knowledge about the software architecture. Furthermore, problematic parts of frequent identical design structures are appropriate refactoring opportunities because they affect multiple areas of the architecture. Experiments with several open-source and industrial projects show that we can successfully find many identical design structures within a project (intra-project) and between different projects (inter-project). We observe that usually most of the detected identical structures are an implementation of common design patterns;however, we also detect various anti-patterns, domain-specific patterns, reused design parts and design-level clones. (C) 2013 Elsevier B.V. All rights reserved.
software systems evolve over time and it is often difficult to maintain them. One reason for this is that often it is hard to understand the previous release. Further, even if architecture and designmodels are availa...
详细信息
software systems evolve over time and it is often difficult to maintain them. One reason for this is that often it is hard to understand the previous release. Further, even if architecture and designmodels are available and up to date, they primarily represent the functional behavior of the system. To evaluate whether it is possible to also represent some nonfunctional aspects, an experiment has been conducted. The objective of the experiment is to evaluate the cognitive suitability of some visual representations that can be used to represent a control relation, software component size and component external and internal complexity. Ten different representations are evaluated in a controlled environment using 35 subjects. The results from the experiment show that representations with low cognitive accessibility weight can be found. In an example, these representations are used to illustrate some qualities in an SDL block diagram. It is concluded that the incorporation of these representations in architecture and design descriptions is both easy and probably worthwhile. The incorporation of the representations should enhance the understanding of previous releases and, hence, help software developers in evolving and maintaining complex software systems.
暂无评论