UML 1.0 vs UML 2.0
UML 2.0 has been an update that has really pushed the boundaries from the predecessor, UML 1.0. This article takes an in-depth look at the specific differences between the two and what new updates and features come in UML2.0. It can be said in general that there has not been much change to the overall interface of the UML 2.0, as it seems to heavily relate to its predecessor UML 1.0. The main changes that can be said to have been instituted are behavioral changes.
The most significant of the changes comes in the activity diagram, and this as stated earlier falls under behavioral changes that have been made. Also some rules used in execution of UML 1.0 have changed and there is need to know of the rules used in UML 2.0. The build of UML 1.0 focused on a strict build and interpretation to the execution. The rules employed in UML 1.0 cannot therefore be comparable to UML 2.0. A user used to UML 1.0 should thus be wary of the change instituted in UML 2.0, especially when dealing with models that involve concurrency.
In UML 2.0, flow semantics cannot be ignored. The execution of one node has a direct effect on another, different node. To have a node begin execution, certain conditions have to be met. Upon the required conditions being met, the node functions and offers output flows, a time when the downstream begins to execute. In UML 1.0, the nodes available are pseudo states which come with transitions in between themselves, which are specially designed for the modeling of flows.
UML 2.0 also comes with concurrency modeling which allows parallelism unrestricted. In UML 1.0, parallelism is not allowed and it uses a methodical step by step model in performing operations. UML 2.0 thus helps bring a time efficient and swift method of working on things.
Action and control nodes differ when UML 1.0 and UML 2.0 are compared. The two seem to have similar frames when compared at face value, but the semantics that control them are completely different. The model execution in both UML 1.0 and UML 2.0 do not have much difference, especially when the control nodes and the initial and final look are compared.
A new inclusion in UML 2.0 is object nodes. These are nodes that are specifically provided for to indicate an instance of which a particular classifier might be available. This action makes object nodes in UML 2.0 to function as containers that objects of a given type might flow to and from. The object nodes are an inclusion that was not factored in when building of the UML 1.0.
A component in UML 2.0 is specially notated with a class symbol that does not have two rectangles of which define it. Component by definition in UML 2.0 is a structured class which comes with a collaboration of elements in its internal structure. Connectors in UML 2.0 connect different parts. UML 1.0 uses model element subsystem which is a model that comes with an interface.
The sequence diagram in UML 2.0 also slightly differs from that in UML 1.0. One unique thing of the sequence diagram in UML 2.0 is it shows how objects are both created and destroyed. This capability is not available in UML 1.0. In UML 1.0, the loops representing certain conditions were within a given loop condition of which was created within a note. This note was then attached within pending messages that were to be executed. In UML 2.0, a specific loop representation exists. Finally, UML 2.0 offers amazing new capabilities such as loops, branches and conditions.