Skip to main content

Posts about Blog (old posts, page 14)

British Computer Society Distinguished Dissertations competition

Submissions are now open for the BCS Distinguished Dissertations competition for recently-submitted PhDs in the UK.

The 2011 / 2012 CPHC/BCS Distinguished Dissertations competition is now open for submissions via the web site

Closing date Monday 2nd April 2012. Further details can be found below and on the webpage

The Conference of Professors and Heads of Computing (CPHC), in conjunction with BCS, The Chartered Institute for IT, annually selects for publication the best British PhD/DPhil dissertations in computer science.

The scheme aims to make more visible the significant contribution made by Britain -- in particular by post-graduate students -- to computer science. Publication also serves to provide a model for future students.

The selection panel on behalf of BCS/CPHC consists of experienced computer scientists, not more than one from any institution, each normally serving on the panel for three years. The 2012 panel members are: Simon Thompson (Kent, Chair), Teresa Attwood (Manchester), Russell Beale (Birmingham), Simon Dobson (St Andrews), Zoubin Ghahramani (Cambridge), Joemon Jose (Glasgow), Daniel Kroening (Oxford), Ralph Martin (Cardiff), Alexander Romanovsky (Newcastle) and Jon Whittle (Lancaster).

Any dissertation is eligible which is submitted for a doctorate in the British Isles in what is commonly understood as Computer Science. (Theses which are basically in some other discipline but which make use, even very extensive use, of computing will not be regarded as eligible.) However, there is a limit of THREE dissertations per year per university, and one per research group within any university.

To be considered, a dissertation should:

  • make a noteworthy contribution to the subject;
  • reach a high standard of exposition;
  • place its results clearly in the context of computer science as a whole; and
  • enable a computer scientist with significantly different interests to grasp its essentials.
It is reasonable to submit a thesis to the scheme if it has all of the above qualities in good measure, and if it is comparable in standard with the top 10% of dissertations in the subject. Long dissertations are not encouraged; if the main text is more than 80,000 words, there should be good justification.

The dissertation should be submitted electronically (as a PDF file) by the author's examiners, or by the Head of Department with the examiner's advice. The submitted version of the dissertation must be the final version after any required corrections have been made. The competition period for 2012 is for theses accepted from 1st January 2011 until the closing date of 2nd April 2012. A dissertation cannot be submitted to the competition more than once.

The dissertation should be accompanied by a written nomination comprising the following information:

  • a justification, of about 300 words, by one of the examiners -- preferably the external -- explaining the dissertation's claim to distinction (against the criteria listed above);
  • the name of the primary supervisor and the research group within the university to which the student was primarily affiliated;
  • an assurance that within the competition period the examiners have recommended to the author's institution that the doctorate should be awarded; and
  • the names and contact details of three suggested reviewers who are not in the same Department as the nominated thesis and who are independent of the supervision and examining of the thesis. The nominated reviewers must have confirmed that they are willing to provide a review.

An indication should be given if the dissertation is being considered for publication elsewhere. In addition the author's written agreement that their thesis may be considered for the Distinguished Dissertation competition should be emailed by the author to

Submissions should be made on-line via The first author name submitted should be that of the thesis author; the individual submitting the nomination should list themselves as the second author. The title and abstract should be those of the thesis being nominated. The first file uploaded should be the 300 word nomination; the thesis document should be uploaded as an attachment. If any problems are experienced, or you have any questions, please email for assistance.

The deadline for submission is 2nd April 2012.

The middleware doughnut

Where has the "middle" of middleware gone?

This week I attended a couple of the workshops at the Middleware conference, the main venue for the research community working on systems integration middleware. In particular I was an invited speaker at the Future of Middleware (FoME) workshop, which attracted a great bunch of people with views on where the field is going.

Listening to all the talks, one of the things that jumped out was the diversity of concerns people were expressing. Those working at enterprise level were concerned with scaling-out systems to millions of users using cloud computing; at the other extreme were sensor networks people like me, worried about programming  low-powered sensor motes with at least a semblance of programming language support and software engineering process. That a group of people with this spread of interests can find useful things to talk about together says a lot about how broad a term middleware actually is.

But if we compare this to years past, it was also clear that the concerns  asymmetrically affected the different groups. There were very few issues that really commanded broad interest. This led me to wonder: where has the "middle" gone from "middleware"?

