Resumo: A evolução das plataformas de hardware transferiu uma grande quantidade de funcionalidades ao software de sistemas embarcados, aumentando sua complexidade. Abordagens como Model Driven Engineering (MDE) e Linha de Produto de Software (Software Product Line - PL) podem melhorar o desenvolvimento de sistemas embarcados por meio do uso de linguagens de especificação diferentes de acordo com os níveis de abstração, e de formas de gerenciar variabilidades ao longo do desenvolvimento. A abordagem SyMPLES apoia a concepção de PLs baseadas em SysML. SyMPLES inclui duas extensões SysML, criados pelo mecanismo de perfis UML, tanto para expressar os conceitos variabilidade de PL quanto para associar blocos SysML com as principais classes de blocos funcionais. SyMPLES foi criada inicialmente com foco na atividade de engenharia de domínio da PL, pois os modelos gerados na atividade de engenharia de aplicação não são refinados. Esta dissertação apresenta um processo de transformação de modelos SysML para modelos Simulink que visa complementar a abordagem SyMPLES. Os modelos SysML configurados são utilizados para criar blocos funcionais e máquinas de estado para o Simulink e Stateflow respectivamente. Um exemplo de aplicação foi desenvolvido para um subsistema de uma placa controladora do piloto automático utilizado em veículos aéreos não tripulados, chamado Yapa 2 do projeto Paparazzi. Esta placa é utilizada no contexto do Instituto Nacional de Ciência e Tecnologia para Sistemas Embarcados Críticos (INCT-SEC). Os resultados mostram que os modelos SysML configurados podem ser transformados a fim de representar o sistema com blocos funcionais, que facilita a geração de código.
Abstract: The evolution of hardware platforms has transferred a great amount of functionality to embedded software, thus increasing its complexity. Model Driven Engineering (MDE) and Software Product Line (PL) can enhance the development of embedded systems by means of using different specification languages according to the abstraction levels and and ways to manage variability across development. The SyMPLES approach supports the conception of SysML-based PLs. It includes two SysML extensions, created by means of the UML profiling mechanism both to express PL variability concepts and to associate SysML blocks to the main classes of functional blocks. SyMPLES was initially created with focus on domain engineering activity of PL, since the models generated in the application engineering activity are not refined. This dissertation presents one transformation process from SysML to Simulink models that is intended to supplement the SyMPLES approach. SysML models created in the PL application engineering activity from SyMPLES are used to create functional blocks and state machines. An application example was developed for one subsystem of an autopilot board used in Unmanned Aerial Vehicles, named Yapa 2 of Paparazzi project, which was studied into the context of National Institute of Science and Technology for Safety Critical Embedded Systems (INCT-SEC). The results show that SysML configured models can be transformed in order to represent the system with functional blocks, which facilitates the generation of code. |