WICSA 2011 Call For Papers

WICSA 2011, the 9th Working IEEE/IFIP Conference on Software Architecture, will be held in Boulder, Colorado next year, 20-24 June 2011. I have been asked to be on the program committee.

The program committee has released a preliminary call for papers. The paper submission deadline is 7 February 2011, so get your word processor fired up.

The text from the attached PDF follows after the break.

Len Bass essay about design

This week Len Bass, distinguished author and senior member of technical staff at the Software Engineering Institute, started a series of essays on the process of design. He juxtaposes two strategies:

  • design as a series of decisions
  • design as generate and test

He concludes that the two are compatible and promises to dig in deeper in future essays.

Edit 4 August 2010:
Part 1: Essays in Design — Len Bass
Part 2: Generation of the initial design hypothesis
Part 3: Testing the hypothesis
Part 4: The test cases

VoltDB vs. All Comers

HighScalability.com has another interesting article on handling huge amounts of data. Todd Hoff reviews and critiques Michael Stonebraker’s presentation on VoltDB and SQL myths. It’s interesting reading to understand what VoltDB can do and its limitations, along with some editorial remarks about where risks lie and how best to manage them.

Architecture for the cloud

I’m a big fan of the articles over at High Scalability because they do a lot of case studies on real internet systems. I also like that they value technical terms — communication is more efficient when we have special words for specific ideas/designs. Also, there’s this quote, which shows quite well that sometimes it’s best to impose a coherent architecture not so the program runs, but so that you can understand it.

I’m writing this post as a sort of penance. My sin was getting involved in another mutli-threaded mess of a program that was rife with strange pauses and unexpected errors. I really should have known better. But when APIs choose to make callbacks from some mystery thread pool it’s hard to keep things straight. I eventually sobered up and posted all events to a queue so I could make sure the program would work correctly. Doh. I may never know why the .Net console output stopped working, but I’ll live with it.

Lots of programs are written such that the communication between components is hairy (I’m looking at you MVC). When it works, it’s great. When it’s not working, it can be a beast to untangle and reason about. Todd Hoff’s solution here was to make it simpler (use a queue) so that he could reason about it.

This story is on cloud computing. If I could wave my magic wand over HighScalability.com, I would have them add a few architecture diagrams. But the text is usually clear enough.

Philippe Kruchten: Agile Architecture

Philippe Kruchten’s keynote talk from the SATURN conference has been posted at the SEI. His slides are worth taking a look at: moderate in the agile-architecture debate but full of real ideas, not just best hopes of compromise.

The slides include his 4-color backlog idea, where user-visible features, bugs, technical debt, and hidden architectural features are all on the backlog. I like this idea a lot because it helps reveal dependencies, as in “we cannot build that user story until this architectural feature is in place (or this technical debt is removed)”.

What is a Service Oriented Architecture? A New Definition from Olaf Zimmermann

Olaf Zimmerman has contributed a helpful new definition of a Service Oriented Architecture (SOA) in his PhD thesis. (Warning: the first pages of the thesis are in German, then it switches to English). He defines SOA, from an architectural design perspective, as the use of four patterns:

  • Service consumer-provider contract
  • Enterprise service bus
  • Service composition
  • Service registry

This definition is interesting because it is testable wrt existing applications and because it is defined in terms of lower-level patterns.

Many languages on the JVM: Future improvements

In a presentation at QCon London, Alex Buckley discusses the optimizations in the Java Virtual Machine that allow it to run code fast, how it is unsuited to non-Java languages, and the proposed invokedynamic instruction that will help. It is an interesting tour of how VM’s work.

InfoQ video and slides. The video is about 60 minutes long. And no, he does not commit to when these features might be released in Java SE.

Philippe Kruchten interview: Telecom-architecture connection & level of architecture abstraction

InfoQ has posted an interview with Philippe Kruchten from SDC. In it, he talks about agile, architecture, and process among other topics. Here are some bits I found interesting with some commentary.

“I [Philippe Kruchten] worked for IBM, actually a very brief time, I then did a bit of research at the French Institute of Telecommunication, learnt more software there and also I went to Alcatel, where I learnt a lot because it was the beginning of using computers and especially large networks of microcomputers to punctual telephone switchers and all kind of things in telecommunication.”

I was part of the OOPSLA workshop on agile and architecture hosted by Dennis Mancl. One interesting observation was how many of the participants had a telecommunications background (I am guilty). We speculated that perhaps this was due to the rigid requirements imposed by regulators, for example, dialtone must commence within 40ms or 99.996% uptime. Things like that are difficult to design and build, which marinates software engineers in a certain approach to problem solving. An approach that is different from “How can I get this Drupal-based website up and running?” where you are pretty sure it will work and you have read reports of others using it to support X web hits per second.

ArchSpot launches

This will be a website in the style of Lambda the Ultimate devoted to software architecture. It will provide a moderated stream of news stories (driven by user submissions, like Slashdot) and commentary. Since there is no good place on the web for developers and architects to chat about architecture, we will have forums for that too.

Syndicate content