UML tools model systems in terms of a huge set of OO primitives, BON tool(s) in terms of objects and contracts, but what would a tool for modeling in terms of home-made pattern languages look like? Some of the features might be: * Basic features of a graph-editing tool. Let you arrange things how you like, move things around, etc. * Focused on informal communication and making sense of things. Not a thousand pages of fine details for interacting with code generation tools etc. * Integration with a pattern repository (eg Wiki). * Ability to assign different shapes to important patterns. * Fairly free-form, as few rules as possible. * ??? ---- As an object-oriented programmer, I've been guilty of finding UML occasionally useful for documenting and making sense of object relationships. I like to be able to look at an aspect of a design and think "yes, that's obviously sensible", and sometimes looking at a diagram makes that much easier for me. I'm not an object-oriented programmer anymore, but I do still like piccies. Classes, objects, aggregations, processes, modules, ...., TheyreAllPatternsAnyway, so why not just have a simple tool for organising them. Instead of expressing my diagrams in terms of the UML metamodel, I'll express them as a system of patterns from the pattern language that seems most appropriate for my problem. For example, in modeling an Erlang system I might want the following "Pattern[: participants]" language: * Supervision: supervisor, workers * Server * Event channel: manager, handlers Which is enough to let me look at a design I'm dealing with now and make sense of it more easily. It's a fairly small and informal sort of system, but those patterns have well defined semantics and can tell me a lot about what's going on - so small simple diagrams convey all the meaning I need. Additions like "one-for-all" or "one-for-one" properties in supervisors could optionally be added to make the diagram more precise if that seemed appropriate. These things are okay to draw on paper, but today I feel like I'd like to have a tool to help. I wonder if a tool could be built that is to describing (discovering?) pattern-based systems what Wiki is to discussing patterns. -- LukeGorrie Doesn't the TogetherJ tool provide some sort of support for the Gof patterns? Has anybody here used it? I did have a play with the Whiteboard edition of TogetherJ a little while ago, and I do believe it had a repository for commonly used designs and you could create new projects based upon these designs. --StuartBarker Strike that, just had a scan of the TogetherJ website (www.togetherj.com) and couldn't find anything about it. --SB