In the 1990s, middleware people (including me) were working with CORBA and the like. These systems were intended for broad application in integrating client and server components into single systems. In CORBA's case this involved designing object-oriented domain models that could then be implemented using any chosen programming language and support interactions seamlessly, regardless of  implementation or distribution. CORBA provided (and indeed provides) a lot of supporting infrastructure, including dedicated wire protocols, a shared type system and object model, higher-level services, binding, call models and other groovy toys. It achieved enormous penetration into markets that value long-term interoperability and evolution, such as financial services. It also influenced a whole range of subsequent developments, including web services and service-oriented architectures that are, to some extent, defined by their similarity to, or differences with, CORBA. (For a discussion of these differences see Baker and Dobson. Comparing service-oriented and distributed object architectures. LNCS 3760. 2005.)

As is pretty much apparent from this, CORBA sits resolutely in the middle of middleware. It is intended to integrate disparate systems and allow them to work together, and evolve somewhat separately, while managing the complexity of the overall architecture. It tries to avoid the problem, identified by Bertrand Meyer, that large systems exhibit non-linear behaviour in which the cost of making any change to them is proportional, not to the size of the change being made, but to the size of the system being changed. It doesn't completely succeed in this, of course -- no system does -- but it provides a common centre around which to organise largely independent components.

Another way of looking at CORBA is less flattering: that it was inherently compromised by conflicting, and in large part irreconcilable, goals. It was reasonably performant, but by no stretch of the imagination high-performance given the overheads of a complex and general-purpose wire format. It was reasonably portable, as long as one accepted the limits imposed by the single type system: no first-class functions or mobile code, for example. It was reasonably easy to port and to support new languages, but every new language binding did require considerable ingenuity both in terms of technical design and standardisation of interfaces.

Sitting in the middle, in other words, was tricky and uncomfortable.

The causes of, and justifications for, these compromises aren't hard to find: what else can one do if one is trying to support the whole range of applications? Each piece of middleware sits at a particular point in the design space, trading-off performance against generality for example, or advanced typing against making bindings awkward or impossible for some languages.

And it's this generality that seemed to be missing from discussions of the future of middleware: no-one intends to support this range any more. Instead we're seeing a division of the design space in which different application communities focus on one or two design dimensions that are undoubtedly the most important -- and largely forget the rest. For Twitter, for example, the main design goal is lightweight interaction at clients so that Twitter clients are easy to writ. They have no concern whatever with typing or reliability: if tweets are lost, who cares? For the web services community -- perhaps closest to the "spirit of the middle" -- the issues are extensibility and use of standards, with no concern for protocols, performance or end-point complexity. It's fairly easy to see that these design issues are simply too diverse to be spanned by a single middleware platform.

I don't think this necessarily spells the death of integrating middleware -- and that's just as well, given that we still have to integrate these systems despite their increasing heterogeneity. What it does do, though, is change the locus of innovation away from ever-larger, more complex and more general platforms towards more specialised platforms that can integrate as far as needed -- and no further, so as not to over-burden applications or developers. Several speakers talked about using component-based approaches to build platforms as well as applications. In our talk we discussed similar ideas, removing the a priori assumptions underlying middleware platforms and focusing instead on how to optimise what hits the metal. (Dearle and Dobson. Mission-oriented middleware for sensor-driven scientific systems. Journal of Internet Services and Applications. 2011.) This will give rise to a whole range of further challenges -- how do we guarantee the right features are available? How do we add (and remove) features on the fly? How do we find the features we need? --  that are radically different from those encountered for CORBA and similar systems. But the result will (hopefully) be to improve our ability to create, manage and evolve ever more sophisticated combinations of applications and  services, and make it easier to roll-out and scale-out the next generation of applications and scientific experiments.

Inaugural lecture

I will be giving my inaugural lecture on the topic of "The computer is the new microscope."

It's traditional when appointed a full professor in the UK (strictly speaking, when appointed full prof for the first time) to give an open lecture on a topic of your choice. Because the lecture is open to anyone, they have to be very accessible (well, as accessible as the academic can make it, which often diverges from the normal meaning of "accessible"). My choice of topic follows on from a subject I've been thinking about for a while, that computers change both the way we do science and the science we do, and that this needs to be more fully understood within both communities.

