openArchitectureWare and EMF training now available in the UK

Blogged under Architecture, Code Generation, Product Lines, Software by Mark Dalgarno on Thursday 17 July 2008 at 12:00 pm

If you have any interest in model-driven software development you should check out the 3 day openArchitectureWare Power Workshop we are now offering in Cambridge in partnership with the folks from itemis.

These workshops are designed for developers who want to move from simply modelling software to model-driven software development (MDSD).

During the workshop, the concepts and theories of model-driven software development are explained using the openArchitectureWare open-source MDSD Framework. The workshop is hands-on with a strong focus on acquiring practical experience of the various toolsets used.

The workshop covers:

  • the basics of model driven development
  • an introduction to the Eclipse Modelling Framework (EMF)
  • the openArchitectureWare workflow engine
  • textual domain-specific languages and Xtext
  • code generation from models using Xpand and Xtext
  • model validation
  • creation and use of generator cartridges
  • meta-modelling
  • model-to-model transformation
  • best practices for Model-Driven Software Development

The next course will be presented in Cambridge from September 22nd-24th by Karsten Thoms from itemis.

The fees for the 3 day course (including training materials, lunch and tea / coffee) are £1200 + VAT but if you book more than 3 weeks ahead of the workshop start date we’ll knock off 25%.

pure::variants case study at Mathworks Automotive Conference 08

Blogged under Code Generation, Product Lines, Software by Mark Dalgarno on Monday 14 July 2008 at 11:45 am

The Mathworks Automotive Conference took place in Stuttgart at the start of June.

Engineers and researchers from Daimler Chrysler AG presented the results of their work on “Functional Variants Handling in Simulink® Models” - work that is partly based on use of the pure::variants software product line management solution.

The presentation (PDF) begins with a rationale for the work - the ever increasing amount of functional variability present in automotive products - so much so that statistically no two Mercedes-C class vehicles produced in any year should be identical.

This variability drives a corresponding need to reuse software across the vehicle product line. To achieve this reuse the engineers argue that a systematic approach is required to variant management.

pure::variants underpins this approach by allowing them to model what the common and variable features of their products are and then using this model to produce variant-specific Simulink® models. (You can find out more about how pure::variants works here.)

In addition to improving reuse of software and models this approach also allows them to improve traceability throughout the life cycle. A valuable benefit in a safety-critical setting such as automotive.

As well as a PDF presentation the presenters also provided an associated whitepaper that describes the work in more detail.

Simulink is a registered trademark of The Mathworks Inc.

 

SPLC 2008 Programme now available

Blogged under Architecture, Code Generation, Product Lines, Software by Mark Dalgarno on Saturday 12 July 2008 at 8:28 pm

The programme for September’s Software Product Lines Conference in Limerick has been online for a few weeks now and registration is now open.

I’m running a panel session titled “Product Line Scoping in Practice” and a demonstration session titled “Jump-Starting Product Lines with Clone Detection” - more details to follow.

The conference runs from September 8th-12th; see the full programme.

New Product Line Engineering blog launched

Blogged under Product Lines, Software by Mark Dalgarno on Friday 11 July 2008 at 10:20 am

Danilo Beuche has launched a new Product Line Engineering blog. The intent is to help share information about the field and related topics.

Danilo is known for being one of the prime movers behind the pure::variants software product line toolset we distribute. He’s a highly-experienced product line consultant so I’m hoping for good things here.

The first postings give basic definitions of Versions and Variants and comment on Markus Voelter’s JAOO video describing variability.

Handling functional variants in Simulink® models

Blogged under Automotive, Embedded, Product Lines, Software by Mark Dalgarno on Tuesday 24 June 2008 at 11:45 am

Elektronik automotive magazine has published an article describing work done at Daimler Chrysler on managing diversity in the automotive domain.

A basic problem automotive systems developers are facing is the large number of possible vehicle functions and options due for example to differences in target markets, vehicle type and engine capacity.

This variability can only be handled economically through strategic reuse and this requires a formal model for the variability inherent in the product line.

The article describes an approach to this using the pure::variants specialist solution for managing variability and product lines in conjunction with the widely-used Simulink® toolset.

Here’s the blurb:

A characteristic of today’s motor vehicles is a wide range of variants with slightly different functions. Since this variability has to be reflected in the software development models, it is essential that there are concepts for systematically handling the variability of functional models. Differentiating between the central and model specific variability information allows uniform handling in Simulink and creates an explicit representation of distributed model variability.

I couldn’t have said it better myself…

The original version of the article is in German but an English version can be downloaded from the Software Acumen web site here: Handling functional variants in Simulink® models (PDF 898kb opens in new window)

Simulink is a registered trademark of The Mathworks Inc.

Last chance to join Code Generation 2008

Blogged under Code Generation, Product Lines, Software by Mark Dalgarno on Tuesday 17 June 2008 at 10:47 am

Well, the title says it all. Booking closes for next week’s Code Generation 2008 event on Monday.

Join 120+ developers, architects and others from around the world for three days of intensive learning and discussion on the practical aspects of code generation tools and technologies in Cambridge, UK.

Code Generation 2008 - Update #4

Blogged under Code Generation, Product Lines, Software by Mark Dalgarno on Tuesday 20 May 2008 at 11:37 am

With just 5 weeks to go until Code Generation 2008 we’ve been pretty busy tying down the final details…

Early-bird booking period closed at the end of March with bookings up 150% on last year’s levels - looks like word is spreading about the conference.

The event programme is now complete. We added details of the two remaining sessions a few weeks ago. Jean-Marc Prieur of Microsoft will run a tutorial on “Bidirectional DSLs : Synchronizing Model and code in Visual Studio” and Jos Warmer of Ordina will lead a goldfish bowl session entitled “Microsoft DSL Tools: User Experiences”.  Our Thursday night social event will see us take a trip to Cambridge Arts Picturehouse for a mystery movie and some time in the bar.

Places on our hands-on session ‘Using openArchitectureWare for M2M and M2T’ are limited and are going fast so if you do want to take part in that specific session please book as soon as possible and let us know you want to take part in that session. We have added an extra speaker to this session but that only increase capacity to 18.

Peter Bell is doing good work collating suggestions for Birds-of-a-Feather sessions. I’ve seen 5 Birds-of-a-Feather session ideas so far and Peter tells me that more are on the way.

We also have a couple more event supporters. InfoQ.com have joined as a Media Partner for CG2008. In case you didn’t know it’s an independent online community focused on change and innovation in enterprise software development. JPMorgan have also joined as a supporting partner.

Homerton College have also made some bedrooms available in case you haven’t yet booked your accommodation. See here for details on how to book these with the college.

More news on the event as time permits…

 

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…

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…

Next Page »

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