Model-Driven Development Tool for Parallel Applications
A tool that extends UML (Unified Modeling Language) modeling, generates parallel code from the UML model, and supports concurrent patterns for multi–core environments.
Date Posted: November 1, 2007
|
|
 |
 |
What is Model-Driven Development Tool for Parallel Applications?
Multi-core processor technologies have become pervasive and mainstream. Several types of multi-core CPUs, including symmetric and asymmetric models, are in the market. On these platforms, developing applications that truly take advantage of the power of multi-core capabilities is still a complex, error-prone, and challenging endeavor. Recent advances in parallel computing algorithms and concurrent patterns such as map/reduce, pipeline, and fork/join can help simplify development. However, given the rapid evolution of multi-core models, implementing such a pattern directly onto a multi-core platform is difficult.
Model-Driven Development Tool for Parallel Applications addresses some of these problems. With it, developers can design and generate applications for multi-core systems. Key features include
- extension of familiar UML (Unified Modeling Language) modeling for parallel environments
- generation of parallel code from the UML model
- support for out-of-the-box concurrent patterns such as master/worker, map/reduce and pipeline-to-model applications.
How does it work? The process of using this tool to develop a parrallel application can be divided into five steps:
- A pattern developer creates new concurrent patterns with the tool.
- A C++ developer creates one or more serial computing kernels.
- An application developer chooses one or more concurrency patterns.
- Serial computing kernels are "dropped" into the pattern instances.
- Patterns are transformed to hardware specific executable C++ program.
Developers can adjust the behavior of the generated program using a task flow diagram. A task flow diagram is a specialized activity diagram that is generated when developers run the transformation for the first time. Using the UML activity diagram editor, developers can adjust the behavior of the pattern instance.
|
|
 |

|  | About the technology author(s):
| Raja Das is a software architect in IBM's® Software Group. Currently, he is developing libraries and frameworks for multicore/manycore systems. Previously, he was the WebSphere® Partner Gateway product architect. Mr. Das's interests include programming languages, parallel software, and systems.
|
Zhi Gan, a software engineer at IBM's China Development Lab, joined IBM after receiving a Ph.D. in computer security from Shanghai JiaoTong University. Mr. Gan has extensive experience in SOA (service-oriented architecture), AOP (aspect-oriented programming), and Eclipse. His current focus is mainly on model-driven development with patterns.
|
Yao Qi is a software engineer at IBM's China Emerging Technology Institute, China Development Lab. He joined IBM in 2006. Mr. Qi has experience in compiler, debugger, and open-source development and is currently working on a run-time analysis tool. Mr. Qi holds a master's degree in computer science from Beijing Institute of Technology, Beijing, China.
|
| Mo Jiong Qiu, who joined IBM in 2007, is a software engineer at IBM's China Emerging Technology Institute, China Development Lab. Mr. Qiu has extensive experience in virtualization, parallel program, and open source development. He holds a master's degree in computer science from Peking university, Beijing, China.
|
Xiao Jun Dai, a software engineer at IBM's China Development Lab, joined IBM after receiving an M.D. in computer science from Institute of Software, Chinese Academy of Sciences. He has extensive experience in agile methodology and programming languages. Mr. Dai's current focus is mainly on concurrent programming and multi-core platform.
|
IBM and WebSphere are trademarks of IBM Corporation in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
| |
|
View screenshots:
 |
| |