Date: 7 December, 2011 Time: 1715 Venue: Lecture theatre, Medical and Biological Science Building, University of St Andrews, North Haugh, St Andrews, Fife

Followed by a reception in the School of Computer Science next door.

[UPDATE 16Dec2011: the slides are now available.]

Funded research studentships available in St Andrews

We are looking for world-class students to come and work with us. This is open to individuals of any nationality, not just UK or EU citizens. I'm especially interested in people wanting to work on programming languages, but I'd welcome inquiries in any research areas that align with mine.

Funded PhD Research Studentships

University of St Andrews - School of Computer Science

The School of Computer Science at the University of St Andrews has funding for students to undertake PhD research in any of the general research areas in the school: We are looking for highly motivated research students with an interest in these exciting research areas. Our only requirements are that the proposed research would be good, we have staff to supervise it, and that you would be good at doing it. We have up to 6 funded studentships available for students interested in working towards a PhD. The studentships offers costs of fees and an annual tax-free maintenance stipend of about £13,590 per year for 3.5 years. Exceptionally well qualified and able students may be awarded an enhanced stipend of an additional £2,000 per year. Students should normally have or expect at least an upper-2nd class Honours degree or Masters degree in Computer Science or a related discipline. For further information on how to apply, see our postgraduate web pages ( The closing date for applications is March 1st 2012 and we will make decisions on studentship allocation by May 1st 2012. (Applications after March 1st may be considered, at our discretion.) Informal enquiries can be directed to or to potential supervisors.

Studentships in wireless sensor networks in Leuven

A number of PHD positions are available with Danny Hughes in the Netherlands.

Wireless Sensor Networks are expected to play a key role in future Internet architectures and the Internet of Things. The DistriNet research group of the Katholieke Universiteit Leuven wishes to expand its Wireless Sensor Network (WSN) research team. You will play a key role in a highly integrated team, which has a strong and growing research profile in the area of middleware and software development support for WSN. Three positions are available, starting immediately.

Possible Research Topics: • System-level support for realizing WSN applications that are reliable and reconfigurable from the lowest-levels of the network stack to the application layer. • Development-time support for building autonomic and reconfigurable applications for networked embedded systems and sensor networks. • Distributed component based software engineering approaches for networked heterogeneous networked embedded systems such as sensors, smart phones and web pads.

Profile & Skills: • The student must demonstrate significant enthusiasm for, and knowledge of the subject area based upon their previous education, work and research experience. • A master degree in Computer Science or Informatics with previous experience in: Distributed Systems, Middleware, Embedded Systems or related areas. • A team player with the capability to work in an international research team. • Proficiency in English and excellent communication skills, both oral and written.

About DistriNet:

DistriNet is an international research group with extensive expertise in secure and distributed software – obviously including middleware . Research on software engineering techniques is performed in both domains on a wide range of topics such as middleware for cloud computing, internet architectures, network and software security, embedded systems and multi-agent systems. Embedded in the department of Computer Science of the K.U.Leuven, DistriNet has a headcount of over 70 researchers of which 9 professors and 15 Post-Docs.

DistriNet has a tradition of application driven research often in close collaboration with industry partners. Currently DistriNet is actively involved in about 35 national and international research projects, ranging from fundamental over strategic-basic to applied research. More information on projects and publications can be found at the IBBT-DistriNet web pages:

The three open positions are situated within a team that has been established to provide software development support for Wireless Sensor Networks.

Key words: Internet of Things (IoT), Networked Embedded Systems, Wireless Sensor Networks (WSN), Middleware, Component Based Softwa

Latest application date: 2011-12-31

Financing: available

Type of Position: scholarship

Source of Funding: IWT

Duration of the Project : 4 years


Research group: Department of Computer Science

Remarks: To apply you should send your: • Curriculum Vitae • Motivation • Relevant research experience • Study curriculum with rankings • English proficiency (for foreign students) • Pdf of diploma and transcripts (translation if necessary) • Names (and e-mail) of 2 reference persons and the nature of contact with them By e-mail to Danny Hughes: at

Informal inquiries: Danny Hughes ( at

Start date Between 2011-11-01 and 2012-31-04