Yep, I'm thinking something similar.

Will take a look at capableobjects, but think I'll make plantuml my main
focus. Perhaps you could see what the plantunl/xtext/Eclipse story is, and
whether it fits your desired work flow .

Cheers,
Dan
On 14 Nov 2015 17:23, "Óscar Bou - GOVERTIS" <[email protected]> wrote:

> Really nice to hear is your full circle, Dan :)
>
> Mine also.
> I started all this by using the excellent Bold for Delphi components, now
> Capable Objects MDriven Framework [1].
> It was wonderful to design in Rational Rose your entities, including
> constraints in OCL, and after that generate the code, reverse engineer and
> use OCL as the query language to traverse the domain relationships.
> Please, take a critical look at [1], as it was the only MDA-like
> implementation I know that really works.
> I have a customer system running on it for 8 years without nearly any
> maitenance …
> Many ideas like ViewModels, etc. are also present there, but its
> implementation is .NET based.
>
>
> You’ve cited many solutions, including really agile ones that seem
> interesting, specially plantuml.
> For me, initially seems hard to implement the full code generation &
> reverse engineering cycle for a codebase, but seems you think it’s feasible
> by putting those solutions together.
> Love the idea to generate it from the meta-model, but perhaps some
> “exception” might be done to include some @Programmatic actions.
>
> Seems plantuml is quite extended, so any visual editor based on
> drag-n-drop must exist out there (critical aspect for me; I think better
> visually ;).
>
>
> Really love also your idea about automatically generating sequence
> diagrams from Events derived from actions executed while testing using BDD.
> Each sequence task can be inferred from each BDD “step” executed, and the
> wrapped actions will generate events that can be subscribed to.
> So I envision it visually depicted as each BDD step being a “group” of
> action calls under a UML comment.
>
> Are you thinking about something similar?
>
>
> Cheers,
>
> Oscar
>
>
>
> [1] http://www.capableobjects.com
>
>
>
> > El 14 nov 2015, a las 17:24, Dan Haywood <[email protected]>
> escribió:
> >
> > On 13 November 2015 at 09:45, Óscar Bou - GOVERTIS <[email protected]>
> > wrote:
> >
> >>
> >> Hi all.
> >>
> >> I’m considering re-introducing UML Class diagrams in our workflow mainly
> >> for:
> >> - graphically design the domain entities.
> >> - modeling relationships.
> >> - agree with names of properties, collections and actions needed.
> >>
> >> It would be wonderful if the UML solution could also be “integrated”
> with
> >> Apache Isis or Java, automating at least the entities Java skeleton
> >> generation.
> >>
> >>
> > This is full circle for me... I wrote a book on TogetherJ back around
> 2002;
> > and it was at that time that I first met Richard (Pawson) and Rob
> > (Matthews) presenting the Naked Objects at an OO conference in Oxford.
> > TogetherJ provided design-time synchronicity between the UML class
> diagram
> > and the code, while Naked Objects provided run-time synchronicity between
> > the code and the UI.  In the original Naked Objects book you'll see some
> > screenshots from the app that I wrote during that all-afternoon workshop.
> >
> > But I've never found a tool that was as good as TogetherJ (may it rest in
> > peace) at doing the design-time synchronicity .  I did think that Omondo
> > [2] would fit the bill, but last time I tried it (many years ago) it
> didn't
> > work as seamlessly as I wanted.  I haven't looked again for a while.
> >
> >
> >
> >
> >
> >> I’ve worked extensively with Rational Rose and Sparx
> EnterpriseArchitect,
> >> but was thinking about an Eclipse-based solution that could
> “potentially”
> >> be adapted to generate the Java entities with Isis annotations.
> >>
> >>
> >
> > A different approach might be to build a round-tripping tool from a
> simple
> > DSL such as plantuml [3] or graphviz,[4]. I like these "low-fidelity"
> > diagramming notations for several reasons:
> > a) they are fast to work with
> > b) their lack of UI features means that the temptation to waste time
> > fiddling with the layout is much reduced
> > c) they don't really scale to large diagrams.  I see this as a benefit
> > because (i) one must focus them to a single module within an app and (ii)
> > it limits that module's size to no more than 10 classes or so.
> >
> > What's interesting to me is that both of these DSLs are understood by
> > asciidoctor-diagram [5]; we of course use asciidoctor for the Isis
> > documentation; so there's the possibility of generating the diagrams
> easily.
> >
> > Moreover, there are also integrations of both plantuml and graphviz with
> > xtext, meaning that one can take a plantuml diagram and visualize it in
> > Eclipse.  A quick google threw up [6]
> >
> > Presumably also there is some sort of metamodel within these tools that
> > could be leveraged.  I'm thinking that this could be fed into a code
> > generator to create Isis entities.
> >
> > This raises the question, what sort of code generator?  Well,
> > coincidentally, I've actually started building such a code generator,
> > isis-cli [7]; a la Grails / Spring Roo / JHipster.  It would be kinda
> cool
> > to be able to pipe from a file containing plantuml to the isis-cli, and
> > have it create/update Java classes with appropriate Isis annotations.
> >
> > ~~~
> > Going the other way, we could also have update the maven-isis-plugin so
> > that it could generate plantuml diagrams based on an Isis metamodel; this
> > could then be fed into Asciidoctor in order to generate documentation
> from
> > the code.
> >
> >
> >
> >
> >> Before joining the Apache Isis community I developed [1] for Enterprise
> >> Architect for automatically generating Spring Roo-based classes, but
> Isis
> >> was better suited for our project and I abandoned it.
> >>
> >>
> >> Any ideas?
> >>
> >>
> >
> > I have a related idea on all this, which ties in with BDD stuff, namely
> > that (via the wrapperfactory) the test framework could emit a transcript
> of
> > a user interaction.  Rob Matthews actually did this originally many years
> > ago in the first Naked Objects book, which shows how far ahead of its
> time
> > some of those original ideas were.  We should probably resurrect this.
> >
> > But we could go further, because we could also, I think, emit plantuml
> > sequence diagrams [8] for such BDD spec/integration tests.
> >
> > I know you've done lots of BDD tests, so interested in your thoughts on
> > that.
> > .
> > Cheers
> > Dan
> >
> >
> >
> >
> >> Thanks,
> >>
> >> Oscar
> >>
> >>
> >> [1] http://roomodeler.com
> >>
> >>
> >>
> > [2] http://uml2.org/livecodemodel.html
> > [2] http://jankoehnlein.github.io/FXDiagram/
> > [3] http://plantuml.com/classes.html
> > [4] http://www.graphviz.org/
> > [5] http://asciidoctor.org/docs/asciidoctor-diagram/
> > [6] https://borisdevnotes.wordpress.com/2013/12/09/xtextplantuml/
> > [7] https://github.com/danhaywood/isis-cli
> > [8] http://plantuml.com/sequence.html
>
>

Reply via email to