A Agência Espacial Europeia (ESA) desenvolveu o standard Simulation Model Portability 2 (SMP2) com o objectivo de criar uma solução de desenho para o projecto de Spacecraft Simulators.

No paradigma orientado a objectos, as características que distinguem cada objecto são expressas em interfaces, as quais são usadas para especificar as interacções entre objectos. O planeamento da fase de desenvolvimento pode ser feito através de uma descrição dos objectos e da lógica de negócio por eles partilhada. Descrição essa que, se for realizada antes de qualquer especialização ao nível da linguagem de programação, pode ser considerada um artefacto de desenho.

Uma técnica de desenho diferente é a especificação de software através de código de teste. Similarmente aos modelos de desenho, o código de teste permite projectar o sistema antes da fase de desenvolvimento de código fonte. No entanto, o código de teste não segue um esquema pré-determinado como acontece no caso dos modelos de desenho, mas não deixa de ser um processo controlado, o qual é levado a cabo por um processo de refactoring em malha fechada. Enquanto que a técnica model-driven é apropriada para o desenvolvimento de sistemas baseados num modelo de componentes, a técnica test-driven é útil na construção de frameworks.

A solução de desenho apresentada nesta dissertação agrega os princípios das duas arquitecturas referidas. O objectivo é inverter a estratégia top-down dos processos model-driven num principio bottom-up característico de uma framework. São especificadas duas linhas de desenvolvimento de duas frameworks distintas: a primeira é a framework SMP2, que deriva dos modelos de desenho, e a segunda é a framework de infra-estrutura, que suporta o desenvolvimento de componentes reutilizáveis. Em vez de refinar os headers automaticamente produzidos a partir dos modelos de desenho, a implementação do código fonte é feita separadamente da framework SMP2. Duas fases de desacoplamento são previstas: a primeira distingue entre a descrição de interfaces e os headers correspondentes; a segunda distingue entre os headers e as implementações funcionais.

A transformação dos modelos de desenho em headers é automatizada pelos processos model-driven, mas o acesso ao código da framework de infra-estrutura tem que ser produzido manualmente e, por isso, é designado de mission specific. A articulação de ambas as frameworks e dos seus componentes é conseguida através do GNU Build System. Esta ferramenta fornece um conjunto de linguagens de modelação de dependências entre projectos de software que permite automatizar o processo de criação de makefiles. Juntamente com o código mission specific, a possibilidade de modelar dependências entre software ao nível do código permite aos programadores combinar facilmente as duas frameworks.

 
Topo