210 likes | 396 Views
Desenvolvimento de sistemas embarcados Metodologia OMEGA. Gregório Baggio Tramontina (RA 014864) Ricardo Ribeiro dos Santos (RA 030060). MO409. 1. IC - UNICAMP. Roteiro. Contexto de desenvolvimento de software embarcado Metodologia Omega Motivação Características Fases Modelos
E N D
Desenvolvimento de sistemas embarcados Metodologia OMEGA Gregório Baggio Tramontina (RA 014864) Ricardo Ribeiro dos Santos (RA 030060) MO409 1 IC - UNICAMP
Roteiro • Contexto de desenvolvimento de software embarcado • Metodologia Omega • Motivação • Características • Fases • Modelos • Ferramentas • Parceiros • Prós e contras • Conclusões MO409 2 IC - UNICAMP
Metodologias para desenvolvimento de software embarcado • Software Embarcado: realiza uma tarefa muito específica relacionada com o ambiente ao qual está inserido • Exemplos: controle de aparelhos domésticos, sistemas de processamento de sinais, entre outros • Software embarcado possui particularidades • divisão de tarefas com HW • forte integração com plataforma de baixo nível • requisitos de tempo • Contexto do trabalho: Software que atua em um dispositivo móvel e possibilita que um usuário possa realizar algumas operações relacionadas ao sistema de hotel MO409 3 IC - UNICAMP
OMEGA • Resultado do projeto Omega (http://www-omega.imag.fr) iniciado em 2002 • Motivação: Suporte formal (notações e ferramentas) em todas as fases de desenvolvimento • Foco: Sistemas Embarcados de tempo real • Seleção e extensão de um subconjunto de notações UML • Ênfase na modelagem dos aspectos comportamentais e estáticos do sistema • Processo de desenvolvimento inspirado em abordagens utilizadas pela indústria: • Requisitos, arquitetura, análise e projeto e implementação Requisitos Definição da arquitetura MO409 4 IC - UNICAMP Análise e Projeto Refinar Produzir versão do sistema
Requisitos • Requisitos são expressos por meio de diagramas de casos de uso • Segue a especificação UML • Nesta fase, substitui-se o diagrama de seqüência pelo Live Sequence Chart (LSC) para representar as interações entre elementos de um cenário • LSC com recursos de temporização • Algumas características dos LSCs: • distinguem entre cenários que podem (existencial) dos que devem (universal) acontecer no sistema • inclusão de condições que podem ser verdadeiras (condições “frias”) e condições que devem ser verdadeiras (condições “quentes”) • permite atribuições explicitamente MO409 5 IC - UNICAMP
Verificar Disponibilidade Verificar Despesas Realizar Pré-reserva Realizar Cadastro Emitir relatórios MO409 6 IC - UNICAMP Exemplo - Requisitos • Estudo de caso: sistema de hotel cliente gerentes empresários
Condição quente Cliente Dispositivo Controle de Cadastro chart Pre-chart Estado=ocioso * loop Requisita lista hotéis T1: Time Time<T1+30 Condição fria * Seleciona hotel, período da reserva Atribuição T2: Time Time<T2+30 MO409 IC - UNICAMP 7 Exemplo - Requisitos • Caso de uso: Verificar disponibilidade • Modelagem usando LSC Consulta sist. disponibilidade Informações dos hotéis Informações dos hotéis Verifica disponibilidade no período Lista quartos livres Lista quartos livres
Arquitetura do software é descrita por componentes que interagem através de interfaces • Componente: parte modular do sistema que encapsula conteúdo e expõe um conjunto de interfaces • Componentes são representados pelo diagrama de componentes • A definição e modelagem da arquitetura segue o documento UML 2.0 Proposal v. 0.671 (draft) MO409 8 IC - UNICAMP Arquitetura
Hotel Sist Disponibilidade Hospede Reserva MO409 9 IC - UNICAMP Exemplo - Arquitetura • Definição e relacionamento entre componentes do sistema de disponibilidade inf_hotel hotel «component» «component» inf_reserva reserva «component» hóspede «component»
MO409 Análise e Design • Análise inicial do domínio da aplicação • Iteração das etapas: • Análise e design de uma parte do sistema (incremental) • Gradualmente adicionam-se detalhes até que se esteja próximode uma implementação concreta (refino) • Inicialmente protótipos rápidos, depois produção de sucessivasreleases com funcionalidade crescente • Use-case driven: a cada iteração, um use-case é desenvolvido • Notação básica: diagrama de classes • Object Constraint Language (OCL) • diagrama de estados (classes reativas) 10 IC - UNICAMP
MO409 Exemplo - Análise e Design • Diagrama de classes 11 IC - UNICAMP
MO409 Exemplo - Análise e Design • Statechart 12 IC - UNICAMP
MO409 Implementação • Mapeamento do design detalhado em uma arquiteturafísica particular e codificação • Enriquecimento dos diagramas UML com • limites de tempos de execução • mapeamento de processos para processadores • políticas de escalonamento • prioridades • etc. • Principal notação: Deployment diagram • visão estática da distribuição dos componentes no sistema • especifica a distribuição de “artefatos” (componentes,softwares de terceiros, etc.) para os “nós” (recursoscomputacionais) 13 IC - UNICAMP
MO409 Exemplo - Implementação • Deployment diagram <<device>> :ServAplicação {SO=LinuxRT} <<Wireless>> <<TCP/IP>> <<artifact>> VerificaDisp {componente=Sist. Disponibilidade Local=/app/bin/} <<device>> :DispositivoMóvel {SO=PalmOS} <<device>> :ServBD {SO=Linux} <<artifact>> Navegador Web {fornecedor=Palm} <<artifact>> CadHoteis.so {componente=Hotel Local=/app/bin/} BD do Hotel <<database>> {fornecedor=Oracle Versão=9i} <<artifact>> Reservas.so {componente=Reserva Local=/app/bin/} 14 IC - UNICAMP
MO409 Apoio ferramental • Desenvolvimento pela própria equipe do projeto e por terceiros Fonte: http://www-omega.imag.fr 15 IC - UNICAMP
MO409 Parceiros Fonte: http://www-omega.imag.fr 16 IC - UNICAMP
MO409 Prós e Contras • Não contempla a fasede testes e manutenção • Processo de desenvolvimentoproposto pela metodologiasegue um workflow simples • As ferramentas ainda não estãocompletas • Integração hardware-softwareprecisa de mais atenção • Ainda está em desenvolvimento • Busca ser completa e rigorosa • Usa UML, que já é conhecida • Traz os requisitos de temporeal do domínio não funcionalpara o funcional • Projeto desenvolve ferramentaspara suporte à metodologia • Possui parceiros acadêmicos eindustriais que ajudam na avaliaçãoda metodologia 17 IC - UNICAMP
MO409 Conclusões • No estágio atual, OMEGA é voltada para características de tempo real • Espera-se que, quando mais desenvolvida, contemple a integração hardware-software mais fortemente • Não serve apenas para softwares embarcados • No geral, metodologias ainda não estão bem definidas • Geralmente específicas para cada domínio • Literatura apresenta vários processos, ferramentas, linguagens de especificação, mas há lacunas quanto a metodologias completas 18 IC - UNICAMP
Referências • Hooman, J., Towards Formal Support for UML-based Development of Embedded Systems. Proc. of the 3d PROGRESS Workshop on Embedded Systems, Technology Foundation STW, p. 71-76, 2002. • Graf, S., Hooman, J., Correct Development of Embedded Systems. Proc. of the First European Workshop on Software Architecture (EWSA 2004), LNCS 3047, Springer-Verlag, pp. 241-249, 2004. • Damm, W., Harel, D.,LSCs: Breathing Life into Message Sequence Charts. Formal Methods in System Design, v. 19, p. 45-80, 2001, Kluwer Academic Publishers. Netherlands. • Harel, D., Marelly, R., Playing with Time: On the Specification and Execution of Time-Enriched LSCs.In Proc. 10th IEEE/ACM Int. Symp. on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, Fort Worth, Texas 2002. • Agrawal, S., Bhatt, P., Real-time Embedded Software Systems – An Introduction. Technology Review #2001-04, Tata Consultancy Services, August, 2001, Disponível em http://www.tcs.com/0_whitepapers/htdocs, Visitado em 08/11/2004. MO409 19 IC - UNICAMP
Referências • Gurd, A., Using UML 2.0 to Solve Systems Engineering Problems. Telelogic White Paper, 2003, disponível em http://www.telelogic.com/download/paper, Visitado em 08/11/2004. • OMG, UML 2.0 Proposal v. 0.671 (draft), disponível em http://www.omg.org/cgi-bin/doc?ad/02-01-12, visitado em 23/11/2004. • Site oficial OMEGA, http://www-omega.imag.fr, visitado em 25/11/2004. • OMG, OMG Unified Modeling Language Specification, versão 1.5, Março/2003,disponível em http://www.omg.org/cgi-bin/apps/doc?formal/03-03-01.pdf,visitado em 25/11/2004. • Site oficial PVS Specification and Verification System, http://pvs.csl.sri.com/, visitado em 25/11/2004. MO409 20 IC - UNICAMP
MO409 Fases, UML e Ferramentas 21 IC - UNICAMP