O InterProlog e a Declarativa Miguel Calejo Declarativa

Slides:



Advertisements
Apresentações semelhantes
Presenter’s Notes Some Background on the Barber Paradox
Advertisements

Desenvolvimento declarativo de Web Information Systems Miguel Calejo Declarativa, Portugal
Web Application Maker: uma abordagem declarativa ao desenvolvimento WWW Miguel Calejo, Mário Araújo, Sónia Mota Araújo, Nuno Soares Declarativa.
Java Remote Method Invocation Java RMI
Aula 3 – DB2 Express-C Autor:
Vendas e Distribuição (J04) Visão Geral BR
SCTMF Sistema para Criação e Testes de Modelos Formais
Struts2/XWork Remote Command Execution
Ontologia Representação do vocabulário de um determinado domínio e suas conceituações.
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena
Java RMI Alcides Calsavara. Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância.
Desenvolvimento Baseado em CGI Material cedido pelo Prof
Introdução aos Serviços Web
Como projetar uma linguagem geral para marcação de regras How to Design a General Rule Markup Language Gerd Wagner.
II Seminário de Pesquisa em Ontologia no Brasil 22 de Setembro de 2009 Carlo Borsoi Moura.
Definition of a business model An architecture for the product, service and information flows, including a description of the various business actors and.
Eduardo Silva, Frederico Fernandes, Juliano Rabelo e Flávia Barros
.NET FRAMEWORK. 2.NET Framework É uma plataforma que permite desenvolver aplicações de software e bibliotecas chamadas aplicações gerenciadas; Ele provê
O mercado e a Elógica Alguns quadros ilustrativos.
Fazendo e Brincando: Confecção de Materiais para as Aulas de Inglês
JAVA Linguagem Ambiente de Desenvolvimento
Definição do MoC Subjacente a Aplicação Prof. Dr. César Augusto Missio Marcon Parcialmente extraído de trabalhos de Axel Jantch, Edward Lee e Alberto Sangiovanni-Vincentelli.
ECF Presence API Ermeson Carneiro. ECF Presence API É uma API que permite: Envio de Mensagens instantâneas em tempo real Listar os Amigos Verificar o.
Linguagem Técnica de Programação VI Prof.: Luiz Gustavo Jordão Soares.
Quality Management (J07) Overview BR
IBM Rational Requirements Composer v2.0
Uma Abordagem Baseada em Modelos para Detecção de Situações em Sistemas Sensíveis ao Contexto Izon Thomaz Mielke Orientadora: Patrícia Dockhorn Costa.
T. D. S. I. PARA WEB Prof. Emmanuel Nolêto. Java RMI.
© 2012 Autodesk Autodesk Revit para projetos executivos de arquitetura Módulo 2: Otimizando a modelagem para documentação Tiago Marçal Ricotta Gerente.
Inglês Técnico TERMOS E EXPRESSÕES UTILIZADAS EM PROGRAMAÇÃO DE COMPUTADORES E ATIVIDADES RELACIONADAS A INFORMÁTICA ________________________________________________.
Jacques Robin e Francisco Carvalho CIn-UFPE Tópicos de projetos da disciplina de mineração de dados
Agenda Sessão Matutina HoraMódulo 8:30O que é a Plataforma de Aplicação Microsoft? 9:00Business Intelligence 10:00Next Web 11:00Enterprise Applications.
RPC and Web Service André Pereira.
Instructions for use: This flyer was prepared under TRACK_FAST ( The principal objective is to provide education and.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Estratégias de Resolução
Plataforma Java 2 - Micro Edition (J2ME) Prof. Afonso Ferreira Miguel, MSc.
DCMI Dublin Core Metadata Initiative por Pablo Lopes Alenquer curso Tópicos Especiais em BD2 data Março de 2000 Mestrado IM / NCE.
© 2012 Autodesk Autodesk Revit para projetos executivos de arquitetura Módulo 3: Utilizando Legends Tiago Marçal Ricotta Gerente de Projetos – Brasoftware.
MCommerce Seminário GS1 Instituto Politécnico de Leiria
© 2012 Autodesk Autodesk Revit para projetos executivos de arquitetura Módulo 6: Quantitativos de áreas precisos Tiago Marçal Ricotta Gerente de Projetos.
© 2012 Autodesk Autodesk Revit para projetos executivos de arquitetura Módulo 5: Trabalhando em colaboração Tiago Marçal Ricotta Gerente de Projetos –
Autodesk Revit para projetos executivos de arquitetura Módulo 4: Representação gráfica de diversas fases Tiago Marçal Ricotta Gerente de Projetos – Brasoftware.
Trabalho Computacional Mecânica de Fluidos Ambiental Guillaume Riflet, Pedro Pina, Luís Fernandes.
Jacques Robin CIn-UFPE Arquiteturas de software e linguagens de consultas para descoberta de conhecimento em BD.
Filipe Carvalho.
Video Capítulo 8: Impasses. Silberschatz, Galvin and Gagne  Video Operating System Concepts Assuntos n Modelo de Sistemas n Carcterização de.
© 2012 Autodesk Autodesk Revit para projetos executivos de arquitetura Módulo 1: Configurando um template Tiago Marçal Ricotta Gerente de Projetos – Brasoftware.
WINDOWS SMALL BUSINESS SERVER 2011 VISÃO GERAL. Agenda Visão Geral SBS 2011 Versões do SBS 2011 O que há de novo – Essentials O que há de novo – Standard.
© 2012 Autodesk Utilizando Suites Workflow - Autodesk Revit para o Autodesk 3ds Max Design Módulo 1 – Configurando o Suites Workflow Mauricio Antonini.
© 2012 Autodesk Utilizando Suites Workflow - Autodesk Revit para o Autodesk 3ds Max Design Módulo 2 – Performance na Exportação Mauricio Antonini Especialista.
“Modelos para que vos quero” ou “ Web Application Maker: a declarative web database tool” Miguel Calejo, Mário Araújo Declarativa, Portugal
XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Introdução aos Serviços Web Web Services. Evolução da Web Páginas Estáticas Browser, Servidor Web, HTTP, HTML Servidor Web e Programas Externos CGI.
PSI2653: Meios Eletrônicos Interativos I Escola Politécnica da USP Engenharia de Sistemas Eletrônicos I – Informação Digital - Gráfico Meios Eletrônicos.
Microsoft Students to Business
Redes Sociais Online ISCTE – Instituto Universitário de Lisboa MCCTI Mónica Oliveira 13 de Março de 2013.
Computação na Nuvem e BPOS
Processo de Desenvolvimento baseado em MDA
Graph Database Neo4j Edson Barboza.
© 2007 IBM Corporation Academic Initiative 07/05/07 Aula 2 – Parte 1: Java Basics Autores: Argemiro José de Juliano Marcos
About Us iVenture Inc is a technology as well as comprehensive media company that facilitates businesses, institutes and individuals by providing simplified.
SISTEMA DE TRANSITIVIDADE: PARTICIPANTES PROCESSOS CIRCUNSTÂNCIAS.
| Copyright© 2010 Microsoft Corporation Ricardo Senna | Especialista em Soluções Online IUR - Benefícios a Parceiros.
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Phases of Hackers. Module 1: Today’s Threat Landscape Module 2: Key Principles of Security Module 3: Understanding your enemy! Module 4: Phases of Hackers.
Wondershare software On the [View] menu, point to [Master], and then click [Slide Master] or [Notes Master].
Arquitetura e padrões de software
Transcrição da apresentação:

O InterProlog e a Declarativa Miguel Calejo Declarativa

Apresentação no 4º CNPL, Copyright Declarativa Estrutura da apresentação InterProlog –Fundamentos –Resumo da funcionalidade Incursão pelo “mundo real” –XJ, gerador de GUIs sobre InterProlog –A Declarativa e oportunidades part-time

Apresentação no 4º CNPL, Copyright Declarativa InterProlog: Java Reflection All objects know their class: –Class C = X.getClass(); Since JDK 1.1, classes provide info about public methods and variables –Method M = C.getMethod(“anyMethod”,Class arg array) No Prolog meta-call, but close –M.invoke(Target,Object arg array)

Apresentação no 4º CNPL, Copyright Declarativa InterProlog: Java Serialization Cleaner than in other languages: Reflection allows a system mechanism to introspect any object and serialize it... Cf. classes ObjectOutputStream, InputObjectStream...oos.writeObject(ANYOBJECT); Object ANY = ios.readObject();...using a public stream format :) Writes/reads an object graph, including class descriptions, without repeating objects

