When the UML resource is loaded, its contents are created in
memory, including Class1, and a proxy is created for the reference to
the role in the WBM model. The first time an attempt is made to access
the implemented interface, the proxy is resolved: the resource
containing the referenced element (resources. XMI) is added to the
resource set, the custom resource implementation is used to convert its
contents to UML elements (the WBM role is converted to a UML interface),
and the proxy is replaced with a reference to the element with the
referenced identifier (i.e., the interface).
FUTURE WORK ON RSA
IBM Rational is continuing to develop and enhance the capabilities
described in this paper for future versions of RSA. One of the key
technologies that will make it easier to add new DSL support to RSA is
currently being developed in open source on eclipse.org under the
Eclipse Graphical Modeling Framework (GMF) project.
Eclipse GMF project
The Eclipse GMF project, as described in the GMF tutorial, (13) has
the goal of providing an open domain-specific graphical modeling
toolkit. Tool developers will be able to use this toolkit to design and
generate a custom graphical modeling tool from an EMF model of a domain.
The toolkit will also be usable to provide extended or custom notation
support for existing metamodels such as UML.
The GMF project consists of two major components. The first is a
runtime component that helps provide a common platform for developing
graphical DSM tools that are extensible and integrated with one another.
The second is a set of tools that will make it easy to create a set of
graphical figures and map them to a domain model expressed in EMF.
The IBM RSA development team is a key contributor to the runtime
components section of the GMF project. Many of the components underlying
RSA 6.0 were donated to the project in order to seed its capabilities
and to help ensure that any modeling editor generated with the GMF tools
or built directly on the GMF runtime will be consistent with RSA's
existing graphical editing capabilities and can be easily integrated
with other GMF-based modeling tools.
RSA enhancements for lightweight metamodel integration
Although the GMF project will go a long way toward simplifying the
process of building domain-specific editors by providing the ability to
define visualizations without requiring the entire domain to be mapped
to UML, there are still many circumstances when the ability to integrate
various metamodels is desired. For example, in the Java modeling example
earlier, one might have built a custom DSM editor for Java instead of
using the visualization and metamodel integration services from RSA.
Although using GMF would allow Java interfaces to be drawn or visualized
on diagrams, it would not have enabled support of the use case where a
new UML class extends an existing Java interface. In other words,
relationships or references across elements from different metamodels
could not be created.
In order to address this, the RSA team is working on a more
lightweight version of visualization and metamodel integration services
that will allow models to be integrated without having to share common
visualizations.
CONCLUSION
As the examples in this paper have demonstrated, the RSA 6.0
product shows significant progress by IBM Rational in supporting the
ability to model in different DSLs. This allows users familiar with a
domain to quickly obtain value from visualizations based on these
models.
In the section "Future work on RSA," we briefly discussed
some new technologies that will make it easier for tool developers,
partners, and advanced customers to develop their own integrated DSM
capabilities.
Several examples, such as the one displayed in Figure 3, illustrate
another key focus in RSA, namely, the integration of DSM capabilities
with general UML modeling and transformations. Because of this
integration, RSA allows the user to enhance domain-specific diagrams by
adding links to use cases, interactions, and collaborations. This
capability increases and supplements the expressive capabilities of the
tool and leverages UML and RSA's rich capabilities, without having
to reproduce them in each DSL.
Accepted for publication February 16, 2006.
CITED REFERENCES AND NOTE
(1.) Unified Modeling Language (UML), Version 1.4.2, ISO/ IEC
19501, International Organization for Standardization, (April 13, 2005),
http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?
CSNUMBER=32620.
(2.) Unified Modeling Language (UML): Superstructure Specification,
Version 2.0, Object Management Group, Inc. (May 7, 2004),
http://www.omg.org/cgi-bin/doc?formal/05-07-04.
(3.) For a list of articles and publications on domain-specific
modeling, see http://www.dsmforum.org/publications. html.
(4.) J. Greenfield, K. Short, S. Cook, S. Kent, and J. Crupie,
Software Factories: Assembling Applications with Patterns, Models,
Frameworks, and Tools, Wiley Publishing, Inc., Hoboken, NJ (2004).
(5.) P. P. Chen, "The Entity-Relationship Model--Toward a
Unified View of Data," ACM Transactions on Database Systems (TODS)
1, No. 1, 9-36 (1976), http://bit.csc.lsu. edu/~chen/pdf/erd.pdf.
(6.) Extensible Markup Language (XML) 1.0 (Third Edition), World
Wide Web Consortium (W3C) Recommendation (February 4, 2004),
http://www.w3.org/TR/REC-xml/.
(7.) XML Schema Part O: Primer Second Edition, World Wide Web
Consortium (W3C) Recommendation (October 28, 2004),
http://www.w3.org/TR/xmlschema-0/.
(8.) E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana,
Web Services Description Language (WSDL) 1.1, World Wide Web Consortium
(W3C) Note (March 15, 2001), http://www.w3.org/TR/wsdl.
(9.) K. Hussey, Getting Started with UML2, eclipse.org (August 4,
2005), http://www.eclipse.org/uml2.
(10.) F. Budinsky, D. Steinberg, E. Merks, R. Ellersick, and T. J.
Grose, Eclipse Modeling Framework, Addison-Wesley, Reading, MA (2004).
(11.) Meta-Object Facility (MOF) 2.0 Core Specification, Object
Management Group, Inc. (March 10, 2004), http://www.
omg.org/cgi-bin/doc?ptc/03-10-04.
(12.) XML Metadata Interchange Specification, Version 2.0.1, Object
Management Group, Inc. (May 5, 2006), http://
www.omg.org/docs/formal/05-05-06.pdf.
(13.) R. C. Gronback, GMF Tutorial, eclipse.org (January 22, 2006),
http://wiki.eclipse.org/index.php/ GMF_Tutorial.
* Trademark, service mark, or registered trademark of International
Business Machines Corporation.
** Trademark, service mark, or registered trademark of Object
Management Group, Incorporated, Sun Microsystems, Incorporated, or the
Eclipse Foundation, Incorporated in the United States, other countries,
or both.
Daniel Leroux
IBM Software Croup, Rational, 770 Palladium Drive, Ottawa, Ontario,
Canada, K2V 1C8 (dleroux@ca.ibm.com). Mr. Leroux is a Senior Technical
Staff Member and senior development manager with IBM Rational Software.
He has been with IBM Rational Software for eight years and has held
various management and development roles for the Rational modeling
family of products. Over the last four years, he has led the
architecture and development of the Rational Software Architect/Modeler
product line.
Martin Nelly
IBM Software Group, Rational, 1090 Katella St, Laguna Beach, CA
92651 (nally@us.ibm.com). Mr. Nally is an IBM Distinguished Engineer who
joined IBM in 1990 with 10 years' prior industry experience. He was
the lead architect and developer for IBM VisualAge/Smalltalk and lead
architect and overall development manager for IBM WebSphere Studio. His
current title is Chief Technical Officer, IBM Rational Software.
Kenneth Hussey
IBM Software Group, Rational, 770 Palladium Drive, Ottawa, Ontario,
Canada, K2V 1C8 (khussey@ca.ibm.com). Mr. Hussey is a senior software
developer for IBM Rational Software. He is a committer (i.e., a
developer with write access to the source code repository) on the EMF
project and lead of the UML2 project, both of which are open-source tool
subprojects at Eclipse.
Figure 9
XMI segment illustrating a UML model with a dependency
on a WBM model element
name="Class1"
clientDependency="_dd3b4DBNEdq_
sa2-mTt1NA">
client="_bV9UMDBNEdq_sa2-mTt1NA">
href="resources.XMI#BLM-df04d4826b07b524c23675
4b558965ac"/>
href="resources.XMI#BLM-df04d4826b07b524c23
6754b558965ac"/>
Figure 10
XMI segment containing a referenced element in a WBM model
COPYRIGHT 2006 All Rights
Reserved. Reproduced with permission of the copyright holder. Further reproduction or distribution is prohibited without permission.
Copyright 2006, Gale Group. All rights
reserved. Gale Group is a Thomson Corporation Company.
NOTE: All illustrations and photos have been removed from this article.