Early-Bird booking for Code Generation 2008 closes in one week

Blogged under Code Generation, Product Lines, Software by Mark Dalgarno on Monday 24 March 2008 at 11:59 pm

Save up to 20% on conference fees by making sure you book for Code Generation 2008 by 31st March.

You can’t say you weren’t warned :-)

Unless you read this afterwards of course…

Domain-Specific Development at SPA2008

Blogged under Code Generation, Product Lines, Software by Mark Dalgarno on Saturday 22 March 2008 at 9:58 am

At the SPA conference on Monday I took part in two sessions and one BoF on Domain-Specific languages.

First up was Juha-Pekka Tolvanen with a 150 minute tutorial on Domain-Specific Modelling for Full Code Generation.

This session was pretty wide-ranging beginning with the motivation for using DSM, differences between Domain-Specific Languages and conventional programming languages and conventional modelling languages like UML (according to JPT most UML constructs don’t raise the level of abstraction).

Benefits of DSM were presented with supporting case studies – 5 times faster to develop applications in one case, 3 times faster in another case, 10 times faster in another case. An increase in application quality is also commonly found.

JPT also described different roles on a DSM project – with experienced domain developers designing and creating the DSLs and Generator(s) and less experienced developers, and in some cases business experts, using the DSL to model new applications.

A nice part of the session was a chance to design a DSL for an interactive TV application. We had to put ourselves in the position of a developer supporting a programme producer who wanted to add elements like menus, text and polls as interactive content on their programmes. The problem comes from an earlier OOPSLA Designfest. (Note – at time of writing the link to the actual problem description from 2004 was broken but I have contacted the DesignFest webmaster to get them to fix this).

To solve this problem we had to think about the objects, relationships, roles, attributes, states and actions that had to be modelled to create such applications i.e. we had to create a DSL for the producer. One useful heuristic I use when tackling these types of problem is to imagine what elements would be included on a palette in the tool to be used byt the producer. This tends to help me identify the major domain elements while also helping eliminate elements that are too implementation-focussed from the DSL.

One point JPT noted was that users of such languages often complain about the notation – this can be solved by allowing them to define the notation themselves – not (really) possible when using standard modelling languages.

Finally, I asked JPT whether some languages were harder to generate than others. He noted that any language with global structure would be harder to generate. Similarly languages where indentation is significant (such as Python) are harder because you have to keep track of your indentation depth. At the BoF session later (described below) I hypothesized that increasing use of DSLs to generate code would cause such languages to become less popular.

Later that day I attended Peter Bell’s session Domain-Specific Languages: Design and Evolution. This was a shorter session than JPT’s and it covered some of the same ground although from a different perspective.

Like JPT’s session a good part of Peter’s session looked at creating a DSL for a small problem domain – in this case each group had to tackle the problem of creating a DSL to specify import transformations for data coming into a content management system.

I must admit I struggled a bit to identify exactly what was required but my heuristic of identifying what would be in the user’s palette helped us eliminate database tables from our completed DSL. Other groups were more successful.

From 21:00 I ran a Birds-of-a-Feather session on DSLs. I’d spoken about this possibility with JPT and Peter before the conference and happily they both agreed to participate. The plan was to run the session for an hour or so, depending on the level of participant interest. At 21:05 it was looking as though there wasn’t going to be any interest but people gradually started drifting in and I think we ended up with around 10 people attending besides ourselves.

The idea was to make the session as informal as possible so we gathered in the sofa area with a beer or two. To get things started I had a few questions to ask JPT and Peter:

  • What is a Domain-Specific Languages?
  • What is the difference between a DSL and a general-purpose programming (or modelling) language? (You work at a higher-level of abstraction)
  • Why is there a growing interest in DSLs? (Microsoft are working in this area, developers are interested in being more productive – Java, C++, UML etc. haven’t raised the level of abstraction much)
  • How do you get started with DSLs? What do you do with legacy code? (Build a reusable framework from your legacy assets, start with a small domain. Can be hard because this often requires the best programmer.)
  • How do you sell the idea to management and the rest of your team? (There are now plenty of successful case studies. Get a small problem working first, grow your language)
  • Does the approach scale? (Yes, huge models have been built. (And anyway, why would it have more problems scaling than a conventional language given that DSLs work at a higher-level of abstraction?))