Apresentação no 4º CNPL, Copyright Declarativa InterProlog architecture sockets, console redirection Java VM InterProlog classes XSB executable InterProlog predicates A Java application A Prolog application Objects Terms

Apresentação no 4º CNPL, Copyright Declarativa InterProlog Java program linked to Prolog program through I/O and object sockets Java program launches “PrologEngines” Dynamic Prolog->Java calls with Reflection Serialized objects are parsed/generated by a Definite Clause Gramnmar

Apresentação no 4º CNPL, Copyright Declarativa Programming on the Prolog side Object specification helpers I think I’m under a console process Handle Java events as top goals javaMessage(Target,Message(Args)) –EX: javaMessage(‘java.lang.System’- out,println(string(‘hello, world’))). –Wide open API, as far as Java security allows –Variations handle exceptions, return value

Apresentação no 4º CNPL, Copyright Declarativa Programming on the Java side One PrologEngine One XSB subprocess isAvailable() sendAndFlush(String s) Object[] deterministicGoal( String G, String Ovars, Object[] objectsP, String RVars ) registerJavaObject(Object x) interrupt(), shutdown()

Apresentação no 4º CNPL, Copyright Declarativa InterProlog Term displayers browseList([one(X),two(Y),1+1+1,X/Y]). browseLiteralInstances(foo('First','Last'), [foo('Miguel','Calejo'),foo('Terry','Swift'),foo('David','Warren'),foo('Robert','Pokorn y')]). browseTreeTerm(t(root,[t(child1,[]),t(child2,[]),t(child3,[t(granchild31,[t(grandgr andchild311,[])])])])).

