Learning on the Job: Supporting the Evolution of Designs
Bran Selic, Malina Software Corp., Canada
System design is the process of finding a suitable solution in the abstract space of possible design variants. As design progresses, we identify and evaluate potential design alternatives, learning in the process not only about possible solutions but, if we are doing it right, about the problem on hand. (A wise man once noted: “If you think about a problem long enough, you will always find a better way of solving it.”) Engineering models can and should play a fundamental role in this process, supporting both understanding and invention.
In this talk, we first present a view of design as a search problem (which clearly distinguishes it from the closely related project management process with which it is often confused). From this perspective, we identify and categorize the issues involved in design and focus in particular on where and how models and model-based technologies can help overcome them. The talk concludes with a list of related research challenges for the modeling community.
Bran Selic is President and Founder of Malina Software Corp., a Canadian consulting and research enterprise, focused on model-based software and systems engineering. Bran has over 40 years of industrial experience in the design and development of complex software-intensive systems in various technical domains (robotics, aerospace, telecom, and industrial control). He was one of the primary contributors to the Unified Modeling Language (UML) and other modeling language standards. He is formally affiliated as an adjunct with several academic and research institutions.