Software Constraints

Downloads / Links

Descrition Link
Short presentation about using const in C++.
Whole Sofrware Constraints project work with the title Evaluation and Re-Design of a Software-Framework for Mobile Autonomous Robots Using Modern Guidelines of Object-Oriented Design and Coding Standards as PDF file.
These are the presentation slides to the project work above as PDF file.
This ZIP file contains the source files referred to from the project work.
Software Constraints Course website.

Useful papers concering software design / constraints

Descrition Link
John Vlissides, Visitors in Frameworks. C++ Report, Nov./Dec. 1999
Useful information about interators in C++ every developer should know.
Scalability and complexity analysis (Thomas Guest, The Lazy Builder's Complexity Lesson, The C++ Source. Artima Developer, Oct. 2006.)
The traits idiom is an important idiom in designing configurable software. This website gives an idea of this concept.
A conceptual alternative to destructors in C++ are finally clauses in C# and Java. Here, Jon Jaggersoft gives an idea of this concept.
The website of the C# standard.
Bjarne Stroustrup, the designer of C++, has made available appendix E of his classical book The C++ Programming Language; this appendix deals with exception safety.
This article is about the tradeoff between performance and the strong guarantee for C++/STL containers.
An interesting article about The infamous Double-Checked Locking Is Broken idiom
In this article Doug Lea provides a detailed explanation of why the Double-Checked Locking idiom is wrong.
The paper Finding Concurrency Bugs in Java by David Hovemeyer and William Pugh identifies and classifies common concurrency bugs.