- Name:
Dr. Soon-Kyeong Kim
- Affiliation: ITEE
- Email Address: soon@itee.uq.edu.au
- Room: 78-349
- Phone: 3365 4917
- URL: http://www.itee.uq.edu.au/~soon
- Research Interests:
- Affiliation: ITEE
- Software Engineering, Metamodeling, Model Driven Development, Model Transformation, Transformation language, Modeling Techniques Integration, Formal methods, Design Patterns
- Project Title:
- Developing a graphical editor for deploying pattern properties into design models
- Keywords:
- Model-Driven Development, Design Patterns, Metamodeling, Model Transformation, Graphical Interface, UML
- Units:
- #4 or #8
- Availability:
- 2006, Year long, starting semester 1
- Prerequisites:
- CSSE3002 (or COMP3500), CSSE2003 (or COMP2801/COMP2501), and preferably INFS3202 for XML
- Joint supervisor:
David Carrington
Description:
As part of an ARC discovery project, we propose design patterns as a means to evolve design models in the MDA context. Since design patterns describe solutions for well-known design problems, evolving models based on design patterns seems an effective approach. In our approach, patterns are deployed in a design model by developing a role binding model that maps pattern properties to the design model properties. Once a binding model is developed, an automatic model transformation takes place to evolve the design model into a pattern-deployed design model. Previously, we developed an Eclipse plug-in to support pattern deployment in design models. Currently the plug-in provide a tree-like editor to allow users to bind pattern properties to design models. In this project, we will investigate in developing a graphical editor to support the binding process and the editor will be incorporated into Eclipse as a plugin. The technologies to be investigated in this project includes: Eclipse and several Ellipse plug-ins (such as EMF, GEF, and Tefkat transformation technology), and Java.
- Project Title:
- Deriving testing properties from design patterns
- Keywords:
- Model-Driven Development, Design Patterns, Metamodeling, Model Transformation, Testing
- Units:
- #4 or #8
- Availability:
- 2006, Year long, starting semester 1
- Prerequisites:
- CSSE3002 (or COMP3500), CSSE2003 (or COMP2801/COMP2501), and preferably INFS3202 for XML
- Joint supervisor:
David Carrington
Description:
Design patterns are often used as a means to evolve design models and/or refactor code. Thus, it seems sound to derive testing properties from pattern properties to test the actual pattern deployed models. For example, when a design model is evolved based on patterns, we can use testing properties derived from the patterns to check the validity of the pattern usage in the design model (i.e. whether patterns are deployed in the design model as intended). On the other hand, when a pattern is used to refactor an implementation model (code), we also can use the testing properties to test the implementation model to ensure that the implementation will behave as the patterns intend. In our approach, we define a pattern modeling language based on role concepts and use the language to define patterns. Patters are deployed in a model by binding pattern properties into the model. Since pattern properties are defined in a precise way, we can derive testing properties from the pattern descriptions systematically. In this project, we will explore what properties of each pattern will be interests of testing, how to derive those testing properties from the pattern description, and how to use the testing properties in actual testing. The technologies to be used in this project includes: Eclipse and several Ellipse plug-ins such as EMF, JUnit, and Java
- Project Title:
- Model evolution based on design patterns
- Keywords:
- Model-Driven Development, Design Patterns, Metamodeling, Model Transformation
- Units:
- #4 or #8
- Availability:
- 2006, Year long, starting semester 1
- Prerequisites:
- CSSE3002 (or COMP3500), CSSE2003 (or COMP2801/COMP2501), and preferably INFS3202 for XML
- Joint supervisor:
Description:
In a model-driven development approach such as MDA, software systems are developed via model evolution. A model describing a problem is evolved to a model describing its solution from which code is generated. Problems are identified either from the business domain or during design. Since software design patterns describe solutions that can be used to solve general design problems, problems identified in design models can be readily solved by referencing design patterns. To support this approach, the following problems have to be solved:
-
Patterns must be described in a precise manner. Thus a tool applying patterns can understand the properties of the patterns and a set of transformation rules can be applied to the patterns for model evolution.
-
To use patterns in different applications, patterns must be described in an abstract manner focusing on their essential properties and omitting application-specific information from the pattern description.
-
For modeling to be effective, efficient ways must exist to validate whether patterns are deployed in applications as intended.
To achieve these goals, we have proposed a role-based metamodeling approach to describe patterns. By adopting a meta-modeling approach, our work defines an innovative framework where generic pattern concepts based on roles are precisely defined as a role metamodel, and individual patterns are specified using these generic role concepts in terms of pattern role models. Patterns described in this way are abstract, separating pattern realization information from the pattern description. To support effective model evolution with design patterns, we define a set of properties that must be fulfilled by a design model when it deploys a pattern in terms of role bindings from a pattern role model to a design model. This formal definition provides a precise basis so that the validity of pattern usage in a design model can be checked. Previously we implemented our role metamodel using the Eclipse Modeling Framework (EMF) and developed several Eclipse plug-ins to support pattern deployment into actual models such as UML models or Ecore models. The aim of this project is to test and enhance these prototype tools. In this project, we will also develop a real application that can show benefits of our pattern-based model evolution approach.
- Project Title:
- An MDA approach towards integrating of formal and informal modeling techniques
- Keywords:
- Model-Driven Development, Metamodeling, Model Transformation, Formal techniques, Modeling Techniques Integration, UML, Object-Z, XMI
- Units:
- #4 or #8
- Availability:
- 2006, Year long, starting semester 1
- Prerequisites:
- CSSE3002 (or COMP3500), CSSE2003 (or COMP2801/COMP2501), and preferably INFS3202 for XML
- Joint supervisor:
- Description:
Integration between formal and informal or semi-formal visual modeling (or specification) languages provides many advantages. Integration can make formal methods easier to apply and informal methods more precise, aiming towards “the best of both worlds”. Despite the potential for taking benefits from both types of techniques, the integrated approach is seldom used in practice. Several drawbacks we have identified are: transformations between formal and informal models are often not explicitly defined and there is a lack of tool support for the actual transformation. In order to contribute this area, we use the reusable MDA transformation framework in the area of modeling language integration with Object-Z and UML. For this, we first define Object-Z in terms of a metamodel based on the MOF. Given the metamodels of UML and Object-Z, we then define transformation rules using a transformation language. Previously we have implemented our transformation rules from a subset of UML (mainly Class diagrams) to Object-Z using the Distributed Systems Technology Centre (DSTC)’s transformation language and its Transformation Engine Tefkat under the Eclipse Modeling Framework (EMF) environment. The aim of this project is to extent our transformation rules to other UML diagrams (such as UML State Machines). Also we will implement a tool that presents an Object-Z in XMI using Object-Z's concrete syntax.
- Project Title:
- Transformation between OCL expressions and Object-Z expressions
- Keywords:
-
- Metamodeling, Model Transformation, Formal techniques, Modeling Techniques Integration, UML, Object-Z, OCL, XMI
- Units:
-
- #4 or #8
- Availability:
-
- 2006, Year long, starting semester 1
- Prerequisites:
-
- CSSE3002 (or COMP3500), CSSE2003 (or COMP2801/COMP2501), and preferably INFS3202 for XML
- Joint supervisor:
-
-
- Description:
-
Object Constraint Language (OCL) is a constraint language proposed by OMG to express complex constraints in UML models. As part of our project integrating UML and Object-Z (see the description of the project above), this project will investigate mapping between Object-Z expressions and OCL expressions and a tool support for the mapping. The mapping will take place by using model transformation techniques based on metamodeling and it will be implemented by using the Distributed Systems Technology Centre (DSTC)’s transformation language and its Transformation Engine Tefkat under the Eclipse Modeling Framework (EMF) environment.
