Printer Friendly
The Free Library
14,529,525 articles and books
Member login
User name  
Password 
 
Join us Forgot password?

UML 2.0 -- a major revision of the industries de facto software modelling language. (Technote -- Software Intelligence).


Over the past 5 years the Unified Modelling Language (UML (Unified Modeling Language) An object-oriented analysis and design language from the Object Management Group (OMG). Many design methodologies for describing object-oriented systems were developed in the late 1980s. ) has been growing in popularity and I have seen it dramatically improve the effectiveness of client's software development. The UML is a graphical language Graphical language is an emergent concept. Language in any form, whether spoken, written (that is, the counterpart of a spoken language), or graphically manifested, is a system of communication and reasoning using representation, metaphor, logical grammar and symbolic expression.  for specifying, visualizing, constructing and documenting the artefacts of software systems. It represents a collection of the best engineering practices proven successful in modelling large and complex systems. The language is used to model software systems prior to construction, as a method of automating the production of software, improve quality, reduce cost, and time-to-market. It can also be used to solve recurring architectural problems such as physical distribution, concurrency Operations that are performed simultaneously within the computer. For example, dual-core CPUs provide complete overlapping of two independent processes. See dual core, hyperthreading, multiprocessing, multitasking, multithreading, SMP and MPP.

concurrency - multitasking
, replication, security, load balancing The fine tuning of a computer system, network or disk subsystem in order to more evenly distribute the data and/or processing across available resources. For example, in clustering, load balancing might distribute the incoming transactions evenly to all servers, or it might redirect them , and fault tolerance See fault tolerant.

(architecture) fault tolerance - 1. The ability of a system or component to continue normal operation despite the presence of hardware or software faults. This often involves some degree of redundancy.

2.
.

The UML notation is derived from and unifies the notations of three object-oriented design Transforming an object-oriented model into the specifications required to create the system. Moving from object-oriented analysis to object-oriented design is accomplished by expanding the model into more and more detail.  and analysis methodologies..

* Grady Booch's methodology for describing a set of objects and their relationships

* James Rumbaugh's Object-Modelling Technique (OMT (Object Modeling Technique) An object-oriented analysis and design method developed by James Rumbaugh. See Rational Rose.

OMT - Object Modelling Technique
)

* Ivar Jacobson's approach, which includes a use case methodology

The UML standard was adopted by the OMG (1) See Object Management Group.

(2) "Oh my God!" See digispeak.

OMG - Object Management Group
 in November 1997 as UML 1.1. Since then it has undergone a number of minor revisions - the most recent of these is UML 1.4, which was adopted in May 2001. The next major revision is UML 2.0, which is scheduled for completion early in 2003.

Why then is UML so important? As software architectures grow in size and complexity so does the need for software models. UML is currently the software industry's dominant modelling language. In fact, it is true to say that it is difficult to find a software project with more than 10 developers who do not use UML in some way to specify their architecture. UML has enormous growth potential. The evolution of methods to automate code generation, and reduce the chasm between design and implementation, is a very exciting area. However, there is still a long way to go before this is refined for all languages, but this must only be a matter of time.

Moreover, the first version of the language has been showing signs of stress and age. Problems that I regularly encounter regarding UML 1.x include excessive size, gratuitous Bestowed or granted without consideration or exchange for something of value.

The term gratuitous is applied to deeds, bailments, and other contractual agreements.
 complexity, imprecise im·pre·cise  
adj.
Not precise.



impre·cisely adv.
 semantics, limited customisability, non-standard implementations and the inability to interchange model diagrams.

It is also not surprising that UML shows the effects of age. Five years is a long time in the software industry, especially if we consider the evolution of 00 to component-based technologies such as J2EE (Java 2 Platform, Enterprise Edition) A platform from Sun for building distributed enterprise applications. J2EE services are performed in the middle tier between the user's machine and the enterprise's databases and legacy information systems.  and NET.

The OMG 4-Layer Metadata Architecture

In order to more effectively convey the message about the path of UML it is important to understand the architecture that the UMG UMG Universal Music Group
UMG Universidad Mariano Gálvez de Guatemala (Mariano Galvez University of Guatemala)
UMG Upgraded Metallurgical Grade (silicon)
UMG Unlicensed Medical Graduate
 has chosen for its standards. The architecture has four layers, called MO, MI, M2 and M3.

M2, the 'metamodel level', is the level where the UML metamodel is defined. This refers to the concepts used by the modeller, such as Class, Attribute, Message, etc.

M3, the 'metametamodel level' is the top level, which is an instance of itself (known as the Metametamodel). We will not worry about this too much for the purposes of this article.

M1, the' model level' is the level where the UML models live (those that are developed by UML modellers).

MO, the 'user object level', is the level where the actual runtime objects reside.

Language Structure

Structuring a language revision is always a risky business. Revising a language can often introduce as many problems as it attempts to solve. In particular the number of individuals and organisations involved in the current process could cause the language revision to lose focus and become overcomplicated. Ideas and frills Frills

