I am at CORCS 2008, a workshop associated with the COMPSAC 2008 Conference in Turku Finland. This morning I was talking with John Ersfolk of Turku University who is working on a language similar to Insense called Canals. This language is a stream/data flow language similar to StreamIT from MIT.
The first paper at CORCS was about a new sensor net operating system called Valentine presented by Natasha Hoang of the University of Pau. This work was conducted in conjunction with people from Mälardalen University in Sweden. This operating system has been built upon the Think framework. Think (THink Is Not a Kernel) is a C-implementation of the Fractal component model. The motivation for Valentine is also similar to some of the goal of Insense in that they want to build and OS that permits the dynamic replacement of components. The OS is based on the Fractal model and in particular supports:
- The separation of Interface and Implementation
- Component orientation
- Inversion of Control
I presented an overview of the Insense language and demonstrated a small example in which one mote sends temperature, light and humidity measurements to another.
I met Sam Malek (a promising young software engineer who has some great ideas) and his wife, Shadi. Today (30/7/2008) Sam presented an interesting paper on his work on Crosscutting in Architecture styles, work building on his work on the PRISM-MW system of Nenad Medvidovic.
The basic thesis of his work is that architectural design is lost in implementation in that architectural elements are dispersed in code snippets in the implementation and that this is forced upon the programmer by the middleware. His solution is to created a (meta) language which permits architectures to be described and to have a middleware which permits appropriate middleware components to be generated from styles. The work draws much upon aspect oriented programming of which I am not a fan.
I also met Russ Taylor who is gave the keynote today. He gave a very interesting keynote on Medical robotics and computer-integrated interventional medicine. His goals were to: transcend current medical limitations, increase consistency and quality of surgery and promote better patient outcomes. He speaks much of the need for better integrated health care information systems. There is clearly many interesting problems in domain related to scale, heterogeneous databases, privacy, querying, similarity searching, the list goes on…
I went to an interesting session today on Location Based Services. Much of what was discussed in the session was reminiscent of the work we did in the Global Smart Spaces (GLOSS) project. Afterwords I talked to two of the panelists – Axel Küpper from The University of Munich and Gerald Eichler from T-Mobile. Axel described some middleware they have been developing for location aware services. Gerald made some interesting points about how Web 2.0 and Web 3,0 (is there a 3.0?) technologies help to liberate the provision of location aware services. He was talking about web + user participation + semantics + mobility and The Internet of Services: web+ mobility + context sensitivity + smart devices. He also mentioned the Tracy toolkit (not the best link) and Android. Maybe it is time to start looking at LBS again!
Brian Randell talked of the NATO software engineering meetings of 1968 which may be found here: 1968 Garmisch report which was written at the first NATO software engineering conference. He also reported on how the proposed NATO Software Engineering Institute was white anted skillfully by Tom Simpson. Brian claims there there are three topics that were in the air in 1968 and are still around today:
- Software components
- Development tools and environments
- Multiprocesor System Design
Brian pointed out that in 1968 people (Doug McILroy ran a workshop on this in 1968 – photo) thought that within a few years people would have access to large libraries of well developed and parameterised components. He claims that this has not come into being – maybe he hasn’t heard of Java/COM/.Net?
On tools and environments he points out that the HOPL website lists 8512 programming languages. He claims rightly that there are too many languages/methodolgies and that there are also too many conferences and communities that do not talk to each other.
On multiprocessor design he talks ot modern multi-core machines and sites Amdhal’s law which states that if P is the proportion of a program that can be made parallel (i.e. benefit from parallelization), and (1 ? P) is the proportion that cannot be parallelized (remains serial), then the maximum speedup that can be achieved by using N processors is
(from Wikipedia: http://en.wikipedia.org/wiki/Amdahl’s_law)
Brian claims that grants, proposals, white papers, etc. for multi-core do not contain new ideas to address this fundamental problem and that multi-core systems only really help in cases in which we have multiple processes which do not interact.
The general thesis of this talk was that the progress in these three areas in the last 40 years has been quite disappointing.
Jean-Claude Laprie was more upbeat safety-critical systems, traditional software systems have pushed mean time to failure from a few hour to several years. He also mentioned formal methods and talked of the much cited Paris subway system. He said there is much promise and excitement in the future where we are moving away from static software engineering and moving towards Dynamic Software Engineering where systems are constructed by discovering and assembling independent services. This has many names including Service Oriented Architecture. This introduces more problems – evolutionary mismatches and introduces emergent behaviours. He cautions that in such systems there are problems with fault containment where a system becomes dependent on its component services.
He has many expectations in advances in dependability. He quotes Barry Boehm who says that improving agility and dependability will be one of the challenges for 21st century software engineers.
Michael Fagan was also more upbeat asking "what have we done to advance ourselves?". Languages are much more high level, terminology has changed, Methodologies have changed – or have they? – agile methodology for example. He described extreme methodologies and claimed it had been used by Harlan Mills many years ago (but not called Agile). He also advocated that we all keep things simple especially in the use of vocabulary – instead of using big words, use simple vocabulary – Occam’s razor again. He cites his experience of managing an OS project with several hundred software engineers (Michael Fagan introduced Inspections at IBM in the 1970’s). He also talked of attitudes and discipline have changed. However the big remaining problem with software engineering is getting requirements right. Who do we need to involve to insure that the user gets what the user wants? Intestingly, he asked if we could learn from the makers of games and talked about World of Warcraft and how rapidly they turn around versions of the game.
last week Angus MacDonald came third in the Scottish Young Software Engineer of the Year awards run by ScotlandIS. This was an excellent achievement which reflected a lot of hard work in Angus’ senior honours project. He picked up a cheque for £750 donated by Graham Technology, with his project for providing dynamic Web Service Composition system called YAWSA. This project reflects the research group‘s interest in web services and web service composition. Angus is continuing with this theme in his PhD work supervised by me.