IBM SRG CAS 2010-04
Research Progress on Last Year's Plan including
- Describe the general results. Has anything changed from what was proposed to do last year? If so, please describe and explain why.
- How has the interaction with IBM development helped enhance the funded student's thesis progress?
- Have any prototypes been developed
The IBM strategic research grant was set up for two main purposes
- To demonstrate that an implementation decisions of the Model/Analyzer approach would not stand in the way of future commercialization in IBM products
- To demonstrate that the principles of the Model/Analyzer approach could be applied to multi-user support in context of Jazz/CAM where multiple engineers work together on a single project.
As was reported just a few weeks back to Dan Leroux, Alan Yeung (IBM Ottawa), and Alex Lau (IBM Toronto), we were able to demonstrate just that.
In context of the OCL language for defining UML consistency rules in IBM RSA, we demonstrated that it is possible to eliminate the model profiler infrastructure which listens to read events on the UML data structure to understand the impact of change onto consistency rules. This was done by instrumenting the OCL interpreter. While the new solutions is equal to the old one in terms of its usability for consistency checking, the instrumentation of the OCL interpreter has the advantage that the basic IBM UML data structure (currently in EMF, ECORE) does not need to change. This avoids potential memory problems and unnecessary, tight integration issues. The downside is that this instrumentation has to be done for every consistency rule language separately but this limitation appears acceptable to IBM project leaders. This work required the adaptation of the standard OCL interpreter tool.
In context of Jazz/CAM, we demonstrated that is was possible to split the Model/Analyzer tool which we previously developed as a plug-in to the stand-alone IBM RSA modeling tool, into a client and server portion. The client portion, running on IBM RSA depicts forwards model changes to the server and receives inconsistency feedback from the server if applicable. As a proof of concept, we kept the server quite simple. It supports a single project only and maintains a single, public modeling workspace for all clients (i.e., all connected clients manipulate the same model). This initial proof of concept was a very useful starting point to investigate in what manners engineers might want to work together. This work then became the foundation for the fellowship proposal submitted recently and was the basis for a half-day meeting with Dan Leroux and Alan Young to discuss the future role and purpose of IBM development tools and Jazz/CAM in particular. This meeting revealed that the issues we identified should indeed be the foundation for future research – the fellowship has the goal to resolve exactly these issues.
In addition to what we had promised to do, we also managed to do a few additional things. We much improved the GUI of the Model/Analyzer such that consistency rules and their evaluation can now be visualized graphically and there are much more sophisticated navigation options for locating relevant inconsistencies. Furthermore, we also investigated the memory/performance trade off during consistency checking- something that likely will become an important foundation for Jazz/CAM optimizations to deal with large user groups, models, and model contents. The optimization essentially trades off memory with performance and leads to several orders of magnitude performance gains.
It should be noted that the IBM Strategic Research Grant was a small grant that was equivalent to funding a doctoral student for roughly 12 weeks based on Austrian labor costs. Clearly, this funding would not have been sufficient to explore all these issues. However, we also leveraged from synergies with a basic research grant and its staff. The combined lessons learned formed the basis for a follow-on project: an IBM CAS fellowship project recently submitted.
List all students who contributed to this project, including those supported through leveraged funds:
- Sebastian Wilms
- Andreas Gruber
- Alexander Reder
Funding Contributions from Other Sources(Were the funds leveraged or have you applied for leveraged funding?):
We strongly leveraged from a grant awarded by the Austrian National Research Fund which investigates “Inconsistencies and their Impact on Software Design Models,” funded by the Austrian FWF under agreement P21321-N15. This grant investigates the very basic foundation of consistency checking – however, from the perspective of single user. Nonetheless, many of the underlying principles and foundations are applicable in both context and, for example, the IBM strategic research grant merely needed to separate the already fully developed incremental, single-user consistency checker into a client and server portion. This leveraging benefited both projects and we foresee similar synergies with the upcoming fellowship proposal
We already acknowledged the IBM strategic research grant in two papers we submitted recently. Since the grant was awarded only a few months ago and the papers were written and submitted recently, they are not yet published. These papers are:
“Improving the Scalability and Usability of Incremental Error Detection in Design Models” submitted to FASE 2011 together with Alexander Reder
“Identifying the Core Model Elements for Fixing Inconsistencies in Software Models” to be submitted together with Alexander Reder and Sebastian Wilms
We also gave several invited presentations and quite many formal and informal demos where we also acknowledged this IBM support, including an invited talk at the University of Waterloo in Canada. In addition, the strategic research grant is still influencing several ongoing activities in our institute and continues to influence our work. Hence, more publications will follow.
Internally, within the IBM, we were able to convince three projects of the relevance of this work and its strong chance of commercialization, including IBM RSA (Dan Leroux), Jazz/CAM (Alan Yeung and James Conallen), and BITKit (Harold Ossher at IBM Watson). All four IBMer expressed their strong support for this line of research. Overall, I believe we managed a good start and I am looking forward to further collaboration.