see frilled.
 that may have been cautiously sidetracked in the initial version may creep into the language. This is clearly a concern for the, OMG and one that they have been diligently guarding against. At this stage it may be pertinent to describe a little of the process that they are going through. With the UML 2.0 revision, the OMG has separated the topics into 4 areas and issued 4 separate Requests for Proposals (RFPs). The areas are Diagram Interchange, Object Constraint Language (language) Object Constraint Language - (OCL) A formal specification language extension to UML. The Object Constraint Language is a precise text language that provides constraint and object query expressions on an object-oriented model that cannot otherwise be expressed by  (OCL (language) OCL - 1. Operator Control Language.

2. Object Constraint Language.
), Infrastructure, and Superstructure superstructure /su·per·struc·ture/ (soo´per-struk?chur) the overlying or visible portion of a structure.

su·per·struc·ture
n.
A structure above the surface.
.

Diagram Interchange refers to the diagrams and constructs which are being reviewed and revised. Current standards will be refined, retired or deprecated See deprecate.

deprecated - Said of a program or feature that is considered obsolescent and in the process of being phased out, usually in favour of a specified replacement. Deprecated features can, unfortunately, linger on for many years.
 as is felt appropriate.

The Object Constraint Language will be fully revised, with OCL 2.0 to be defined.

Infrastructure revision is concerned with reviewing the basic constructs and improving scope for customising the language. This will most likely not directly affect most modellers. The changes will affect tool builders and methodologists who create their own extensions to UML.

The Superstructure revision focuses on issues that directly affect the UML modeller. Vague areas of UML will be cleaned up and many extensions will be added. Particular attention is being paid to improving the support for more advanced constructs such as components and interactions. I shall focus on Infrastructure and Superstructure. In my opinion it is these areas that have the greatest potential to improve the efficiency and usability of the language.

Goals

The main goals of the UML 2.0 revisions are to restructure and refine the language to make it easier to apply, implement and customise. This should assist developers with increasing precision, and practicing reuse. These goals of the infrastructure revision include the definition of a 'metalanguage' kernel, the provision of more powerful mechanisms to customise UML, and provision for the definition of language dialects.

The concept of a language kernel derives from the reality that one fifth of the UML is currently used to describe four fifths of the common software problems. The definition of such a kernel would make the UML significantly easier to learn and more importantly more straightforward to implement. A basic kernel would be used in conjunction with a mature profile mechanism to handle the more advanced features of the language (essentially that remaining four fifths). This could allow significant customisation of the language (some refer to this as the definition of 'language dialects'), so that it can be tailored for different domains (such as financial services The examples and perspective in this article or section may not represent a worldwide view of the subject.
Please [ improve this article] or discuss the issue on the talk page.
, telecommunications etc.). I'm certain that in my area - aerospace and defence - this work could yield great value. In addition tailoring could take place for specific platforms, such as J2EE and .NET.

The creation of a language kernel is essentially an effort to simplify things on the metamodel level. In addition to this there is substantial work on cleaning up the UML metamodel by adding abstractions and removing programming language specific (e.g. C++) structures. Inconsistencies will be addressed with a 'purer UML' being the result.

There is also an effort to improve extensibility. The current mechanism is limited and not well defined. UML 2.0 is likely to include a lightweight mechanism, which can be used at the model level (M1) and a heavyweight mechanism that can be used at the metamodel level (M2).

The goals of the superstructure revision are many and of real significance. There are areas which will become particularly relevant in the Military/Aerospace arena in which my company and I are extensively involved. The enhanced support for Real-Time development is a particular highlight. State machines are to be updated to make them more scalable and easy to generalise v. 1. same as generalize.

Verb 1. generalise - speak or write in generalities
generalize

mouth, speak, talk, verbalise, verbalize, utter - express in speech; "She talks a lot of nonsense"; "This depressed patient does not verbalize"
, and able to support a transition- centric view. More interesting to the wider software community is the specification of both platform-independent components (e.g., business components) and platform-specific components (e.g., BIB, COM (1) (Computer Output Microfilm) Creating microfilm or microfiche from the computer. A COM machine receives print-image output from the computer either online or via tape or disk and creates a film image of each page. +). Currently the UML includes the concept of a component, but this is a rather naive notion. Efforts have been made to use subsystems and/or classes to model software components, but the results are not really satisfying.

In the current specification of UML, Component models and architectural frameworks, such as Enterprise JavaBeans See EJB.

(specification, business, programming) Enterprise JavaBeans - (EJB) A server-side component architecture for writing reusable business logic and portable enterprise applications. EJB is the basis of Sun's Java 2 Platform, Enterprise Edition (J2EE).
, CORBA (Common Object Request Broker Architecture) A software-based interface from the Object Management Group (OMG) that allows software modules (objects) to communicate with each other no matter where they are located on a private network or the global  Component Model and COM+ cannot be modelled easily. Complex frameworks and patterns are difficult to express in UML. There are a number of clearly identified and well-known weaknesses in this area:

* It is not possible to specify plug-substitutability of components.

* The notion of interface is rather weak. This is particularly so when attempting to describe interactions between interfaces and the specifying outgoing signals and messages.

* Specifying the requirements a component places on its environment is not made possible.

Business Process modelling is due to receive greater support under the new 2.0 standard. The revision of activity diagrams In the Unified Modeling Language, an activity diagram represents the business and operational step-by-step workflows of components in a system. An activity diagram shows the overall flow of control.  is due to support more flexible parallelism An overlapping of processing, input/output (I/O) or both.

1. parallelism - parallel processing.
2. (parallel) parallelism - The maximum number of independent subtasks in a given task at a given point in its execution. E.g.
 and furnish more I/O (Input/Output) The transfer of data between the CPU and a peripheral device. Every transfer is an output from one device and an input to another. See PC input/output.

I/O - Input/Output
 options. The connection between activity diagrams and other diagrams are currently badly defined. There are also real limitations to their scope for expressing complex systems.

There are a number of other areas of interest, which I will paraphrase below:

In structural modelling there is an issue with the overlap between the nations of Type, Class, Interface and Role as used in collaboration diagrams.

It is not currently possible for architects to be able to model

object and data flows between entities at a high level of granularity, such as with packages and subsystems.

The current sequence and collaboration diagram notation offers little help with the structuring of specifications using sequence diagrams. It is not currently possible to decompose de·com·pose  
v. de·com·posed, de·com·pos·ing, de·com·pos·es

v.tr.
1. To separate into components or basic elements.

2. To cause to rot.

v.intr.
1.
 or combine sequence and collaboration diagrams. Modellers cannot reference one sequence diagram from another.

I could mention a number of other areas in which improvements are due to be made. Different organisations will have their own slant on things and their own set of priorities. The above-mentioned list are, I feel, a fair representation of the areas being addressed.

I think it would be inappropriate to dwell too much on some of the diagrams we will see in 2.0. Required and provided interfaces (see fig.3) seem to me to have roots in the HOOD (Hierarchical Object Orientated See object technology and object-oriented programming.  Design) methodology.

Summary

Debates are currently raging over the effects of the next step of evolution for UML. Will it provide an even more effective language to unite software developers in expressing their systems, or will the language become far too awkward for practical usage by most developers? I believe that the OMG have been cautious in their process to achieve balanced moderation. The design by committee effect is a well-known and well-understood phenomenon, which I am convinced has been sufficiently mitigated against. A lot rests on this revision for the UML both for the OMG, and the member companies. 1 have long believed that it is a language that is here to stay, and one that will develop as new technologies evolve. I am excited about eventual standard and its effect an the industry.

Editorial Note:

Andrew Bissell, Managing Director of training and consultancy company, Objektum (www.objektum.com) has been involved in the introduction of a large number of companies to the UML over the past three years. In an effort to get more involved with the definition of the language Objektum has become a member of the 0MG. The Object Management Group (OMG) is a non-profit consortium that produces and maintains computer industry specifications such as UML and CORBA. The membership list includes virtually every large company in the computer industry, and hundreds of smaller ones. Objektum will play a role in helping to define the currently evolving standards of UML 2.0, and Model Driven Architecture (MDA (1) (Monochrome Display Adapter) The first IBM PC monochrome video display standard for text. Due to its lack of graphics, MDA cards were often replaced with Hercules cards, which provided both text and graphics. See PC display modes and Hercules Graphics. ). The vision embodied by MDA is an architecture that supports interoperability between specifications that address integration through the entire systems life cycle: from analysis and design of processes and information to system design, to component construction, to assembly, integration, deployment, management, and e volution.

Objektum specialises in training for the Defence and Aerospace industry. It is the only OMG listed training and consultancy company in the UK.
COPYRIGHT 2003 A.P. Publications Ltd.
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2003, Gale Group. All rights reserved. Gale Group is a Thomson Corporation Company.

 Reader Opinion

Title:

Comment:



 

Article Details
Printer friendly Cite/link Email Feedback
Title Annotation:Unified Modelling Language
Author:Bissell, Andrew
Publication:Software World
Geographic Code:1USA
Date:Jan 1, 2003
Words:1928
Previous Article:DataDirect jXTransformer. (Tools).
Next Article:Ontology progress. (Monograph - Software Intelligence).(knowledge management; European Union 's Information Society Technologies program)
Topics:



Related Articles
Platform Technology Committee (PTC) Standards Efforts.(Brief Article)
Rhapsody 4.0. (Management News).(Brief Article)(Product Announcement)
I-Logix ships rhapsody 4. (Tools).(Product Announcement)
Imporved UML. (Software Tools).
Agile Modeling: Effective Practices for extreme Programming and the Unified Process. (Reviewers Choice).
Large-Scale Software Architecture A Practical Guide Using UML. (Book Browser).(Book Review)(Brief Review)
PowerDesigner 8.0 design tool.(News and Products)
OMG endorses model driven architecture.(IT News)
Reviewer 2.0 aids bug-free development.(Products)
Software World Editorial Index 2003.(Software World--Intelligence)

Terms of use | Copyright © 2009 Farlex, Inc. | Feedback | For webmasters | Submit articles