Matching the Challenges of Embedded Systems Engineering
Prof. Zoran Salcic (Department of Electrical and Computer Engineering, University of Auckland, New Zealand)
Embedded systems are a new focal point of computer engineering. Typical examples include automotive systems, complex sensor networks, cyber-physical systems, manufacturing and control systems, robotics, intelligent home and office environments etc. For their complexity, particularly their interaction with the physical world on one end and computer execution platform on the other, which often involves real-time requirements, they raise many new challenges such as determinism in reactions to external events, real-time operation, robustness and reliability, scalability and execution platform resource awareness, which are not typical for traditional best-effort computing.
Systematic approach to embedded systems engineering will be the key for their successful deployment in variety of application areas. We argue that the design approaches based on formal models of computation, are potentially the answer to deal with the challenges engineers face. The design approach centred on a formal model of computation (MoC) gives the opportunity to check for the properties of the designed system at various levels of abstraction the systems are presented during their design, deal will well defined system model that may lead towards correct by construction systems and formalize and automate the whole design flow.
As an example of a formal MoC we use and propose is the globally asynchronous locally synchronous (GALS) model that naturally models huge number of embedded systems, provides for modelling of interaction of the designed system with the physical world and is scalable in its both versions, static and dynamic GALS. It also represents a natural link between the physical systems and computer execution platform on which an embedded system is implemented. This model was used as the main inspiration for proposing and implementing two new system-level design (and programming) languages, SystemJ and DSystemJ, for static and dynamic systems design, respectively. Those two languages and their execution will be presented in more details. We will also discuss the execution platform challenges and the outlook of extending those languages towards satisfying requirements of real-time systems.
Zoran Salcic is a professor of computer systems engineering at the University of Auckland. He received the BE (1972), ME (1974), and PhD (1976) degree in electrical engineering from the University of Sarajevo while doing most of his PhD research at the CCNY of the City University of New York (CUNY). He published more than 250 journal and conference papers, books and book chapters, as well as major technical reports in the areas of complex digital systems design, custom-computing machines, reconfigurable systems, FPGAs, processor and computer systems architectures, embedded systems and their implementation, design automation tools for embedded systems, hardware-software co-design, new computing architectures and models of computation for heterogeneous embedded systems. He is a fellow of the Royal Society (Academy of Science) New Zealand. Currently (2010) he is the visiting professor at the Friedrich-Alexander University, Erlangen-Nuremberg, as the recipient of Humboldt research award.