This year we asked the participants to develop a small, illustrative example of the use of Dezyne and to provide us with ideas on how Dezyne could be made easier and more compelling to use. The theme: Concurrency and/or IoT. This resulted in 7 completed entries.
Related: Reengineering legacy software with Dezyne
One of the winning entries deserves a bit of special attention. As we encourage young talents to follow their passion when it comes down to coding & software, we were thrilled when we found out that one of the participants of the Dezyne Challenge 2018 was born in the early 2000’s.
This young representative of the new generation of developers is named Etienne Kuppens participated in the challenge with his dad, Hans Kuppens. Together they worked on an example of Dezyne that fits in very well with their main hobby, namely making music together. Hans explains,
“Making music is something that people do quite concurrently, and these people have to communicate and exchange information just like with the IoT.”
The Conductor and the Musicians
The Dezyne Digital Orchestra project consists of two independent applications: The Conductor and the Musicians. Interesting fact: These applications have been developed independently by the two participants of the challenge.
Related: Why Model Driven Software Engineering is the Future of Software Development
The role of the Conductor is to read a song (midi file) from the file system, and to broadcast the midi notes to all Musicians that are connected to the Conductor. The Conductor determines the rhythm in which the song is played. The role of a Musician is to connect to the Conductor and to play the received midi notes on the audio device. In the example project, each Musician plays all notes that are received but this could easily be extended such that a Musician applies a filter on the notes and only plays the instrument(s) that the Musician is capable of.
Note: The application allows that Musicians can freely hook on and hook off, also during the playing of a song. Only when all Musicians are hooked off, the Conductor stops conducting.
Curious to know what Etienne and Hans think of their Project, what the results are and what their best practices were? Find the entire Digital Orchestra Example here!