共查询到20条相似文献,搜索用时 15 毫秒
1.
Automatic debugging of UML class diagrams helps in the visual specification of software systems because users cannot detect errors in logical consistency easily. This study focuses on the tractable consistency checking of UML class diagrams. We accurately identify inconsistencies in these diagrams by translating them into first-order predicate logic that is generalized by counting quantifiers and classify their expressivities by eliminating certain components. We introduce optimized algorithms that compute the respective consistencies of class diagrams of different expressive powers in P, NP, PSPACE, or EXPTIME with respect to the size of the class diagrams. In particular, owing to the restrictions imposed on attribute value types, the complexities of consistency checking of class diagrams decrease from EXPTIME to P and PSPACE in two cases: (i) when the class diagrams contain disjointness constraints and overwriting/multiple inheritances and (ii) when the class diagrams contain both these components along with completeness constraints. Additionally, we confirm the existence of a restriction of class diagrams that prevents any logical inconsistency. 相似文献
2.
ContextThe conventional wisdom states that stereotypes are used to clarify or extend the meaning of model elements and consequently should be helpful in comprehending the diagram semantics. ObjectiveThe main goal of this work is to present a family of experiments that we have carried out to investigate whether the use of stereotypes improves the comprehension of UML sequence diagrams. MethodThe family of experiments consists of an experiment and two replications carried out with 78, 29 and 36 undergraduate Computer Science students, respectively. The comprehension of UML sequence diagrams with and without stereotypes was analyzed from three different perspectives borrowed from the Cognitive Theory of Multimedia Learning (CTML): semantic comprehension, retention and transfer. In addition, we carried out a meta-analysis study to integrate the different data samples. ResultsThe statistical analysis and meta-analysis of the data obtained from each experiment separately indicates that the use of the proposed stereotypes helps improving the comprehension of the diagrams, especially when the subjects are not familiar with the domain. ConclusionsThe set of stereotypes presented in this work seem to be helpful for a better comprehension of UML sequence diagrams, especially with not well-known domains. Although further research is necessary for strengthening these results, introducing these stereotypes both in academia and industry could be an interesting practice for checking the validity of the results. 相似文献
3.
BackgroundPractical experience suggests that usage and understanding of UML diagrams is greatly affected by the quality of their layout. While existing research failed to provide conclusive and comprehensive evidence in support of this hypothesis, our own previous work provided substantial evidence to this effect, also suggesting diagram size as a relevant factor, for a range of diagram types and layouts.AimsSince there is no generally accepted precise notion of “diagram size,” we first need to operationalize this concept, analyze its impact on diagram understanding, and derive practical advice from our findings.MethodWe define three alternative, plausible metrics. Since they are all highly correlated on a large sample of UML diagrams, we opt for the simplest one. We use it to re-analyze existing experimental data on diagram understanding.ResultsWe find a strong negative correlation between diagram size and modeler performance. Our results are statistically highly significant and exhibit a very large degree of validity. We utilize these results to derive a recommendation on diagram sizes that are, on average, optimal for model understanding. These recommendations are implemented in a plug-in to a widely used modeling tool, providing continuous feedback about diagram size to modelers.ConclusionsThe effect sizes are varying, but generally suggest that the impact of size matches or exceeds that of other factors in diagram understanding. With the guideline and tool, modelers are steered toward avoiding too large diagrams. 相似文献
4.
Knowing which associations are compositions is important in a tool for the reverse engineering of UML class diagrams. Firstly,
recovery of composition relationships bridges the gap between design and code. Secondly, since composition relationships explicitly
state a requirement that certain representations cannot be exposed, it is important to determine if this requirement is met
by component code. Verifying that compositions are implemented properly may prevent serious program flaws due to representation
exposure.
We propose an implementation-level composition model based on ownership and a novel approach for identifying compositions
in Java software. Our approach is based on static ownership inference; it is parameterized by class analysis and is designed
to work on incomplete programs. We present empirical results from two instantiation of our approach. For one of these instantiations,
on average 40% of the examined fields account for relationships that are identified as compositions. In addition, we present
a precision evaluation which shows that the analysis achieves almost perfect precision—that is, it almost never misses composition
relationships. The results indicate that precise identification of interclass relationships can be done with a simple and
inexpensive analysis, and thus can be easily incorporated in reverse engineering tools that support iterative model-driven
development. 相似文献
5.
In software engineering, UML activity diagrams in general can be useful for a modeling system functional behavior, ranging from the sequences of activities/actions from business processes within an organization or among organizations down to the detail of an algorithm. The stepwise refinement process makes activity diagrams more and more complex. To guarantee the behavior consistency and correctness under refinement, the activity diagrams must be decomposed according to the divide‐and‐conquer strategy. Traditional decomposition methods adopt manual techniques and cannot ensure the independence and completeness of the obtained subdiagrams. In this paper, a novel decomposition approach is proposed, which can automatically divide an activity diagram into atomic and correct subdiagrams (subdiagrams without abnormal behavioral problems) at the same level. When such an activity diagram specifies the whole functional behavior of a software system, the approach can in fact decompose a system into multiple atomic subsystems. Every atomic subsystem is a completely independent system. It may be independently developed, independently tested, and independently deployed. The method facilitates the management, development, and maintenance of a software system. With the help of a prototype tool, a case study demonstrates the decomposition method. 相似文献
6.
We describe a tool that supports verification of workflow models specified in UML activity diagrams. The tool translates an activity diagram into an input format for a model checker according to a mathematical semantics. With the model checker, arbitrary propositional requirements can be checked against the input model. If a requirement fails to hold, an error trace is returned by the model checker, which our tool presents by highlighting a corresponding path in the activity diagram. We summarize our formal semantics, discuss the techniques used to reduce an infinite state space to a finite one, and motivate the need for strong fairness constraints to obtain realistic results. We define requirement-preserving rules for state space reduction. Finally, we illustrate the whole approach with a few example verifications. 相似文献
7.
Assessment of the correctness of software models is a key issue to ensure the quality of the final application. To this end, this paper presents an automatic method for the verification of UML class diagrams extended with OCL constraints. Our method checks compliance of the diagram with respect to several correctness properties including weak and strong satisfiability or absence of constraint redundancies among others. The method works by translating the UML/OCL model into a Constraint Satisfaction Problem (CSP) that is evaluated using state-of-the-art constraint solvers to determine the correctness of the initial model. Our approach is particularly relevant to current MDA and MDD methods where software models are the primary artifacts of the development process and the basis for the (semi-)automatic code-generation of the final application. 相似文献
8.
Euler diagrams use closed curves to represent sets and their relationships. They facilitate set analysis, as humans tend to perceive distinct regions when closed curves are drawn on a plane. However, current automatic methods often produce diagrams with irregular, non-smooth curves that are not easily distinguishable. Other methods restrict the shape of the curve to for instance a circle, but such methods cannot draw an Euler diagram with exactly the required curve intersections for any set relations. In this paper, we present euler Force, as the first method to adopt a force-directed approach to improve the layout and the curves of Euler diagrams generated by current methods. The layouts are improved in quick time. Our evaluation of euler Force indicates the benefits of a force-directed approach to generate comprehensible Euler diagrams for any set relations in relatively fast time. 相似文献
9.
UML sequence diagrams are visual representations of object interactions in a system and can provide valuable information for program comprehension, debugging, maintenance, and software archeology. Sequence diagrams generated from legacy code are independent of existing documentation that may have eroded. We present a framework for static generation of UML sequence diagrams from object-oriented source code. The framework provides a query refinement system to guide the user to interesting interactions in the source code. Our technique involves constructing a hypergraph representation of the source code, traversing the hypergraph with respect to a user-defined query, and generating the corresponding set of sequence diagrams. We implemented our framework as a tool, StaticGen (supporting software: StaticGen), analyzing a corpus of 30 Android applications. We provide experimental results demonstrating the efficacy of our technique (originally appeared in the Proceedings of Fundamental Approaches to Software Engineering—20th International Conference, FASE 2017, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Uppsala, Sweden, April 22–29, 2017). 相似文献
10.
针对UML对数据和信息流描述缺乏充分表达业务工作流程的问题,借助新创建的活动图,提出了基于扩展UML活动图的工作流过程建模方法。应用实例表明,扩展的UML活动图对工作流程的语义表达更丰富,更准确地描述工作流建模所需表达的内容,以满足工作流过程建模的要求。 相似文献
11.
Most installations provide a program to assist in drawing stylized diagrams which can illustrate structures, relationships and flows. The DRAUGHTSMAN program was written to overcome shortcomings in earlier examples of this type. Firstly, drawing movements can be specified in relative terms, and positions on the diagram can be labelled, giving the advantages of flexibility for subsequent modification equivalent to those of relative addressing over absolute addressing in programming. Secondly, the program will, unless instructed otherwise, make its own selection of a reasonable paper size and orientation. Thirdly, the inclusion of text within boxes and along lines is flexible and unrestricted; this is combined with a wide range of drawing styles. A specification of the drawing language is given and an illustrative example provided. 相似文献
12.
ContextThe COSMIC functional size measurement method on UML diagrams has been investigated as a means to estimate the software effort early in the software development life cycle. Like other functional size measurement methods, the COSMIC method takes into account the data movements in the UML sequence diagrams for example, but does not consider the data manipulations in the control structure. This paper explores software sizing at a finer level of granularity by taking into account the structural aspect of a sequence diagram in order to quantify its structural size. These functional and structural sizes can then be used as distinct independent variables to improve effort estimation models. ObjectiveThe objective is to design an improved measurement of the size of the UML sequence diagrams by taking into account the data manipulations represented by the structure of the sequence diagram, which will be referred to as their structural size. MethodWhile the design of COSMIC defines the functional size of a functional process at a high level of granularity (i.e. the data movements), the structural size of a sequence diagram is defined at a finer level of granularity: the size of the flow graph of their control structure described through the alt, opt and loop constructs. This new measurement method was designed by following the process recommended in Software Metrics and Software Metrology (Abran, 2010). ResultsThe size of sequence diagrams can now be measured from two perspectives, both functional and structural, and at different levels of granularity with distinct measurement units. ConclusionIt is now feasible to measure the size of functional requirements at two levels of granularity: at an abstract level, the software functional size can be measured in terms of COSMIC Function Point (CFP) units; and at a detailed level, the software structural size can be measured in terms of Control Structure Manipulation (CSM) units. These measures represent complementary aspects of software size and can be used as distinct independent variables to improve effort estimation models. 相似文献
13.
In the past, formatting guidelines have proved to be a successful method to improve the readability of source code. With the increasing success of visual specification languages such as UML for model-driven software engineering visual guidelines are needed to standardize the presentation and the exchange of modeling diagrams with respect to human communication, understandability and readability. In this article, we introduce a new and encompassing taxonomy of visual guidelines capturing the aesthetic quality of UML class diagrams. We propose these guidelines as a framework to improve the aesthetic quality and thus the understandability of UML class diagrams. To validate this claim, we describe in detail a controlled experiment carried out as a pilot study to gather preliminary insights on the effects of some of the guideline rules on the understandability of UML class diagrams. 相似文献
14.
Dominance trees have been used as a means for reengineering legacy systems into potential reuse candidates. The dominance relation suggests the reuse candidates which are identified by strongly directly dominated subtrees. We review the approach and illustrate how the dominance tree may fail to show the relationship between the strongly direct dominated procedures and the directly dominated procedures. We introduce a relation of generalized conditional independence which strengthens the argument for the adoption of the potential reuse candidates suggested by the dominance tree and explains their relationship with the directly dominated vertices. This leads to an improved dominance tree, the moral dominance tree, which helps aid program comprehension available from the tree. The generalized conditional independence relation also identifies potential reuse candidates that are missed by the dominance relation. 相似文献
15.
In Model‐Driven Development (MDD), detection of model defects is necessary for correct model transformations. Formal verification tools and techniques can to some extent verify models. However, scalability is a serious issue in relation to verification of complex UML/OCL class diagrams. We have proposed a model slicing technique that slices the original model into submodels to address the scalability issue. A submodel can be detected as unsatisfiable if there are no valid values for one or more attributes of an object in the diagram or if the submodel provides inconsistent conditions on the number of objects of a given type. In this paper, we propose a novel feedback technique through model slicing that detects unsatisfiable submodels and their integrity constraints among the complex hierarchy of an entire UML/OCL class diagram. The software developers can therefore focus their revision efforts on the incorrect submodels while ignoring the rest of the model. Copyright © 2013 John Wiley & Sons, Ltd. 相似文献
16.
Extensible Markup Language (XML) is fast becoming the new standard for data representation and exchange on the World Wide Web, e.g., in B2B e-commerce. Modern enterprises need to combine data from many sources in order to answer important business questions, creating a need for integration of web-based XML data. Previous web-based data integration efforts have focused almost exclusively on the logical level of data models, creating a need for techniques that focus on the conceptual level in order to communicate the structure and properties of the available data to users at a higher level of abstraction. The most widely used conceptual model at the moment is the Unified Modeling Language (UML). This paper presents algorithms for automatically constructing UML diagrams from XML DTDs, enabling fast and easy graphical browsing of XML data sources on the web. The algorithms capture important semantic properties of the XML data such as precise cardinalities and aggregation (containment) relationships between the data elements. As a motivating application, it is shown how the generated diagrams can be used for the conceptual design of data warehouses based on web data, and an integration architecture is presented. The choice of data warehouses and On-Line Analytical Processing as the motivating application is another distinguishing feature of the presented approach. 相似文献
17.
在UML2.0规范中顺序图的语义仍然是以自然语言的形式描述的,为实现对顺序图的自动化分析和验证,必须为顺序图定义一种形式化的语义模型.为此首先给出了UML顺序图的一种符合BNF范式的形式化语法,然后为该语法中的非终止符定义转换规则,将UML顺序图中的基本动作转换为加标Petri网组件,最后定义了各种合成操作,利用这些合成操作可以将UML顺序图的加标Petri网组件转换为加标Petni网. 相似文献
18.
Due to their accuracy in describing systems, formal specifications can play an important role during forward as well as reverse
engineering activities. However, besides dense mathematical expressions, their lack in visually appealing notations impedes
their use and exchange among different stakeholders. One solution to this problem is to enrich the specification by other
views, in most cases Unified Modelling Language (UML) diagrams. But the mapping is not trivial, and existing approaches have
their impediments, among them the assignment of methods to classes—which has to be re-done by hand quite often. By the example
of Z, this paper demonstrates that the situation can be improved. The new approach combines existing mapping strategies, but
additionally lets the assignment of methods rest on quality-related measures. The basic idea is to balance the values of coupling
for all methods within and between the UML classes. With that, two issues are addressed: firstly, the mapping of sets, types,
and operations (to UML classes and UML methods) is based on reproducible measures that are intuitively comprehensible. Secondly,
implementations based on the resulting UML class diagrams very likely also have comparable quality-related properties. 相似文献
19.
Often system developers follow Unified Modeling Language (UML) activity diagrams to depict all possible flows of controls
commonly known as scenarios of use cases. Hence, an activity diagram is treated as a useful design artifact to identify all
possible scenarios and then check faults in scenarios of a use case. However, identification of all possible scenarios and
then testing with activity diagrams is a challenging task because several control flow constructs and their nested combinations
make path identification difficult. In this paper, we address this problem and propose an approach to identify all scenarios
from activity diagrams and use them to test use cases. The proposed approach is based on the classification of control constructs
followed by a transformation approach which takes into account any combination of nested structures and transforms an activity
diagram into a model called Intermediate Testable Model (ITM). We use ITM to generate test scenarios. With our approach it is possible to generate more scenarios than the existing
work. Further, the proposed approach can be directly carried out using design models without any addition of testability information
unlike the existing approaches. 相似文献
20.
We suggest a framework for UML diagram validation and execution that takes advantage of some of the practical restrictions
induced by diagrammatic representations (as compared to Turing equivalent programming languages) by exploiting possible gains
in decidability. In particular, within our framework we can prove that an object interaction comes to an end, or that one
action is always performed before another. Even more appealingly, we can compute efficiently whether two models are equivalent
(aiding in the redesign or refactoring of a model), and what the differences between two models are. The framework employs
a simple modelling object language (called MOL) for which we present formal syntax and semantics. A first generation of tools
has been implemented that allows us to collect experience with our approach, guiding its further development. 相似文献
|