When I was first learning German language in high school the first book(1) that we read was “Emil und die Detektive” a “young adult” book.
Wann ich ersten Deutsche studiere, ich lessen die Buch “Emil and the detectives”
The final book that I read was Goethe’s Faust. Needless to say the later book was a of more interest. I remember the ideas of Faust, I remember little of the Detectives, so why did I start with YA lit?(2) And why am I writing about it a blog about Model-Based Design?
When learning a language it is obvious that you should start with simple examples where you learn the fundamentals of the structure and expand your vocabulary. However if you never move to more complex subjects your understanding of the language (and in the case of literature life itself) will be forever arrested at a low level.
The gain block: Hello world of Simulink
The cliche first program is often the simple print out of “hello world”. In Simulink the first model is “Input, gain, output”. It can be used to show
- How blocks are added to the model
- How blocks are connected
- How to parameterize the model
- How to simulate a model….
After learning, simple models
Finally on to the subject of this post; why do we create simple models once we have learned the “language”?
- To validate understanding: for blocks / constructs that are more complex a simple model that exercises range of behaviors helps us understand it under all modes of operation.
- Debugging: You are trying to isolate parts of the model to determine where an error in you system occurs.
- Instructional: You are using the model to introduce people to basic concepts
Why models are not like books…
When I read a YA book in German I knew, through daily life, that the language of the book was targeted at younger readers. When I see an example model in a new language I don’t know if the pattern I’m seeing is the “adult” pattern or the YA pattern.
The most common “faults” of example models are(3)
- Size: large models serve no purpose in showing concept basic concepts.
- Mitigation: create example “large model” cases. Walk through the best practices for large models (and system of models.
- Efficiency: to illustrate one concept we will often make other parts of the model simpler.
- Mitigation: explicitly state the area of the model that is expanded for instruction
- Problem specific: sometimes examples are intended to demonstrate how to solve a specific problem but that solution maybe incorrect in other situations.
- Mitigation: explicitly state what the scope of the solution is
- Lack of domain knowledge: this last issue is the hardest to deal with; on occasion example models are created by people who are new to the language and, as a result, they come up with solutions that are non-advisable.
- Mitigation: peer review and look to industry sources for examples.
- The second book was “The little prince”; which in hindsight was an odd choice since it was originally written in French. Still I could never forget the word for sunrise and sunset. (Sonnenuntergang und Sonnenaufgang; this makes singing songs from Fiddler on the Roof in German difficult)
- In truth, written in 1928, it provides a much more realistic view of life than modern Young Adult novels. Danke, dass Sie Goss vermissen.
- In all honesty I have been guilty of all of these things in my examples over the years; however I have tried to correct this through the mitigation recommendations I have listed.