Innovations Syst Softw Eng (2009) 5:49–64
DOI 10.1007/s11334-009-0077-4
ORIGINAL PAPER
MDE for SoC design
Drago¸ s Tru¸ scan · Torbjörn Lundkvist ·
Marcus Alanen · Kim Sandström ·
Ivan Porres · Johan Lilius
Received: 1 September 2008 / Accepted: 12 January 2009 / Published online: 18 February 2009
© Springer-Verlag London Limited 2009
Abstract We employ the principles of model-driven
engineering to assist the design of system-on-chip (SoC)
architectures. As a concrete example, we look at the MICAS
architecture, for which we propose a graphical specification
language, defined via metamodeling techniques, that models
the architecture at different abstraction levels. Model trans-
formations are defined to support the refinement of MICAS
specification towards implementation. In addition, several
libraries are put in place, to enable reuse and automation
throughout the design process. Tool support for editing the
specifications, enforcing their consistency, and for running
the transformations is provided via the Coral modeling frame-
work. The approach shows that model-driven engineering
can be seen as an enabler in providing computer-aided soft-
ware engineering (CASE) tool support and automation for
the development of SoC architectures.
D. Tru¸ scan (B ) · T. Lundkvist · I. Porres · J. Lilius
Department of Information Technologies,
Åbo Akademi University, Joukahaisenkatu 3-5B,
20520 Turku, Finland
e-mail: dragos.truscan@abo.fi
T. Lundkvist
e-mail: tlundkvi@abo.fi
I. Porres
e-mail: iporres@abo.fi
J. Lilius
e-mail: jolilius@abo.fi
M. Alanen
Ixonos Plc, Hitsaajankatu 24, P. O. Box 284,
00811 Helsinki, Finland
e-mail: marcus.alanen@ixonos.com
K. Sandström
Nokia Research Centre, Itämerenkatu 11 - 13, 00180 Helsinki, Finland
e-mail: kim.q.sandstrom@nokia.com
Keywords Model-driven engineering · System on
chip · Domain-specific language · Metamodel · Model
transformation
1 Introduction
Custom architectures, combining the modularity of design
with programmability and dedicated hardware accelerators
for optimal performance, have become increasingly popu-
lar in current times in the attempt to cope with the complex
requirements of applications. However, managing the com-
plexity of the architectural specifications requires the devel-
opment of abstract views that would model the architecture
at several levels of detail, starting from logical circuits and
continuing with the components of the architecture, each cap-
turing only details relevant to a given step of the development.
In recent years, the adoption of model-driven engineering
(MDE) [2] principles has become more popular in industrial
settings as a means to provide abstraction levels, tool sup-
port, and automation during the design process. The basic
ingredients of MDE are models, languages, and platforms.
The main development step in a MDE method transforms a
model into a more detailed one, by architecting that model
onto a particular platform.
In this article, we examine the use of the MDE princi-
ples to provide support for designing system-on-chip (SoC)
architectures. We experiment our approach on a custom SoC
architecture, called MICAS. More concretely, we look at
defining a graphical domain-specific language (DSL) for
MICAS, accompanied by a collection of transformations that
enable the refinement of different MICAS models and by
a set of libraries (at different abstraction levels) to provide
support for reuse and automation. The libraries are used to
store not only component specifications, but also reusable
123