Formalismos de Grafos de Interação (“A Model-based Approach for developing 3D Users Interfaces”- Juan Manuel Gonzalez Calleros) Disciplina:Tópicos em IHC II- Interação 3D Professor :Alberto Raposo Departamento de Informática
Formalismos de Grafos de
Interação(“A Model-based Approach for developing 3D Users
Interfaces”- Juan Manuel Gonzalez Calleros)
Disciplina:Tópicos em IHC II- Interação 3D
Professor :Alberto Raposo
Departamento de Informática
Tópicos• Motivação
- “A Model-based Approach for developing 3D Users Interfaces”- Research Motivation -Apresentação da Dissertação
• Model Driven Development – MDD• Research Goals• Trabalhos relacionados ao paradigma MDD e aplicativos
3D.• Referências
Departamento de Informática
Tópicos• Motivação
- “A Model-based Approach for developing 3D Users Interfaces”- Research Motivation -Apresentação da Dissertação
• Model Driven Development – MDD• Research Goals• Trabalhos relacionados ao paradigma MDD e aplicativos
3D.• Referências
Departamento de Informática
• Dentre os diversos trabalhos apresentadosna primeira fase (surveys) , foi destacada a dissertação de Juan Manuel González Calleros(2006) que apresenta a utilização do paradigmade programação orientado à Modelo, naconstrução de 3DUI.
Departamento de Informática
Research motivation
• Métodos existentes:
– Raramente provêem o desenvolvimento do design ;– Estão mais focadas na implementação.
• Ausência de uma ferramenta de software , toolkit, para o desenvolvimento de 3DUI. Diferentes toolkits exitempara criar 2DUI, em contrapartida não há nada para a criação de 3DUI.
Departamento de Informática
Apresentação da dissertação• Complexidade; • Extensão do tema / tempo disponível;• Divisão em três blocos:- Capítulos I (Introduction) e II(State of Art);- Capítulos III( 3DUI Taxonomy) e IV(Model-Based
development of 3DUI);e - Capítulos V (Case Studies) , VI (Validation) e VII(
Conclusion).
Departamento de Informática
Tópicos• Motivação
- “A Model-based Approach for developing 3D Users Interfaces”- Research Motivation -Apresentação da Dissertação
• Model Driven Development – MDD• Research Goals• Trabalhos relacionados ao paradigma MDD e aplicativos
3D.• Referências
Departamento de Informática
Engenharia de Software é consenso o ganhocom:
- Uso de modelos para projetar sistemas
- Uso de padrões desde a análise atéa implementação
Descrições de uma solução com diferentesníveis de abstração.
Departamento de Informática
Departamento de Informática
Desenvolvimento Orientado ao Modelo(Model Driven Development - MDD)
• Todo o desenvolvimento a partir de modelos
• Programas gerados automaticamente a partir dos modelos
• Modelos são menos sensíveis à tecnologia eas suas evoluções
•Ampla utilização por várias organizações
Departamento de Informática
Definições principais:
• MDA : é um framework de padrões estabelecido pela OMG (Object Management Group) para a modelagem de software. Um novo caminho para se especificar e construir sistemas baseados na UML, com suporte completo ao ciclo de vida de software: análise, projeto, implementação, distribuição, manutenção, evolução e integração com sistemas legados.
• Modelo : é a representação de uma parte de uma função, estrutura ou ambiente de um sistema.
Departamento de Informática
Model Driven Architecture (MDA)
• MDD não é algo recente, mas ganhou notoriedade após o OMG lançar a especificação MDA, em 2001.
• Define conjunto de padrões que suportamMDD:
Unified Modeling Language (UML)Meta-Object Facility (MOF)XML Metadata Interchange (XMI)Common Warehouse Meta-model (CWM)
Departamento de Informática
• Para possibilitar a geração de um modelo específico para uma plataforma é utilizada a transformação, que funciona como uma caixa preta, transformando um modelo PIM em um modelo PSM.
• As ferramentas de transformação são especificadas para as plataformas desejadas através da utilização de OCL (Object Constraint Language) que garante a formalidade das regras através da UML.
Departamento de Informática
ArcStyler 4.0
O ArcStyler 4.0 foi desenvolvido pela empresa Interactive ObjectsSoftware GmbH , sediada em Freiburg na Alemanha. Possui suporte às principais tecnologias de mercado possibilitando a modelagem de aplicações independentes de plataforma e posteriormente a geração dos códigos fontes específicos para uma plataforma. Entre as tecnologias suportadas para geração do PSM a partir do modelo PIM estão:· J2EE – Java 2 Enterprise Edition, exigindo o JDK 1.3 ou JDK 1.4· EJB – Enterprise Java Beans· Servlet 2.2 ou 2.3· Web Services exigindo Jakarta Tomcat 4.0· C# exigindo o .NET Framework 1.0 ou superior,· IDL CORBA.
Departamento de Informática
OptimalJ 3.0
O OptimalJ 3.0 foi desenvolvido pela empresa CompuwareCorporation. Destaca-se principalmente pela forte aplicação de padrões para J2EE (Java 2 Enterprise Edition) utilizando todos os conceitos de independência de plataforma que o MDA aborda. Dentre suas principais características se destacam os seguintes usos:Modelo de Domínio para Classes (Domain Class Model) utilizando os padrões da UML para modelagem de classes;Modelo de Domínio para Serviços (Domain Service Model) para modelagem de serviços;Modelo para Persistência de Dados (DAO,EJB) e ferramentas de integração com outras plataformas entre as quais estão CORBA, JCA(Java Connector Architecture) e Web services, entre outras.
Departamento de Informática
Codagen Architect 3.2
O Codagen Architect 3.2 foi desenvolvido pela empresa CodagenTechnologies Corp. em 1999, no Canadá. É membro da OMG possuindo parcerias com as principais empresas de software de mercado como Microsoft, IBM, Borland entre outras, nos esforços de implementação do MDA.Essencialmente é uma ferramenta de transformação divida em três módulos: Codagem Architect Implement, Codagem Architect Launchfrom XMI e Codagem Architect Specify. Estes módulos não possuem ambiente de modelagem, mas sim, ferramentas que importam os metamodelos das principais ferramentas de modelagem do mercado, através do uso XMI e a partir disso possibilita a geração dos PSM´s para C++, J2EE e .NET( C#, VB.NET, ADO.NET, ASP.NET).
O ciclo de vida do processo de MDA
• MDA define PIM, PSM e código e como eles estãorelacionados.
- Representam diferentes níveis de abstração.
• Passo mais complexo:
PIM ==> PSMs
Departamento de Informática
MDA x Processo tradicional• Processo tradicional: transformação de
modelos para códigos são feitas manualmente-Existem ferramentas que geram código a partir de modelos, mas geralmente geram apenas templates
• Em MDA todas as transformações sãoexecutadas por ferramentas
Departamento de Informática
MDA x Processo tradicional (Vantagens)
• Produtividade – embora o uso da arquitetura MDA implique na geração das regras de transformação entre os modelos PIM, PSM e de código, essa geração deve ser realizada apenas uma vez, para cada plataforma. Uma vez definidas as regras, as transformações se tornam automáticas, e apenas o modelo conceitual (PIM) deveria ser atualizado, enquanto que os demais modelos, inclusive a implementação, seriam automaticamente atualizados, reduzindo o tempo de desenvolvimento e aumentando a qualidade do artefato final.
• Portabilidade – uma vez que o PIM é, por definição, independente de plataforma, o mesmo PIM pode ser transformado automaticamente para vários PSMs, específicos para as diferentes plataformas.
Departamento de Informática
MDA x Processo tradicional (Vantagens)
• Interoperabilidade – a interoperabilidade em MDA é alcançada através de bridges, que realizam a comunicação entre PSMs e códigos de diferentes plataformas. Para obter interoperabilidade as ferramentas de transformação devem gerar não só os PSMs, mas também as bridges entre eles.
• Manutenção e Documentação – todo o trabalho de manutenção não é mais feito no código, mas sim no nível mais alto de abstração (o modelo PIM). Desta forma, a manutenção é facilitada e a documentação constantemente atualizada. E, no caso da manutenção ser realizada diretamente no PSM, deve ser possível atualizar automaticamente o PIM e manter os modelos consistentes.
Departamento de Informática
MDA x Processo tradicional (Vantagens)
• O foco do desenvolvedor está no PIM;• Apesar de ser necessário definir transformações,
esta só é feita uma vez;• Desenvolvedor não precisa se preocupar com
detalhes de implementação;• Menos código para ser escrito;• Grande parte do código é gerada.
Departamento de Informática
MDA x Processo tradicional• O que há de novo?- Automação de PIM para PSM
• Exemplos:- Transformar um projeto em alto nível gerar um modelo de banco de dados.
- A partir do mesmo modelo gerar um modelo decomponentes COM ou um modelo de componentes EJB.
Departamento de Informática
• ExemploTransformando um modelo PIM em UML paraum modelo PSM para Java- Atributos públicos e privados
Transformar atributos públicos em operaçõesget-e-set.
PIM: Todos os atributos são públicos,significando queo objeto tem uma propriedade específica, e queesta propriedade muda de valor ao longo do tempo.
Departamento de Informática
• Exemplo 1: atributos públicos e privadosNo PSM, uso de atributos públicos éconsiderado um projeto ruim.• Melhor encapsular os atributos públicos.• Todo os atributos são privados• Todo acesso ao cliente é controlado por operações bem definidas
Departamento de Informática
• PIM e PSM provêem o nível certo de abstração para diferentes tipos de desenvolvedores e outros parceiros no desenvolvimento de software.
• Regras de transformação:- Para cada classe nomeada className existe uma classenomeada className
- Para cada atributo attributeName : Type da classe className do PIM criar na classe classNameUm atributo privado com mesmo nome: attributeName : Type
Operação pública nomeada com o nome do atributo e prefixo“get” e retorno igual ao tipo do atributo: getAttributeName() :Type
Operação pública nomeada com o nome do atributo e prefixo “set”, com o atributo como parâmetro e sem valor de retorno:setAttributeName( att: Type)
• É possível especificar regra reversa.
Departamento de Informática
• Exemplo 2: Associações-Transformar associações em algo que mapeie diretamente para a linguagem de programação.
Departamento de Informática
• Regras- Para cada final de associação existe um atributoprivado com o mesmo nome que a classe oposta.- O tipo do atributo é a classe do final da associaçãose a múltiplicidade é 0 ou 1, ou o tipo é um Set sea multiplicidade é maior do que 1.
- O atributo criado terá operações get e set correspondentes, seguindo as mesmas regras queos outros atributos.- Para associações com direção definidas, executaras regras acima apenas para aquelas com setasapontando.
Departamento de Informática
• Model Driven Architecture (MDA)- Envolve um grande número de ferramentas etecnologias.- Diferentes tarefas:
Elaboração de modeloSimulação de modeloValidação de modeloGeração de código...
Departamento de Informática
• Model Driven Architecture (MDA)- Várias questões em aberto em relação asferramentas e tecnologias que suportam MDA.- Não está totalmente maduro, para obter benefícios
na sua totalidade, todas as transformações entre modelos devem ser automatizadas, o que o atual estado da tecnologia ainda não permite plenamente.
Departamento de Informática
• Model Driven Architecture (MDA)-Ferramentas disponíveis atualmente não suportam
toda a especificação MDA. -Entretanto, MDA é flexível a ponto de permitir que
uma ferramenta transforme um PIM diretamente em código, sem produzir um PSM.
Departamento de Informática
• Requisitos Modelagem Empregando MDA- Modelo deve estar conectado ao softwaresendo desenvolvido
- Modelagem incremental
- Código gerado deve ser rápido e compacto- Possibilidade de unificar modelos
- Possibilidade de comparar modelos
- Integração de novos sistemas com sistemaslegados
Departamento de Informática
Tópicos• Motivação
- “A Model-based Approach for developing 3D Users Interfaces”- Research Motivation -Apresentação da Dissertação
• Model Driven Development – MDD• Research Goals• Trabalhos relacionados ao paradigma MDD e aplicativos
3D.• Referências
Departamento de Informática
• Prover ao desenvolvedor a oportunidade de descrever uma 3DUI em uma linguagembaseada em XML, UsiXML.
• Ajudar o desenvolvedor à criar uma 3DUI emum editor gráfico ou usando como ponto de partida uma descrição de um arquivo UsiXML.
• Prover ao desenvolvedor um conjunto de widgets pré-definidas que o ajude a criar a UI.
• Testar a usabilidade e a acessibilidade de realidades virtuais, em diferentes contextos, contra a validação empírica de diretrizes e regras de design.
Departamento de Informática
Tópicos• Motivação
- “A Model-based Approach for developing 3D Users Interfaces”- Research Motivation -Apresentação da Dissertação
• Model Driven Development – MDD• Research Goals• Trabalhos relacionados ao paradigma MDD e aplicativos
3D.• Referências
Departamento de Informática
Related work – 3D UIs generation
• Programmatic approach: OpenGL, Direct3D, C++, MCNL, VRML, X3D, …
• Toolkit programming: Maya, Max3D, Crazy Eddie's GUI System, Anark, Alice
• Render engines: Microsoft task gallery, infinite 3D Cube, Sphere XP, looking glass, Clara browser, 3DNA
• Model based: ontoWEb (VR-Wise), ConGenIVE(VRIXML), InTML, Contigra
Departamento de Informática
Características
• VRML é uma linguagem independente de plataforma
• Permite animação, movimentos de corpos e iteração entre usuários
• Atualmente é o padrão para desenvolvimento de aplicações RV na rede
Departamento de Informática
Sobre a linguagem
• VRML é baseada no Open Inventor
• Objetos podem receber atributos como cor, textura e mapeamento, transparência, brilho, deformação, translações e rotações.
• A linguagem VRML têm a capacidade de representar mundos e objetos tridimensionais formados através de primitivas geométricas
Departamento de Informática
Vantagens
• Permite que um mundo virtual possa ser construído por objetos pré definidos em arquivos separados
• VRML é interpretada
Departamento de Informática
Características
• Indicado para criação de conteúdos interativos3D.
• É possível adicionar animações.
• Utiliza Lua como linguagem de script.
Departamento de Informática
Características
• 3DNA Desktop tem como idéia central melhorara forma de trabalho nos ambientes Windows e na Web.
• Possibilita formas mais fáceis de organização de arquivos, pastas e atalhos através de paredes e gavetas.
• Permite a navegação simultânea em diversoswebsites .
Departamento de Informática
Related work – Model-based approach, CoGenIVE-VRIXML
• <GroupItem >• <UISlider paramID ="10">• <Value min ="0" max="255"/>• <Tickstyle orientation =" horizontal“ position =" both "• frequency ="16"/>• </ UISlider >• <Position >• <X>1.0 </X><Y>1.5 </Y>• </ Position >• </ GroupItem >
Departamento de Informática
Características
• Utiliza a orientação à modelos.
• Comporta vários periféricos de input/output.• Mapeia o proceso de engenharia reversa, ou
seja, qualquer modificação na FUI é tambémfeita nos respectivos modelos abstratos.
Departamento de Informática
Conclusões
• Programming approach: -Permite a implementação direta da FUI. Em termos de critério de qualidade, varia em relação ao grau de consumo de recursos( tempo, dinheiro, linhas de código, etc) e a facilidade de uso.-As linguagens utilizadas são extremamente relacionadas àmetodologia e aos conceitos de representação.-Não há um critério de mensuração a ser considerado.-Os resultados são dependentes da experiência do programador oudo contexto de dsenvolvimento.-Não existe um canal de comunicação entre o desenvolvedor e o usuário final.-Programação em si não comporta a engenharia de construção de uma 3DUI.
Departamento de Informática
Conclusões
• Toolkit approach: -Permite a implementação direta da FUI. Neste caso , utiliza um conjunto pré-definido de objetos que ajudam o desenvolvedor na sua tarefa de programação.-Em alguns casos, um toolkit pode ser parte do processode engenharia.
Departamento de Informática
Conclusões
• Rendering engines:-Permitem a visualização das linguagens de programação 3D.-É apenas um requisito complementar, mas não fazparte do processo da engenharia de uma 3DUI.
Departamento de Informática
Tópicos• Motivação
- “A Model-based Approach for developing 3D Users Interfaces”- Research Motivation -Apresentação da Dissertação
• Model Driven Development – MDD• Research Goals• Trabalhos relacionados ao paradigma MDD e aplicativos
3D.• Referências
Departamento de Informática