Archive

I'm finally back from the AOSD 2008 conference, the principal conference of the Aspect-Oriented Software Development (AOSD) community. This is an academic conference, which means that most people are either academic researchers, either researchers in R&D departments of big companies. So I was a kind of stranger there, but this time I did not suffer too much from that.

I have delivered my speech on Wednesday 2nd April in the industry track. Slides are available for download. Note that the speech was designed for an audience who is comfortable with AspectJ, which I guess is not the case of the majority of readers of this blog. You can also download the paper, the most systematic and complete description of PostSharp Laos so far. It was published in the proceedings of the conference. If you need to convince someone that PostSharp is serious, you can put the paper on his table!

The conference was not only about PostSharp, of course. I mostly attended to the industry track and to some demonstrations. Here are the topics I was most interested in:

  • Daniel Wiese, Software Architect at Siemens Medical Solutions, presented how AOP was used in a huge project (SORIAN, a Hospital Information System) of 400 developers spread in 4 different countries. AOP was used principally to handle the "non-functionals", i.e. logging, auditing and so on. What's interesting with that? Well, the scale of course! It shows that AOP has already grown from its youth phase when it was used only in prototypes. Daniel cited some practical problems they met with AOP, principally the increased build time. The selected solution was to weave the code only for nightly builds, so developers do not loose time waiting for the weaver in local builds. Siemens also wanted to enable/disable aspects after deployment (for instance to enable monitoring in a part of the solution when it is in production). Therefore, they used load-time weaving in WebSphere, a Java application server. Since the built-in weaving solution of WebSphere was not satisfying (it was an old version of AspectJ with bad support of load-time weaving), they developed their own weaver: FastAOP. Thank you Daniel for this great show, and let's hope it will convince companies to adopt this technology!
  • SAP integrated AOP technologies in the new version of ABAP, the SQP programming language. True, it is not AOP in the sense we usually mean, but if SAP is getting interested in AOP, what are all the others waiting for? Another proof that it's useful!
  • ASLM, a producer of semiconductors, developed their own solution to weave hundreds of thousands of lines of code in C.
  • Hitachi developed an AO extension to COBOL. Yes, you read well: the old good COBOL.
  • Siemens team presented a funny show of Aspect Manager 2010, a plug-in to Eclipse allowing easy discovery of aspects and their injection into projects. An excellent source of inspiration for PostSharp! Indeed, it convinced me that we should design a standard packaging for aspect libraries to streamline the installation process.
  • M4JPDD, a tool to express quite graphically complex pointcut. Very interesting, although IMHO not backed by a sufficient demand.

The conclusion for me is that there is real interest for AOP in industry, and AOP has already proved itself in huge projects. Why would the .NET world make exception? Experience shows that people are currently mostly interested in the "easy" aspects like caching, auditing, security, and so on. But it is precisely what PostSharp Laos is good in! So it seems I am on the good track. On the other side, there is a lot more in AOP than what PostSharp is able to do! If you follow the blog and the work of Ruurd Boeke, you will find out that PostSharp does not perform well with complex tasks. Of course, you can do everything you want (which gives an amazing feeling), but it results in much more aspect code than what would be the case with AspectJ.

In other words, the conference was a great opportunity to assess the design choice of PostSharp Laos: make simple things easy, knowing that the market is currently at 80% interested in easy things.

Happy PostSharping!

Gael

Today I'm packing for one week of vacation followed by the AOSD 2008 conference, the principal conference of the AOP community

I will be presented PostSharp in a session academically named User-friendly aspects and compile-time imperative semantics in .NET with PostSharp and you can already download the paper in PDF format.

But that's not all. If you are to attend the conference, you are invited to the Microsoft.Community.Dinner that will take place the 2nd of April (the day of my speech) after the reception. Info and reservation at gael at fraiteur dot net.

During the

I am happy to announce that I started this week a long-term partnership with Starcounter AB, a Stockholm-based software shop producing a next-generation object database management system (ODBMS) that will make you understand the benefits of 64-bit hardware. I am not allowed to give too much details, but I'll sure do it once it will go public. Believe me, it sounds cool!

The good thing for PostSharp is that the partnership plans to reserve 40% of regular working time to PostSharp development. To be more precise, I will work in the average 3 days a week for Starcounter, but at a rate that allows me to invest the rest of the time in PostSharp.

Starcounter is already a old partner of PostSharp. Contacts started in June 2006, when they started considering PostSharp in their product. In November 2006, they sponsored the development of the hosting infrastructure, which allows to host PostSharp easily in server environments. In May-July 2007, they hired me to implement PostSharp in their product. The money allowed me to pack and publish the first release candidate, which was a really great step!

PostSharp just took too more time to be done in spare time (do you realize the time it takes to support users, correct bugs, and promote the project?). I am happy that our agreement will guarantee the future of PostSharp.

A great new for the community expecting long-term project viability!

Happy PostSharping!

Gael