More Resources

Rational software architect: a tool for domain-specific modeling.


by Leroux, D.^Nally, M.^Hussey, K.
IBM Systems Journal • July-Sept, 2006 •

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


1  2  3  4  5  
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.


Browse by Journal Name:
Today on Entrepreneur

e-Business & Technology
Franchise News
Business Book Sampler
Starting a Business
Sales & Marketing
Growing a Business
E-mail*:
Zip Code*: