Robotics and concurrency






Many robotics applications are by nature concurrent; in his ongoing PhD work, Andrey Rusakov [1] is building a comprehensive concurrent robot programming framework, Roboscoop [2], based on the SCOOP model for simple concurrent object-oriented programming [3] and the Ros operating system. As part of this work it is important to know how much robotics applications … Read more




Software for Robotics: 2016 LASER summer school, 10-18 September, Elba






The 2016 session of the LASER summer school, now in its 13th edition, has just been announced. The theme is new for the school, and timely: software for robotics. Below is the announcement. School site: here The 2016 LASER summer school will be devoted to Software for Robotics. It takes place from 10 to 18 … Read more




Design by Contract: ACM Webinar this Thursday






A third ACM webinar this year (after two on agile methods): I will be providing a general introduction to Design by Contract. The date is this coming Thursday, September 17, and the time is noon New York (18 Paris/Zurich, 17 London, 9 Los Angeles, see here for hours elsewhere). Please tune in! The event is … Read more




New paper: Theory of Programs






Programming, wrote Dijkstra many years ago, is a branch of applied mathematics. That is only half of the picture: the other half is engineering, and this dual nature of programming is part of its attraction. Descriptions of the mathematical side are generally, in my view, too complicated. This article [1] presents a mathematical theory of … Read more




Understanding and assessing Agile: free ACM webinar next Wednesday






ACM is offering this coming Wednesday a one-hour webinar entitled Agile Methods: The Good, the Hype and the Ugly. It will air on February 18 at 1 PM New York time (10 AM West Coast, 18 London, 19 Paris, see here for more cities). The event is free and the registration link is here. The … Read more




Awareness and merge conflicts in distributed development (new paper)






How can we make sure that people are aware of each other’s changes to a shared software base? Iin particular, can we avoid the dreaded case of a merge conflict: you and I are working on the same piece of code, but we find out too late, and we have to undergo the painful process of reconciling our conflicting changes.







Detecting deadlock automatically? (New paper)






To verify sequential programs, we have to prove that they do the right thing, but also that they do it within our lifetime — that they terminate. The termination problem is considerably harder with concurrent programs, since they add a new form of non-termination: deadlock. A set of concurrent processes or threads will deadlock if … Read more