Apresentação no 4º CNPL, Copyright Declarativa XJ - declarative GUI construction Vision –GUI deduced from logic program + annotations Application development with XJ –Prolog program is developed, ignoring GUI issues –GUI Term declarations added –Additional Java classes may be added for specifics Developed for XSB, Inc. over InterProlog to support DLA and other applications

Apresentação no 4º CNPL, Copyright Declarativa XJ example: term annotations alloy_shape( 'STEEL'( alloy('852') ), 'MOLD CASTING’ ). labels(alloy_shape/2,'Alloy shape'('Alloy','Shape')). guiTerm(alloy_shape(_M,_S), gt(_,[],[gt(_,[operation(XXX,sisa('OBJECT',XXX),'Show in Ontology'), biGuiLink(X1,sub(X1,_),isa(X1,'METAL')) ], [gt(alloy,[constant], [gt(_,[atomUPPER,minSize=3,maxSize=10,typicalSize=8,name='Name'],[]) ]) ]), gt(_,[atomUPPER,typicalSize=15, biGuiLink(X2,sub(X2,_),isa(X2,'CASTING'))],[]) ])).

Apresentação no 4º CNPL, Copyright Declarativa XJ example: derived GUI editList(alloy_shape(_,_)). Double-click Inplace editing w/ basic type checking For term For list Navigation to other windows

Apresentação no 4º CNPL, Copyright Declarativa XJ - another example editList(spec_attr(S,_,_), (name(S,Chars),append("AMS 40",_,Chars)), _).

Apresentação no 4º CNPL, Copyright Declarativa Declarativa 10 meses de idade, 5 pessoas 3 licenciados e 1 doutorado em Informática –1 Prémio IBM, 3 Prémios Microsoft, médias >= 14 Contratos em curso com DoD/XSB Inc. (USA); ME, CVRVV, Servisoft (Portugal) Abordagem declarativa :-) –WAM (SQL Server+JavaScript) –InterProlog/XJ (Prolog+Java)

Apresentação no 4º CNPL, Copyright Declarativa Declarativa - WAM Web Application Maker –Model-driven, centralizado no MS SQL Server “Disruptive technology”; com um só click: –Dada uma boa BD com stored procedures, etc... –E algumas anotações de interface... –...obtém aplicação p/ WWW (browsers) sobre intranet/extranet com perfis de utilizador, etc.

Apresentação no 4º CNPL, Copyright Declarativa Oportunidades na Declarativa - I InterProlog –Documentação –Integração de frameworks Java Grafos, edição de diagramas com restrições, edição de texto orientada a sintaxe, agentes distribuídos –Evolução do InterProlog e do XJ

Apresentação no 4º CNPL, Copyright Declarativa Oportunidades na Declarativa - II Evolução do WAM –Algoritmos (Java/Prolog/Transact-SQL...) transformando modelos em SQL-Server –Uso de informação linguistica, reconhecimento de padrões de análise –Runtime alternativo com GUI Java/Swing Programação de aplicações WAM –Microsoft SQL Server (Transact-SQL) –Active Server Pages (JavaScript)

Apresentação no 4º CNPL, Copyright Declarativa Conclusão InterProlog, XJ; WAM Declarativa procura neurónios remotos ou locais para colaboração –Tarefas curtas –Trabalhos práticos numa disciplina –Projectos de férias de verão –Projectos de licenciatura