Oh, how I long for the sun. I'm currently along the (very wet) southern coast of the United Kingdom, having finished some work at IBM Hursley Among other things, I spent time with the teams working on aspect-oriented programming.
While on the road, I still find myself network-challenged. The hotel I'm in has a slow 64kb line, and loading pages seems like a stuggle. Well, at least I have access, which is an improvement. I suppose that one has to be patient when expecting 15th century buildings to be rewired for Cat5.[Read More]
Software architecture, software engineering, and Renaissance Jazz
From archive: April 2004 X
gbooch 120000P81R 783 Views
I'm just back from Oxford having given my lecture there, and am now in London about to lecture at Imperial College in London. The weather here is wet and overcast, a rather typical London day.
I tried to blog from Oxford, but a) my hotel had no high speed Internet connection, then b) the largest local Internet cafe was closed for rennovation, and yet c) it was sufficiently late such that anything else was closed. Students at Oxford have told me that this is a curious college town, in that pretty much everything closes up early. I suppose everyone is too busy studying to warrant such services. Those same students do report that all the colleges are quite wired with both fixed and wireless connections. Nonetheless, my travails in searching for public access remind me of a decade ago when, before mobile phones become so pervasive, one had to search for public phones. In the generation before that, phones themselves were rare commodities and one would have to hunt for any phone. In the generation before that even, I suppose one had the same experience with tracking down a telegraph station (in fact, there's a delightful book on the subject, The Victorian Internet).
Well, I'm off some some fish and chips to fortify myself before I lecture...[Read More]
gbooch 120000P81R 731 Views
I've been invited to give the next Strachey Lecture in Computing Science at the Oxford University Computing Laboratory. I never had the honor of meeting the late Christopher Strachey, but his work was essential to the early days of Rational: among other things, Dr. Strachey (along with Dr. Dana Scott) invented the field of denotational semantics which formed the theoretical basis for formalizing the semnatics of Ada and ultimately lead to the creation of DIANA (the Descriptive Intermediate Attributed Notation for Ada) . DIANA was the essential abstraction around which by Rational's early Ada Development Environment was built (and for which we also built a hardware machine that essentially "ran" DIANA).
One of Dr. Strachey's passions was trying to resolve the disconnect between academia and industry. I'm kind of the odd man out in this lecture series, for I'm not from academia, I don't have a doctorate (I'll have to check, but I think I may be the only one from the lecture series), and I'm not a reseacher but rather am squarely in industry. I'll be discussing The Limits of Software, a subject that I've been presenting and growing for the past few years. When I figure out the mechanics of this particular blog, I'll post my slide deck here (I used to use Blogger but didn't like its facilities so I wrote my own for my handbook work).
The net of this lecture series is that I'll be away until the 7th of May. On such trips, I typically don't take my laptop: my Sony Clie and a flash RAM keychain are enough for me, as it simplifies airport checkin - I'm profiled enough as it is - and it's one less thing to lug when running for a plane, train, or automobile. One of these days, I'm hoping IBM Research will come out with an implantable PC, but at least for this trip, I must warn you of likely spotty bloging from me until my return. I'll try as best I can to snag a public PC from which to blog.[Read More]
gbooch 120000P81R 809 Views
In November 2002, I began a blog on software engineering; two weeks later, IBM announced its intent to acquire Rational, a deal which was finally consummated in March 2003. Needless to say, I was swept up by those events and so my original blog lay fallow. Life finally reached a reasonable point of stability and thus in January of this year I began a blog at a private site that I'd built in support of my effort to create a handbook of software architecture. No comprehensive architectural reference yet exists for software-intensive systems, and so the primary goal of that work is to fill this void in software engineering by codifying the architecture of a large collection of interesting software-intensive systems. My second goal is to study these architectural patterns in the context of the engineering forces that shaped them so as to provide to the developer community a set of proven patterns that they may then use to construct new systems and to reason about legacy ones. Finally, my third goal is simply to satisfy my insatiable curiosity for how software works. When encountering any interesting and useful software-intensive system, I often ask the question "how did they do that?" In short, I want to expose the inner beauty of these systems through a study of their architectural patterns.
Now, a private blog seems a bit of an oxymorn (like "jumbo shrimp" or "military intelligence"). This internal site is actually a working environment where I record the results of my archeological digs, vet them with the developers of these systems, and then incrementally expose those architectural descriptions when they are in a reasonably stable. The blog I maintain on that site is therefore largely a stream of discoveries about these systems, the architectural patterns they embody, and the more general topic of architect and software engineering, the representation and principles used to build these systems.
Our plan here is to stream out the RSS feed from my handbook site to this one. We've got most of the pieces working but have a little bit more to do to link with this blog, so in the meantime, I'll be posting here in an independent thread.[Read More]
gbooch 120000P81R 764 Views
This evening, I'll be at the Boulder Java Users Group ( http://www.boulderjug.org ), giving a presentation on software archeology (which draws from a number of materials from my work on developing a handbook of software architecture, a topic I'll talk more about as this blog unfolds).
Some of you might recognize the style of the cartoon in these slides. For both editions of Object-Oriented Analysis and Design with Applications, I commissioned a cartoonist from the UK, Tony Hall. While working on the first edition of the book, I also approached Scott Adams, but at that time he was on his rise to fame and so very politely declined. I've never met Tony - he lives somewhere along the northeast coast of England with a menagerie of animals - although we've communicated over the years by phone, fax, and snail mail. A few years ago, I again commissioned Tony to produce a new set of illustrations for a third edition of OOAD, from which this particular cartoon is taken.[Read More]