Yesterday I managed a one-day workshop on dichotomies in designing distributed systems, for 25 master students in the class “Designing for Systems”. The dichotomies addressed were standalone/distributed, centralized control/decentralized control, and process-/product-oriented design, as well as a hidden agenda for the conflicts between standards and implementations. In this workshop I wanted the student to “experience” the dichotomies Instead of me telling the story.
Two types of distributed systems were focused on, client/server and peer to peer. Students were divided into four groups, one working on C/S, two on P2P and another on standardization of data and communication. They are briefed and quickly pushed into hands-on work to make a few AdMoVeo robots to dance together, in a distributed setting.
The workshop worked out quite well in terms of its designed goals, and actually it was beyond my expectations – I did not expect that robots would really dance together, but at the end of the day, all the teams managed to show something, at least partially working. One of the other things surprised me was the difficulties they had in creating and parsing XML documents, which was suggested for saving time from standardizing the data and message formats. I could have made some partially working code snippets to reduce the load.
As a result of the Master class “LEGO beyond toys”, Sjef Franse, one of our master students, created a lego brick “WifiBlock” that connects the NXT to the Internet. The complete hardware and software design is described in his report:
Abstract. When designing product behavior, the designer often needs to communicate to experts in computer software and protocols. In present-day software engineering, formal specification methods such as the Universal Modeling Language have been widely accepted. Teaching design students these formal methods is non-trivial because most of design students often have difficulties in programming the behaviors of complex produces and systems. Instead of programming, this paper presents a technique, namely “acting-out”, for design students to master the formal methods. The experience shows that acting-out not only worked out very well as a teaching technique, but also showed the potential for bridging the processes of industrial design and software engineering.
J. Hu, P. Ross, L. Feijs, and Y. Qian, “UML in Action: Integrating Formal Methods in Industrial Design Education ” Technologies for E-Learning and Digital Entertainment, Series, 4469/2007, pp. 489-498: Springer, 2007.
FULLTEXT: PDFHTML REFERENCE: BibTeXEndNote
product with sensors, actuators and network connections can offer an
interesting, useful, or playful behavior to its users and to the other
products, systems and services to which it is connected. The ID Master
takes responsibility for the creation of this behavior. If the product
isn’t stand-alone, neither is the designer. Whenever product behavior
is realized through computer software and protocols, the designer takes
advantage of being an excellent communicator in these matters.