The BritishComputerSociety ObjectOrientedProgrammingAndSystemsGroup hosted a presentation by IanWilkie of KennedyCarter regarding their xUML process/products 5 April 2000. Here's an except from the posted agenda: : experience shows that by selecting a semantically tight subset of the UML and augmenting it with a target-independent ActionSpecificationLanguage, a translation-based development strategy is viable. Further, it offers significant benefits over traditional, programmer-centric approaches, not least, the opportunity to test and debug UML specifications prior to cutting any code. I'd guess that ''traditional, programmer-centric approaches'' probably means us. ---- Here's what I learned: xUML is a process built around KennedyCarter's ActionSpecificationLanguage. It involves building two sets of models: : an analysis model of the problem domain in an executable form : a design model containing implementation policies for modeling constructs, patterns, coding standards etc. The analysis model is built from a well-defined subset of the UnifiedModelingLanguage with the addition of action specifications behind class methods and on entry/exit to states. These action specifications are written in ASL, which appears to be a procedural OO language that looks, to me, more like AppleScript than anything else. It is purely procedural, there's no support for pre - and post-conditions or any other form of assertion. The tool will animate these analysis models for V+V. The idea is that you write tests in ASL based on your use-cases. Then you hit the button, and the code generator uses the rules in the design model to implement the analysis model. There are two generations of code generator available: the original yacc/lex family, and newer ones built by constructing an analysis model of the desired code generation process, then using ASL in a design model for code generators to walk over the new code-gen analysis model and use a pre-existing code generator to build your new code generator. Or something like that... ''[See also: RecursiveDesign]'' They seem to be doing reasonably well in the same space that the ShlaerMellorMethod was never able to break out of: SoftRealTime, control, simulation-y sort of things. --KeithBraithwaite The idea of using the UML as a programming language is advanced in this OMG RFP: http://cgi.omg.org/techprocess/meetings/schedule/Action_Semantics_for_UML_RFP.html. These's a description under "RFP issued ... Relevant Documents": skip to section 6. ---- See also: ActionSpecificationLanguage, UnifiedModelingLanguage, RecursiveDesign, ShlaerMellorMethod, ArgoUml, UmlSchema