Feb 02, 2016: Waheed Ahmad: Applying Model-Driven Engineering for Hardware/Software Co-design of Dataflow

February 02, 2016Applying Model-Driven Engineering for Hardware/Software Co-design of Dataflow
Room: HB 2FWaheed Ahmad

Concurrent programming has seen a major upswing over last few decades. As a result of key advances in the field of multicore processors, concurrent programming has emerged as a dominant paradigm in modern-day embedded computer architecture. However, the advantages of concurrent programming are undermined by the growing power consumption of computing systems.

Hardware/software (HW/SW) co-design is an engineering practice that allows to meet system-level objectives by exploiting the synergism of hardware and software through their concurrent design. Furthermore, HW/SW co-design process helps to analyse the minimum energy consumption by an application to meet its real-time requirements. However, current HW/SW co-designing methods and frameworks cannot cope with rising concurrency and complexity of modern-day systems. Consequently, the time and effort in modelling and validating such designs is adversely affected. Therefore, an automated modelling approach is required that supports: (a) modularity for modelling hardware and software separately, (b) interoperability with other tools, (c) extensibility for satisfying possible future requirements, and (d) completeness so that modelling approach should cover all domain concepts.

Model-Driven Engineering (MDE) is an approach that fulfils the aforementioned requirements. In MDE, a metamodel captures the important concepts in the target domain in a formally specified way. One can use a metamodel to create models in that domain. Having separate metamodels for domains of interest help to keep the design modular and easily maintainable. The models can be transformed to each other via model transformations defined at metamodel level.

In this work, we adopt a MDE approach to HW/SW co-design for optimising power consumption of streaming applications. We applied this framework, to several case studies, including an MPEG-4 Decoder, a MP3 Decoder and an Audio Echo Canceller. The results demonstrate that model-driven engineering fulfils the criteria of interoperability with other tools, modularity by modelling software and hardware separately, completeness by preserving all domain concepts, and extensibility for covering future requirements. Automatic generation of Uppaal Cora models using model transformation further ensures that the model and implementation are consistent, and takes minimal effort and time.