Model Driven Engineering Methodology for Design Space Exploration of Embedded Systems
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO MARCIO FERREIRA DA SILVA OLIVEIRA Model Driven Engineering Methodology for Design Space Exploration of Embedded Systems Thesis presented in partial fulfillment of the requirements for the degree of Doctor of Computer Science Prof. Dr. Flávio Rech Wagner Advisor Prof. Dr. ret. nat. Franz-Joseph Rammig Co-advisor Porto Alegre, October 2013 CIP – CATALOGING-IN-PUBLICATION Oliveira, Marcio Ferreira da Silva Model Driven Engineering Methodology for Design Space Exploration of Embedded Systems / Marcio Ferreira da Silva Oliveira. – Porto Alegre: PPGC da UFRGS, 2013. 198 f.: il. Thesis (Ph.D.) – Universidade Federal do Rio Grande do Sul. Programa de Pós-Graduação em Computação, Porto Alegre, BR– Brazil, 2013. Advisor: Flávio Rech Wagner; Co-advisor: Franz- Joseph Rammig. 1. Embedded systems. 2. Design space exploration. 3. Model- driven engineering. 4. UML. 5. Platform-based design. I. Wag- ner, Flávio Rech. II. Rammig, Franz-Joseph. III. Título. UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Reitor: Prof. Carlos Alexandre Netto Pró-Reitor de Coordenação Acadêmica: Prof. Rui Vicente Oppermann Pró-Reitora de Pós-Graduação: Prof. Vladimir Pinheiro do Nascimento Diretor do Instituto de Informática: Prof. Luís da Cunha Lamb Coordenador do PPGC: Prof. Luigi Carro Bibliotecária-chefe do Instituto de Informática: Beatriz Regina Bastos Haro ACKNOWLEDGEMENT Again, I reached the end of another journey and I would like to thank many people and institutions that I had met in the way and contributed directly or indirectly to this work. I start with my thanks to “Conselho Nacional de Pesquisa” (CNPq), and “Deutscher Akademischer Austausch Dienst” (DAAD) for the partial support to my PhD research. This journey started in the Embedded System Laboratory at the Federal University of Rio Grande do Sul (UFRGS), Brazil, where I found more friends than colleagues. We studied or worked together for four years, and from them I learned the fundamentals that guided me to the end of this journey. Now they are all spread from the south to the north of Brazil, but I hope we stay close some how. I am grateful to all people in the Embed- ded System Laboratory. I should mention some people for the discussions, contributions, and friendship: Bixo (a.k.a Ronaldo Ferreira), Francisco Nascimento, Marco Wehrmeis- ter, Lisane Brisolara, and Gustavo Girão, thank you. Special thanks to Bixo for your friendship and support. At some point in time, my journey has yawed to the “Old World”(Europe), where I met new people and new culture. What should be a one year stay became an unlimited time residence and now Germany is also my country. Thanks to the people from Rammig A.G. and C-LAB at University of Paderborn (UPB) for the great time we stayed together. Thanks to Henning Zabel and Alexander Krupp, for your welcome and support when I joined the group. Thanks to other colleagues from the ADT Group at C-LAB, Wolfgang Müller, Mabel Joy, Markus Becker, Kay Klobedanz, Tao Xie, Da He, Fabian Mischkalla, Gilles Defo (Bertrand), Chistoph Kuznik, Diana Riemer, and Jan Jatzkowski. I would like to acknowledge my supervisors, Prof. Flávio Wagner (UFRGS) and Prof. Franz Rammig (UPB). Thanks for sharing your time and knowledge. Thanks for your unbounded patience and correct advices during all this time. Special thanks to my relatives and my family, which got expanded since I left Brazil. There are no words to express my gratitude to my wife, Daniele Avila, who followed me all these years. Thanks for your support, encouragement and empathy. I want to thank my son Henrique, who was born during this journey and “donated” part of his time with me, so that I could spend more time at work (It is also an apology). Thanks to Avilas Family for your support and allowing me to kidnap your daughter and bring her to the other side of the Atlantic. Thanks to my parents, brother, and grand parents for understanding my dreams and accept the distance. I love you all. Model Driven Engineering Methodology for Design Space Exploration of Embedded Systems ABSTRACT Nowadays we are surrounded by devices containing hardware and software compo- nents. These devices support a wide spectrum of different domains, such as telecom- munication, avionics, automobile, and others. They are found anywhere, and so they are called Embedded Systems, as they are information processing systems embedded into enclosing products, where the processing system is not the main functionality of the prod- uct. The ever growing complexity in modern embedded systems requires the utilization of more components to implement the functions of a single system. Such an increas- ing functionality leads to a growth in the design complexity, which must be managed properly, because besides stringent requirements regarding power, performance and cost, also time-to-market hinders the design of embedded systems. Design Space Exploration (DSE) is the systematic generation and evaluation of design alternatives, in order to opti- mize system properties and fulfill requirements. In embedded system development, specifically in Platform-Based Design (PBD), cur- rent DSE methodologies are challenged by the increasing number of design decisions at multiple abstraction levels, which leads to an explosion of combination of alternatives. However, only a reduced number of these alternatives leads to feasible designs, which ful- fill non-functional requirements. Moreover, each design decision influences subsequent decisions and system properties, hence there are inter-dependencies between design de- cisions, so that the order decisions are made matters to the final system implementation. Furthermore, there is a trade-off between heuristics for specific DSE, which improves the optimization results, and global optimizers, which improve the flexibility to be applied in different DSE scenarios. In order to overcome the identified challenges an MDE methodology for DSE is pro- posed. For this methodology a DSE Domain metamodel is proposed to represent relevant DSE concepts such as design space, design alternatives, evaluation method, constraints and others. Moreover, this metamodel represents different DSE problems, improving the flexibility of the proposed framework. Model transformations are used to implement DSE rules, which are used to constrain, guide, and generate design candidates. Focus- ing on the mapping between layers in a PBD approach, a novel design space abstraction is provided to represent multiple design decisions involved in the mapping as a single DSE problem. This abstraction is based on Categorical Graph Product, decoupling the exploration algorithm from the design space and being well suited to be implemented in automatic exploration tools. Upon this abstraction, the DSE method can benefit from the MDE methodology, opening new optimization opportunities, and improving the DSE integration into the development process and specification of DSE scenarios. Keywords: embedded systems, design space exploration, model-driven engineering, UML, platform-based design. Metodologia de Engenharia Dirigida por Modelos para Exploração do Espaço de Projeto de Sistemas Embarcados RESUMO Atualmente dispositivos contendo hardware e software são encontrados em todos os lugares. Estes dispositivos prestam suporte a uma varieadade de domínios, como teleco- municações, automotivo e outros. Eles são chamados “sistemas embarcados”, pois são sistemas de processamento montados dentro de produtos, cujo sistema de processamento não faz parte da funcionalidade principal do produto. O acréscimo de funções nestes sistemas implica no aumento da complexidade de seu projeto, o qual deve ser adequada- mente gerenciado, pois além de requisitos rigorosos em relação à dissipação de potência, desempenho e custos, a pressão sobre o prazo para introdução de um produto no mer- cado também dificulta seu projeto. Exploração do espaço de projeto (DSE) é a atividade sistemática de gerar e avaliar alternativas de projetos, com o objetivo de otimizar suas propriedades. No desenvolvimento de sistemas embarcados, especialmente em Projeto Baseado em Plataformas (PBD), metodologias de DSE atuais são desafiadas pelo crescimento do nú- mero de decisões de projeto, o qual implica na explosão da combinação de alternati- vas. Porém, somente algumas destas resultam em projetos que atedem os requisitos não- funcionais. Além disso, as decisões influenciam umas às outras, de forma que a ordem em que estas são tomadas alteram a implementação final do sistema. Outro desafio é o balanço entre flexibilidade da metodologia e seu desempenho, pois métodos globais de otimização são flexíveis, mas apresentam baixo desempenho. Já heurísticas especial- mente desenvolvidas para o cenário de DSE em questão apresentam melhor desempenho, porém dificilmente são aplicáveis a diferentes cenários. Com o intuito de superar os desafios é proposta uma metodologia de projeto dirigido por modelos (MDE) adquada para DSE. Um metamodelo do domínio de DSE é definido para representar conceitos como espaço de projeto, métodos de avaliação e restrições. O metamodelo também representa diferentes problemas de DSE aprimorando a flexibili- dade da metodologia. Regras de transformações de modelos implementam as regras de DSE, as quais são utilizadas para restringir e guiar a geração de projetos alternativos. Restringindo-se ao mapeamento entre camadas no PBD é proposta uma abstração para representar o espaço de projeto. Ela representa múltiplas decisões de projeto