Categories
technology

Design By Contract in C

Charlie Mills creates a Design-By-Contract library for C (which could equally be used for C++ with minor changes) in his most recent OnLamp article. DBC views functions and methods as contractual agreements between the functional caller and the object/module providing the function. Charlie’s implementation is a really neat idea using Object Constraint Language (OCL)to describe:

  • function preconditions
  • function postconditions
  • type and function invariants

The implementation is hacked up using Ruby and Racc and is available here.. I’m currently playing around with DBC for Java using iContracts and I’ll post the inevitable success stories here soon…

Categories
technology

Steve Vinoski’s comments on the WS* standardisation track

Following on from my earlier post about WS standardisation. Steve Vinoksi points out that traditional standardisation efforts are often too slow and overly political. In this month’s IEEE Distributed Systems Online (DSO) he discusses WS-NonexistentStandards. Lots of standardisation work but where are the accepted standards and how does the process facilitate the creation and adoption of practical standards?
To get around these problems, WS-* authors appear to be taking a different approach toward standardization:

  1. Write a specification and make it publicly available.
  2. Invite interested parties to one or more private workshops where they can learn more details about the specification and provide feedback.
  3. Iterate steps 1 and 2 until chosen feedback from the workshop participants has been incorporated, and the specification is considered finished.
  4. Submit the specification to an official standards body with the hope of fast tracking it to actual standardization with minimal changes.

Overall, this approach reduces the number of participants involved, which can be a good thing because it reduces the overall volume of communication required to create the specification and resulting standard. However, it can also reduce the resulting standard’s effectiveness, even rendering it useless, because it circumvents at least some of the process of building consensus by not being a truly open process. A standard that is not generally agreed on is a standard on paper only.

This definitely seems to be part of the problem. It’s in marked contrast to the IETF standardisation process which often appears much more open and perhaps democratic. However, it’s a fine line to walk. I can’t help but feel that 2 modifications to the process would significantly improve matters.

  1. The creation of WS-arch so we can categorically say what piece of the WS-jigsaw goes WS-where? đŸ˜‰
  2. Incentivised involvement of independent s/w developers in the standardisation process. Spec consumers rather than spec producer/pushers who can’t provide neutral guidance. Maybe even some decisions could be put to general developers using a web-based voting system.

Probably/definitely need to think about this more…

Categories
politics

America is a divided country

Boing-boing’s humorous take on secession. There’s a strong element of truth in this. I was watching a debate last night contrasting the voter turnout in the US with that in the UK at the last eleection. UK politicians generally believe that elections shouldn’t be decided based entirely on religious or moral issues. The differences between the 2 major political parties are a lot less tangible than in the US and can be reduced towards attitudes to tax and public spending (and even then the differences are arguably minimal as they must react to changes in the world economy)
However, in the US it’s always seemed like republicans and democrats sit on two opposing political fences with democrats sneering at republicans for being unsophisticated and republicans lambasting democrats for being amoral and ungodly. The reality lies somewhere between this polarised map of the US. (i.e. My political colours would be more democrat than republican but I must admit that Colin Powell and John McCain are sophisticated, smart and quite moderate in many ways and I have much respect for them, while some democrats are quite infantile in their attacks on “republican hicks”) It’s an interesting debate but I can’t help but feel that it leads to gross simplification of the issues and flawed foreign policy. Still, as a TV pundit pointed out “It’s democracy in action. The country may be divided but after the results people will go home and get on with their lives. There will be no rioting in the streets”

Categories
science

Using SMS to manage and contain the spread of infectious diseases

Read a very interesing article on Wired about a company called Cell-life which is developing SMS and Internet based monitoring software to enable a small team of doctors to effectively monitor the side-effects of Anti Retroviral (ARV)drugs used in the treatment of AIDS. In this case, many side-effects such as lactic-acidosis are life-threatening unless treatment is received quickly. The cell-life system enables fast diagnosis of these issues using SMS text messaging to communicate with doctors and interface with the system databases. It’s a wonderful example of technology having a beneficial effect on the lives of thousands of people and (as someone pointed out) a balance to my earlier techno-dystopia remarks…