Knowledge (XXG)

UML tool

Source 📝

237:
initiative is the capacity to transform a model into another model. For example, one might want to transform a platform-independent domain model into a Java platform-specific model for implementation. It is also possible to refactor UML models to produce more concise and well-formed UML models. It is
116:
refers to the ability of a UML tool to perform code generation from models, and model generation from code (a.k.a., reverse engineering), while keeping both the model and the code semantically consistent with each other. Code generation and reverse engineering are explained in more detail below.
104:
software is generally agreed upon by software developers. When developers draw diagrams of object-oriented software, they usually follow the UML notation. On the other hand, it is often debated whether those diagrams are needed at all, during what stages of the software development process they
189:
to place the symbols in a way that the user can understand the diagram. For example, the symbols should be placed at such locations on the drawing pane that they don't overlap. Usually, the user of such a functionality of a UML tool has to manually edit those automatically generated diagrams to
141:
An often cited criticism is that the UML diagrams lack the detail that is needed to contain the same information as is covered with the program source: Jack W. Reeves states that the final embodiment of the design lies in the source code. (His often quoted statement that "the Code
190:
attain some meaningfulness. It also often doesn't make sense to draw diagrams of the whole program source, as that represents just too much detail to be of interest at the level of the UML diagrams.
344: 146:
the design" has been misinterpreted to mean that there is no need for intermediate- and high-level software-design artifacts, such as UML diagrams or software-requirements documents).
54:
is used broadly here to include application programs which are not exclusively focused on UML, but which support some functions of the Unified Modeling Language, either as an
130:
in this context means that the user creates UML diagrams, which have some connected model data, and the UML tool derives from the diagrams part or all of the
271: 17: 296: 276: 105:
should be used, and how (if at all) they should be kept up to date. The primacy of software code often leads to the diagrams being deprecated.
349: 179:
Diagram data is normally not contained with the program source, such that the UML tool, at least in the initial step, has to create some
379: 172:
The source code often has much more detailed information than one would want to see in design diagrams. This problem is addressed by
161:
model data and corresponding graphical UML diagrams from it (as opposed to the somewhat broader meaning described in the article "
134:
for the software system. In some tools the user can provide a skeleton of the program source code, in the form of a source code
255: 173: 101: 209:
programming language, which are notoriously hard to convert automatically to UML diagrams in their full complexity.
234: 32: 286: 218: 138:, where predefined tokens are then replaced with program source code parts during the code generation process. 41: 222: 135: 113: 126: 316: 194: 45: 27: 162: 374: 185: 339: 97:; that is diagrams that follow the graphical notation of the Unified Modeling Language. 368: 334: 281: 243: 157:
in this context means, that the UML tool reads program source code as input and
131: 30:
that supports some or all of the notation and semantics associated with the
225:, which allows the importation of UML diagrams from one model to another. 238:
possible to generate UML models from other modeling notations, such as
94: 353: 317:
http://www.developerdotstar.com/mag/articles/reeves_design_main.html
221:(XMI) is the format for UML model interchange. XMI does not support 206: 183:
of the graphical symbols of the UML notation or use some automatic
259: 100:
The use of UML diagrams as a means to draw diagrams of – mostly –
250:
for Queries/Views/Transformations. One example of an open-source
239: 291: 251: 247: 359: 74:
UML tools support the following kinds of functionality:
168:Some of the challenges of reverse engineering are: 8: 246:. The standard that supports this is called 343:) is being considered for deletion. See 309: 272:List of Unified Modeling Language tools 18:List of Unified Modeling Language tools 297:Specification and Description Language 277:List of requirements engineering tools 7: 193:There are language features of some 174:software architecture reconstruction 233:A key concept associated with the 40:), which is the industry standard 14: 347:to help reach a consensus. › 66:of their overall functionality. 1: 214:Model and diagram interchange 396: 15: 380:Unified Modeling Language 235:model-driven architecture 33:Unified Modeling Language 345:templates for discussion 287:Model-driven engineering 219:XML Metadata Interchange 42:general-purpose modeling 223:UML Diagram Interchange 114:Round-trip engineering 109:Round-trip engineering 85:in this context means 70:Kinds of Functionality 195:programming languages 242:, which is itself a 229:Model transformation 46:software engineering 28:software application 360:UML Tools Directory 163:Reverse engineering 155:Reverse engineering 150:Reverse engineering 258:language built by 203:function templates 319:by Jack W. Reeves 254:-solution is the 387: 320: 314: 186:layout algorithm 395: 394: 390: 389: 388: 386: 385: 384: 365: 364: 348: 329: 324: 323: 315: 311: 306: 268: 231: 216: 152: 127:Code generation 123: 121:Code generation 111: 102:object-oriented 80: 72: 20: 12: 11: 5: 393: 391: 383: 382: 377: 367: 366: 363: 362: 357: 332: 328: 327:External links 325: 322: 321: 308: 307: 305: 302: 301: 300: 294: 289: 284: 279: 274: 267: 264: 230: 227: 215: 212: 211: 210: 191: 177: 151: 148: 122: 119: 110: 107: 79: 76: 71: 68: 13: 10: 9: 6: 4: 3: 2: 392: 381: 378: 376: 373: 372: 370: 361: 358: 355: 351: 346: 342: 341: 336: 331: 330: 326: 318: 313: 310: 303: 298: 295: 293: 290: 288: 285: 283: 280: 278: 275: 273: 270: 269: 265: 263: 261: 257: 253: 249: 245: 241: 236: 228: 226: 224: 220: 213: 208: 204: 200: 196: 192: 188: 187: 182: 181:random layout 178: 175: 171: 170: 169: 166: 164: 160: 156: 149: 147: 145: 139: 137: 133: 129: 128: 120: 118: 115: 108: 106: 103: 98: 96: 92: 88: 84: 77: 75: 69: 67: 65: 61: 57: 53: 49: 47: 44:language for 43: 39: 35: 34: 29: 25: 19: 338: 312: 282:Metamodeling 232: 217: 202: 198: 184: 180: 167: 158: 154: 153: 143: 140: 125: 124: 112: 99: 90: 86: 82: 81: 73: 63: 59: 55: 51: 50: 37: 31: 23: 21: 333:‹ The 244:UML profile 132:source code 83:Diagramming 78:Diagramming 369:Categories 304:References 16:See also: 375:UML tools 350:UML Tools 60:component 335:template 266:See also 136:template 95:diagrams 87:creating 62:or as a 52:UML tool 24:UML tool 337:below ( 205:of the 197:, like 159:derives 91:editing 58:, as a 354:Curlie 340:Curlie 199:class- 56:add-on 299:(SDL) 260:INRIA 26:is a 240:BPMN 165:"). 93:UML 89:and 64:part 352:at 292:QVT 256:ATL 252:QVT 248:QVT 207:C++ 201:or 38:UML 371:: 262:. 144:is 48:. 22:A 356:. 176:. 36:(

Index

List of Unified Modeling Language tools
software application
Unified Modeling Language
general-purpose modeling
software engineering
diagrams
object-oriented
Round-trip engineering
Code generation
source code
template
Reverse engineering
software architecture reconstruction
layout algorithm
programming languages
C++
XML Metadata Interchange
UML Diagram Interchange
model-driven architecture
BPMN
UML profile
QVT
QVT
ATL
INRIA
List of Unified Modeling Language tools
List of requirements engineering tools
Metamodeling
Model-driven engineering
QVT

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.