By 23:30 I was pretty tired so called a halt to the BoF. We’d managed to stay on-topic for most of the 2.5 hours and I certainly felt the BoF was worthwhile so thanks to JPT and Peter for agreeing to share their experience.

I have a copy of JPT and Steven Kelly’s new book Domain-Specific Modeling: Enabling Full Code Generation on order so expect more on DSM later…

Anonymous blog comments

Blogged under General by Mark Dalgarno on Wednesday 19 March 2008 at 10:00 pm

I encountered a new problem recently when an anonymous non-spam comment was made on a blog post I made.

The commenter was asking a sensible question but had chosen to conceal their identity – this made me suspect their motives, which may have been honest, and so I deleted the comment.

If you do comment on anything I post here please bear this in mind.

Fun at SPA 2008

Blogged under General, Software by Mark Dalgarno on Monday 17 March 2008 at 1:34 am

It’s not all hard work at the SPA conference and tonight we had a chance to relax and enjoy ourselves.

After a number of sound thrashings on the Xbox race game – some of them at the hands of a woman! –  I joined Pascal Van Cauwenberghe and Portia Tung who were having fun with South Park Studio.

After some experimentation I decided that this would most closely resemble my condition after a further three days working behind the scenes at the conference:

Mark Dalgarno

More on SPA 2008 later…

SPA 2008 – Day 1

Blogged under Software by Mark Dalgarno on Sunday 16 March 2008 at 7:27 pm

A very early start for a Sunday saw me continuing the set up for SPA 2008 which officially started today.

This year the conference is 100% organic
SPA 2008 Delegate bag

I’ll also be doing my bit for the environment by recycling a number of jokes at my session on Tuesday. (Regular readers will have noticed that I’ll be taking this theme further by recycling my session When Good Architecture Goes Bad at the ACCU and Software Architect conferences later this year.)

Here’s a few photos from Day 1…

Early arrivals:

SPA 2008 Early arrivals

CMMi Birds-of-a-Feather session:

SPA 2008 CMMi BoF

The Wall that Mark (and Louisa and Peter) built:

SPA 2008 The Wall

More on SPA 2008 (if I get the time) tomorrow…

Type-Driven Testing in Haskell – Peyton-Jones video online

Blogged under Software by Mark Dalgarno on Friday 14 March 2008 at 7:41 pm

Rob Hulme has made the video he shot of Simon Peyton-Jones’s talk Type-Driven testing in Haskell available.

The talk was recorded at the SPA Cambridge session I organised on Wednesday.

More information about the talk and a link for the video is available here:

http://www.foomongers.org.uk/videos/spj-typedriventestinginhaskell.html

Looking forward to SPA2008

Blogged under Architecture, Code Generation, Software by Mark Dalgarno on Wednesday 12 March 2008 at 1:55 pm

SPA2008 runs next week and it is one of the highlights in my conference calendar.

I’ll be heading over to the event on Saturday to help with the setting up and to have dinner with the early arrivals.

Sunday I’ll also be helping out with the initial registrations – there’s a couple of tutorials and workshops running that day including an in-depth Introduction to Smalltalk with James Robertson.

Keynotes this year are John Daniels, L Peter Deutsch and Michael Feathers. Mike’s talk Big Ball of Money, Big Ball of Mud: Economics and Legacy Code looks as if it could be closely related to some of the themes of my own session When Good Architecture Goeas Bad (described below).

On Monday I plan to attend two sessions on Domain-Specific Languages. Juha-Pekka Tolvanen of MetaCase will be leading a session on Domain-Specific Modelling for Full Code Generation which I shepherded and Peter Bell will be leading a shorter session on Domain Specific Languages: Design and Evolution. I know both Juha-Pekka and Peter and think they will be presenting some good stuff. (If you miss them at SPA they will also be presenting at our Code Generation 2008 conference in June.)

