Question: Does PBE have a pattern representation that is portable to other than Eclipse-based tools? For example, being able to use a pattern in both MS Visual Studio and Eclipse.
Answer: A good place to start is to keep in mind that PBE can be performed without any tools at all. We can use just pattern specifications and don’t worry about any automation or how patterns surface in any particular tool. Having said that – being able to leverage tooling – either to model the use of patterns, or to create and use automated versions of patterns (pattern implementations) can deliver benefits boosting productivity, quality and governance.
For modeling the use of patterns – we can use UML as one approach. We have some coverage of how to model pattern definitions and pattern instantiations on the PBE website at:
Modeling Patterns, Part 1: What should we model? (http://bit.ly/b5S1DU)
Modeling Patterns, Part 2: Modeling Pattern Definitions (http://bit.ly/d1cTnf)
Modeling Patterns, Part 3: Pattern Instantiations (http://bit.ly/c5rlJw)
With these approaches, you should be able to take a step beyond just pattern specs and better leverage the use of patterns in your solution. This will work with any tool that adheres to the UML specification.
The next step would be to look at the use of Pattern Implementations – the story is not where we would like it to be. Right now, when you build a pattern implementation on a specific platform (Eclipse, Visual Studio, AndroMDA, etc) – you are not able to reuse that code on other platforms. There are no standards in place yet for how a pattern is automated. There’s some interesting research happening on the best way to automate pattern creation – but I’ve not yet seen anything focused on a cross platform, industry standard approach to doing so.
One bit of solace can come from the fact that the hardest part in creating a pattern implementation is identifying and detailing the best practice solution. The automation of the pattern is usually quite simple (and mechanical) once you have the essence of the pattern in hand.
About the Author
Lee Ackerman is a Master Certified IT Specialist at IBM and has extensive experience with patterns, model-driven development, patterns-based engineering, XML, data and SOA. He has spent the past few years helping IBM Rational build its Patterns-Based Engineering approach and offerings. He writes and presents extensively on these topics.