Wednesday, November 25, 2009

Eclipse Modeling Day and AMP Architecture Screencasts

Two posts in one hour! No, this isn't (I hope) a sign of incipient megalomania, but I wanted to make a quick report on my time in Toronto and share the more technical screencasts from my talk there. I'd hate a social scientist to come across these slides and assume that he or she actually had to understand or care about any of this in order to work use the Eclipse Agent Modeling tools. But for those of you who just can't get enough block diagrams, here you go. And actually the AMP architecture and ecosystem is complicated enough that these screencasts might be the best way for interested folks to grok it all. Here are the slides -- and read on below for a quick report on the modeling day itself.







I really had a great time at the conference and I wanted to thank Ian Skerrett and Ed Merks for inviting Ed MacKerrow ("Ed of the south") and me to present at the two days. It was really neat to get a chance to meet so many of the core Eclipse folks in person. If anyone out there is laboring under the mis-apprehension that you need to have some sort of "in" in order to get an Eclipse project rolling, I can prove you wrong. I've met Mike Milinkovich after getting AMP approved but other than that until this weekend I'd never been in the same room with any other Eclipse foundation members or contributors -- at least as far as I know. But I'm confident that my project proposal got exactly the same treatment as anyone else's would have. With Eclipse, it really isn't who you know, but what you have to offer. That said, it was really great to finally get a chance to meet more of the Eclipse tribe face to face.

I'd never heard Ed's spiel on the Unbearable Stupidity of Modeling. This one really deserves a full-length screencast. Ed politely and humorously skewers the modeling naysayers, and a few sacred cows along the way. Personally I think the most prevalent and harmful misconception about modeling is that MDSD == UML. As a "UML everywhere" doubter, I think the attempt to sell universal visual representations as the solution to all software issues has really obscured the power that higher levels of abstraction can bring to the software development process in general.

Speaking of sacred cows, from conversations with Ken Hussey and others I have come to the happy conclusion that I'm not the only one that sees the limitations of thinking of Object-Oriented development as the final paradigm state for all software design. In fact I may be on the trailing edge here. Ken asked about interest in feature modeling and there are some really interesting potential for this in EMF and related technologies. I've been exploring what I've been referring correctly or incorrectly to as "Facet-Based" modeling for some time now. In fact my adoption of model driven software was in part driven by wanting to create a facet based solution that worked, and I couldn't figure out how to do that while wearing the Java API straightjacket. I'm hoping to include Facets / Features in the initial Acore release but that might have to wait for a follow-up release. Im anxious to see what the EMF folks come up with because their patterns could really inform this aspect of Acore design as the existing patterns have.

I had the pleasure of chatting with the build tools guys during the B3 session and later around beers -- really the best atmosphere in which to discuss builds! Ed said it best at the B3 talk, but builds are sort of the ultimate thankless role in any software ecosystem, when we couldn't do anything without them. When they don't work, I'm up a creek, but when they do I feel like king of the world. There is nothing like pushing the commit build and knowing that I'll have all of my tests run and a perfect install on my update site without any further intervention. So thanks guys. The B3 stuff looks really exciting by the way.

One more talk I have to mention -- Moritz Eysholdt gave a really neat demo of how to integrate Graphical and Textual modeling approaches. I'm just finishing work on a visual editor and simultaneously a domain language for ABM so I have a good feeling for the challenges involved. (I used Zest and GEF for the visual aspects and for my usage I found the visual and text representations to be too orthogonal to have much commonality, but that's a topic for another day.) Integration across visual and textual representations is a hugely important area, and the Xtext team has made a lot of progress getting it working in a seamless and straightforward way. Actually, getting anything to work seamlessly with..hmm...I better just not go there. So sticking to helpful comments only, cheers to Moritz and the Xtext team for a great effort and a nice balance of high-level overview with technical details, a balance I am still striving to attain. With that in mind I'd appreciate any feedback or ideas for improvement on future screencasts.

Twitter