I’m also planning to run a Birds-of-a-feather session with them on Domain-Specific Development (probably on Monday) and if you are interested in DSLs you should definitely come along and get the benefit of their experience.

On Tuesday I’m planning to attend Ivan Moore’s session on project management (or How to lose friends and alienate people – on becoming a project manager as he puts it.) Ivan went over the the dark-side a few years ago and is loving it so I’ll be interested to hear what he has to say.

My workshop When good architecture goes bad runs on Tuesday afternoon. We’ll be looking at a small number of case studies of good architecture gone bad and will be considering what could have been done about it and the broader question of the value of preventative work to maintain architectural integrity.

Wednesday I’ll probably go along to Keith Braithwaite’s session Automatic for the People — process implications of automated testing before helping in the clean-up process and heading home…

At the time of writing there are still a few places left. If you want to take part in a high-energy learning experience covering the software life cycle then SPA is the place to be. The conference is residential – hence the price tag – but the facilities are excellent and part of the value of attendance comes in the after hours interaction…

Code Generation 2008 – Update #3

Blogged under Code Generation, Product Lines, Software by Mark Dalgarno on Sunday 9 March 2008 at 4:56 pm

Things have been a bit quieter on Code Generation 2008 since the flurry of activity around the programme launch two weeks ago.

The first bookings have come in and traffic to the event web site is good indicating more to come. (But remember the early-bird period closes on 31st March so don’t leave it too late :-) )

We had to make one change to the programme after launch adding a new panel session and moving another one so thanks to Jos Warmer and Laurence Tratt for being so helpful with this.

We’ve also started listing Birds-of-a-Feather sessions for the conference. If you’re coming along and have an interest in a topic you don’t feel is covered particularly well in the programme then let us know and we’ll list it as a BoF.

As for CG2007 we’ll have a book stall at the event. We’re collating book suggestions on the Code Generation Network forums. The book stall will be at the event on Thursday 26th June – all purchases on the day will get 10% off.

I noted earlier that Telelogic have signed up as the final event sponsor and their details are now online. We’ve also been working with the other sponsors to make sure they get good value from the event and also that their customers know about it.

We’re also hoping to sign-up another event partner in the next week. More on this in the next post…

Wireless Developer Forum, Cambridge Monday 10th March

Blogged under Mobile, Software by Mark Dalgarno on Thursday 6 March 2008 at 8:08 pm

We’ll be taking part in next week’s Wireless Developer Forum event in Cambridge, UK exhibiting pure::variants the specialist toolset that helps software developers deal with the problems inherent in (mobile) device diversity.

The programme includes sessions on four main themes:

  • Mobile in an Open, “Web 2.0″ world
  • Business Models and Revenue Generation
  • Navigating the Route to Market &
  • Usability for Complex Multimedia

A few places are still available at time of writing. Hope to see you there.

Domain-Specific Modelling – Challenges in defining the domain panel at CG2008

Blogged under Code Generation, Product Lines, Software by Mark Dalgarno on Tuesday 4 March 2008 at 9:36 am

We’ve announced an additional panel session at June’s Code Generation 2008 conference:

Challenges in defining the domain will look at questions such as:

  • How do you define the domain?
  • What are effective ways of integrating domain experts?
  • Do you, as a technologist, try to “improve” their language, or do you try to “just” implement what they have now?
  • Which characteristics must a DSL have to it will be usable by domain experts without the help of programmers?
  • Is there a role for domain *experts* in actually formally defining the language? Or do they “just provide input”?

This panel will now be the closing conference session on Friday 27th June with Jos Warmer’s panel Flexibility in code generation moving to Thursday 26th June.

See the full event programme at http://www.codegeneration.net/conference/programme.php

An early-bird booking period runs until March 31st with savings of £110 off the full conference programme available.

Proudly powered by Wordpress - Theme Triplets Identification Band, the girlish style by neuro