Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.
-
Upload
moises-campelo-marinho -
Category
Documents
-
view
215 -
download
0
Transcript of Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.
![Page 1: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/1.jpg)
Ontologias e Restrições OCL
Fábio MouraFranklin Ramalho
Jacques RobinCIn-UFPE
![Page 2: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/2.jpg)
Roteiro
Ontologias O que é uma ontologia? Elementos de uma ontologia Origem e motivação das ontologias Tipologias das ontologias Exemplo de ontologia conceitual especialista Exemplo de ontologia conceitual geral Exemplo de ontologia lingüística geral Problemática geral e questões sobre ontologias
OCL MDA e o uso de OCL OCL 1.4 OCL 2 Usando OCL para MDA
![Page 3: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/3.jpg)
Ontologias
![Page 4: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/4.jpg)
O que é uma ontologia?
Definição: especificação (semi-)formal explícita formal explícita de uma concepção compartilhadaconcepção compartilhada Concepção: Concepção: modelo das entidades, relações, axiomas e
regras de algum domínio Formal:Formal:
processável por máquina permitindo raciocínio automático com semântica lógica formal
Compartilhada:Compartilhada: por uma comunidade, permitindo entendimento
Conceitos de computação relacionados: Base de conhecimento reutilizável Esquema de banco de dados
![Page 5: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/5.jpg)
Elementos de uma ontologia
Hierarquia de conceitos: entidades
cada entidade definida por conjunto de pares atributo-valor correspondem:
as classes dos modelos orientado a objetos as entidades do modelo relacional aos termos do modelo lógico
atributos propriedades x atributos relações preenchidos por valores atômicas (tipos primitivos) x por outros conceitos
Status epistemológico do valor Exatamente conhecida, default, probabilista
relações sem hierarquia x em hierarquia paralela a hierarquia de entidades correspondem:
associações, agregações e atributos dos modelos OO cujos valores são objetos
as relações do modelo relacional aos predicados do modelo lógico
![Page 6: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/6.jpg)
Elementos de uma ontologia
Restrições: sobre valores possíveis dos atributos dos conceitos correspondem:
as assinaturas de classes em modelos OO as axiomas universalmente quantificados em modelos lógicos as restrições de integridade nos esquema de BD
Regras dedutivas: sobre atributos de (conjunto de) conceitos permitem inferência automática da existência de instâncias
de conceitos a partir da existência de outras instâncias correspondem:
as regras dos sistemas especialistas e programação em lógica aos métodos dos modelos OO as visões em BD
![Page 7: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/7.jpg)
Elementos de uma ontologia
Instâncias de conceitos: definição de entidade e relações específicos (indivíduos) correspondem:
aos fatos de sistemas especialistas e programação em lógica aos objetos dos modelos OO aos dados dos BD
![Page 8: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/8.jpg)
Serviços suportados por uma ontologia
Consultas e manipulação: correspondem:
métodos de acesso a valor e de reflexão em linguagens OO consultas de interrogação e manipulação em BD ask, tell e retract das bases de conhecimento
sobre conceitos: Quais são as entidades E relacionadas a entidade 0 via relações r1,
r2? Quais são as relações R mais gerais que r1? Definição d de entidade E é consistente com o resto da ontologia?
sobre instâncias um indivíduo I com propriedades P1, ..., Pn é instância de quais
conceitos? Raciocínio automático
geralmente dedutivo
![Page 9: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/9.jpg)
Origem e motivação para ontologiasGerenciamento
do Conhecimentoem Organizações
desde 90
Integraçãode Dadosdesde 95
SistemasMulti-agentes
desde 95
Recuperaçãode Informação
na Webdesde 00
PsicologiaCognitivadesde 60
Lingüísticadesde 60
SistemasEspecialistas
desde 80
Processamentode Linguagem
Naturaldesde 80
OntologiasFilosofiadesde 350 A.C.
Engenhariade Software:
requisitos e reusodesde 90
![Page 10: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/10.jpg)
Tipologia das ontologias
Especialista:Especialista: modela um domínio particular restrito Geral:Geral:
modela o conhecimento de senso comum compartilhado por todos os seres humanos
parte de mais alto nível, reutilizável em vários domínios Conceitual:Conceitual: fundamentada na capacidade de
raciocinar Lingüística:Lingüística: fundamenta no vocabulário de uma(s)
língua(s) De meta-dados:De meta-dados: “especializada” na descrição de
recursos on-line, no entanto sobre qualquer domínio De tarefas e métodos:De tarefas e métodos: modela procedimentos e
comportamentos abstratos no lugar de entidades ou relações
![Page 11: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/11.jpg)
Exemplo de ontologia especialista: fragmentos de uma ontologia acadêmica
em UML
![Page 12: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/12.jpg)
Personaddress : Stringeditor : Publicationemail : Stringfax : StringfirstName : StringlastName : StringmemberOfPC : EventmiddleInitial : Stringname : StringorganizerOrChairOf : Eventphone : Stringphoto : Stringpublication : Publication
Employeeaffiliation : OrganizationheadOf : ProjectheadOfGroup : ResearchGroupworksAtProject : Project
StudentstudiesAt : University
PhDStudentsupervisor : AcademicStaff
ResearchercooperatesWith : ResearchermemberOf : ResearchGroupresearchInterest : ResearchTopic
AcademicStaffsupervises : PhDStudent
Lecturer
AdministrativeStaff
TechnicalStaffSecretarysecretaryOf : ResearchGroup
![Page 13: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/13.jpg)
ConferencePaperconference : ConferencefirstPage : NumberlastPage : NumberproceedingsTitle : String
ArticleInBookbook : BookfirstPage : NumberlastPage : Number
JournalArticlefirstPage : Numberjournal : JournallastPage : Number
TechnicalReportnumber : Numberorganization : Organizationseries : String
WorkshopPaperfirstPage : NumberlastPage : NumberproceedingsTitle : Stringworkshop : Workshop
Article
BookcontainsArticle : ArticleInBookeditor : Personpublisher : Organization
OnlinePublicationonlineVersionOf : Publicationtype : String
JournalcontainsArticle : JournalArticleeditor : Personnumber : Numberpublisher : Organizationvolume : Number
Publicationabstract : Stringauthor : PersondescribeProject : ProjectonlineVersion : OnlinePublicationtitle : Stringyear : Number
SpecialIssue
![Page 14: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/14.jpg)
Conf erencePaperinv example1: self .lastPage > self .f irstPage
Publicationinv example2: self .y ear > 1980
Conf erence
number : Numberseries : String
Conf erencePaper
conf erence : Conf erencef irstPage : NumberlastPage : NumberproceedingsTitle : String
1 n1 n
has accepted
Article
Publication
abstract : Stringauthor : PersondescribeProject : ProjectonlineVersion : OnlinePublicationtitle : Stringy ear : Number
Person
address : Stringeditor : Publicationemail : Stringf ax : Stringf irstName : StringlastName : StringmemberOf PC : Ev entmiddleInitial : Stringname : StringorganizerOrChairOf : Ev entphone : Stringphoto : Stringpublication : Publication
0..n0..n 0..n0..n
<<is author>>
Ev ent
atEv ent : Ev entdate : Stringev entTitle : StringhasParts : Ev entlocation : StringorgCommittee : PersonprogramCommittee : Personpublication : Publication
n
0..n
n
0..n
is member of PC
![Page 15: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/15.jpg)
Exemplo de ontologia conceitual geral: fragmentos da ontologia de senso
comum de Russell e Norvig em UML
![Page 16: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/16.jpg)
Anything
AbstractObjectsEvents
Sets Numbers RepresentationalObjects
Categories
Sentences Measurements
Intervals PlacesPhysicalObjects Processes
MomentsThings Stuff
Animals Agents
Humans
Solid Liquid Gas
![Page 17: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/17.jpg)
Sub-problemas de modelagem de uma ontologia geral
Categorias e conjuntos Medidas Objetos compostos Tempo Espaço Mudanças Eventos e processos Objetos físicos Substâncias Objetos mentais e crenças
![Page 18: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/18.jpg)
Ontologias Genéricas: Categorias Também chamadas de classes, relações, tipos ...
conjuntos de objetos com propriedades comuns organiza e simplifica a base de conhecimento.
Exemplos de simplificação: comprar(Maçã123) x comprar(Maçã) - classe-instância Todo mamífero bebe leite - herança
Taxonomia: tipo particular de ontologia:
relações hierárquicas entre classe e sub-classes em forma de árvores
propriedades discriminantes ex. biologia sistemática
Relações Disjunção Decomposição exaustiva Partição: decomposição exaustiva disjunta
![Page 19: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/19.jpg)
Ontologias Genéricas: também podem representar
Medidas Valores atribuídos às propriedades dos objetos do mundo
real: peso, comprimento, altura, etc... Objetos compostos
formados por partes que também são objetos: relação “parte-de”.
Mudanças com eventos Cálculo de eventos: um fato é verdade em um intervalo
de tempo.
![Page 20: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/20.jpg)
Medidas Valores atribuídos aos objetos do mundo real:
servem para descrever objetos ex. peso, comprimento, altura, diâmetro, ...
Medidas quantitativas são fáceis de representar ex. Tamanho(L1) = Polegadas(1,5) = Centímetros (3,81)
Medidas qualitativas são mais complicadas ex. beleza de um poema, dificuldade de um exercício O importante é ordenar
e1, e2 e1 Exercícios e2 Exercícios Elabora(João,e1) Elabora(Pedro,e2) Dificuldade(e1) < Dificuldade(e2)
![Page 21: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/21.jpg)
Objetos Compostos Objetos formados por partes que também são
objetos São caracterizados pela estrutura dos objetos que os
compõem ex. massa de um carro é a soma das massas de suas
partes(carroceria, motor, pneu, ...) Para representá-los, usamos a relação ParteDe
e.g., ParteDe(motor, Carro), ParteDe(pneu, Carro) Exemplo:
a Bipede(a) l1, l2, b Perna(l1) Perna(l2) Corpo(b) ParteDe(l1,a) ParteDe(l2,a)ParteDe(b,a)
Ligado(l1,b) Ligado(l2,b) l1 l2 l3 Perna(l3) ParteDe(l3,a) (l3 = l1 l3 = l2)
![Page 22: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/22.jpg)
Objetos Compostos
ParteDe também serve para descrever estrutura de eventos: Script ou Schema ex. comer no restaurante
Quando se está interessado apenas nas características do conjunto: BunchOf ex. peso do saco de Maçãs BunchOf(Maçãs) define um objeto composto formado
pelas Maçãs do saco.
![Page 23: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/23.jpg)
Representando Mudanças com Eventos
Cálculo de situações: adequado quando temos um único agente realizando
ações discretas e instantâneas (uma ação por situação). inadequado quando:
existem vários agentes no mundo. o mundo pode mudar espontaneamente. mudanças ocorrem continuamente.
Cálculo de eventos: versão contínua do calculo de situações No cálculo de situações, um fato é verdade em uma
situação No cálculo de eventos, uma coisa é verdade num
intervalo de tempo ex. SubEvento(BatalhaDaNormandia,SegundaGuerraMundial)
SubEvento(SegundaGuerraMundial, SéculoXX)
![Page 24: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/24.jpg)
Exemplo de ontologia lingüística geral: fragmentos de WordNet em UML
![Page 25: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/25.jpg)
Wordnet
• Princeton WordNet: • redes semântica de 125.784 significados • de 203.145 palavras (141.690 substantivos) do inglês• organizados em 4 categorias sintática: substantivos,
verbos, adjetivos e advérbios,• são agrupados em conjuntos de sinônimos• disponível online:
http://www.cogsci.princeton.edu/~wn/• resulta de 15 anos de desenvolvimento manual por time de
psico-lingüistas
• EuroWordNet: http://www.hum.uva.nl/~ewn/• Resultado de um grande projeto da comunidade européia• Versão multi-língua adicionando e inter-ligando WordNets
do Espanhol, Francês, Italiano, Alemão, Holandês, Tcheco e Estoniano ao do Inglês
![Page 26: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/26.jpg)
Wordnet
antonímiameronímia(parte-de)
family, household, menage
Person, individual, someone, human
sister, sis arm
relative, relation
unit, social unit
Brother, blood brother
body,organic structure
leg
hipernímia(generalização)
Legenda:sinonímia
![Page 27: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/27.jpg)
WordNet Online
![Page 28: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/28.jpg)
![Page 29: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/29.jpg)
Aplicações com o WordNet
Extração e recuperação de informação Classificação de texto Ensino de linguagens Construção de redes semânticas em outras
linguagens (EuroWordnet) Chatterbots (Geração e interpretação de texto)
![Page 30: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/30.jpg)
Web Semântica
Extensão da Web atual Visa adicionar informações sobre o conteúdo das
páginas HTML, que sejam computacionalmente manipuláveis, de forma a proporcionar automação, compartilhamento, integração e reuso de informação em vários níveis e a várias aplicações
Desenvolvimento do RDF (Resource Description Framework) Um modelo de metadados para representação de
informações na web Tem como o seu principal veículo de transporte o XML,
combinação esta conhecida como RDF/XML Tem como origem as idéias da Semantic Net, fazendo uso
de relacionamentos como classes e instâncias com significados já bem conhecidos
![Page 31: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/31.jpg)
Web Semântica – Arquitetura
Dados
Web Semântica
Engenho de Busca
Ontologia Ontologia Ontologia
Camada deEstrutura
Camada deEsquema
Regras de InferênciaCamadaLógica
… E-commerce
![Page 32: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/32.jpg)
Web Semântica – Arquitetura
Camada de Estrutura Responsável por estruturar os dados e definir seu
significado Camada de Esquema
Responsável por definir relações entre os dados Uso de ontologias em páginas web torna mais simples a
resolução de indefinição ou conflito de terminologia Camada Lógica
Responsável por definir mecanismos para fazer inferência sobre os dados
Composta por um conjunto de regras de inferência Regras de inferência fornecem aos agentes
computacionais o poder de raciocinar sobre as estruturas de dados
![Page 33: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/33.jpg)
Problemática geral e questões sobre ontologias
Divisão: como delimito as classes e os atributos? quais são as distinções que trazem valor agregado?
Escopo: qual conhecimento incluir? qual a fronteira do meu domínio?
Granularidade: até que nível de detalhe modelar os domínio? problema da ramificação?
Validação: como avalio a qualidade do modelo? como escolho entre várias modelagem alternativas (as
vezes propostas por pessoas diferentes)?] como identificar aspectos importantes que estão faltando?
![Page 34: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/34.jpg)
Problemática geral e questões sobre ontologias
Muito difícil responder a essas perguntas porque: Almejados reuso e relativa independência de aplicação
impedem ser guiado completamente pelos requisitos de uma aplicação restrita
Para ontologias gerais de senso comum pior devido a imensidão em largura e profundidade do conhecimento a modelar
Metodologias ainda incipientes Methontology: Sensus:
http://www.isi.edu/natural-language/resources/sensus.html No entanto, já existe tentativa de padronização:
http://suo.ieee.org/http://www.fipa.org/
![Page 35: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/35.jpg)
OCLObject Constraint Language
![Page 36: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/36.jpg)
MDA (Model Driven Architecture)
Desenvolvida pelo OMG (Object Management Group) Princípios
Aplicações podem ser criadas de maneira independente das infra-estruturas que elas usam
Desenvolvido para ajudar organizações a rapidamente adotarem novas tecnologias e conceitos sem a necessidade de reescreverem completamente os seus sistemas
Tem por base em um conjunto de padrões (UML2, OCL2, QVT, MOF, ...) impõe disciplina no processo de desenvolvimento
Seu coração: UML usa diagramas – “modelos” – para projetar e descrever software
Model Driven Development (MDD) – o uso de modelos é uma parte essencial do processo de desenvolvimento
Model-to-model transformation – habilidade de gerar uma aplicação inteira sem escrever uma única linha de código
![Page 37: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/37.jpg)
MDA
Desafios Maturidade dos padrões
Adotados: UML2 e OCL2 Não finalizados: JMI (Java Metadata Inteface) e QVT (Query,
Views, Transformations) Complexidade de UML
Necessidade de um especialista em modelagem Pode afetar o time-to-market Aumento do rigor e treinamento
MDA não pode fazer tudo Geração de 100% do código para todos os problemas
computacionais “MDA is touted as the biggest shift in software
development since the move from assembler machine code to the first high-level languages”
Borland
![Page 38: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/38.jpg)
MDA
PIM (Platform Independent Model), PSM (Platform Specific Model) e Código
PIM
PSM PSM
Código Código
primeira transformação
primeira transformação
segundatransformação
segundatransformação
![Page 39: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/39.jpg)
MDA e o Uso de OCL
Credito Debito
ParceiroProgramaquantidadeDeClientes : Integer
Transacaopontos : Integerdata : Data
program a() : ProgramFidel idade
Clientenome : StringpronomeTratamento : Stringmasculino : BooleandataAniversario : Data
idade()
Contapontos : Integer
creditar(pts : Integer)debitar(pts : Integer)estaVazia() : Boolean
0..*trans acoes 0..*
Cartaovalido : BooleanvalidoDesde : Datavencim ento : Datacor : enum{prata, ouro}nomeTratamentoCliente : Stri ng
0..*
transacoes
0..*
cartao
0..* cartoes0..*
proprietario
Servicocondicao : BooleanpontosADebitar : IntegerpontosACreditar : Integerdescricao : Str ing
0..*
transacoes
0..*
0..* servicosOferecidos0..*
ProgramaFidelidade
cadastrar(c : Cliente)0..*0..* 0..*
programa
0..*1..*
1..*
1..*
parceiros1..*
Soc io
0..10..1
cartaoNivelServico
nome : String
0..*
servicosDisponiveis
0..*
1..*1..*
{ordered}0..*0..*
nivelDoServico
8: fecha
Joao:Passageiro
Maria:Passageiro
a3:BotaoDeAndar
a5:BotaoDeAndar
cont:Controlador
elevador:Elevador
porta:Porta
1: aperta
2: atualiza
3: ilumina
7: desilumina
9: aperta
10: atualiza
11: desilumina
4: mova
5: chegou
6: abre
![Page 40: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/40.jpg)
MDA e o Uso de OCL
![Page 41: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/41.jpg)
MDA e o Uso de OCL
Para aplicar o processo MDA: Modelos no nível de maturidade 4 são necessários
Melhor escolha: UML Mas, apenas UML não é suficiente
context Flightinv: passengers->size() <= plane.numberOfSeats
![Page 42: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/42.jpg)
Restrições
Constraint – útil para adicionar novos significados aos diagramas
Uma restrição aplicada ao modelo OO restringe um ou mais valores do modelo [Warmer and Kleppe].
Restrição declarativa – apenas declara o que deve ser verdadeiro no modelo;
Restrição Operacional – quando violada, dispara um gatilho para uma operação que deve ser executada
![Page 43: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/43.jpg)
OCL
UML OCL
Credito Debito
ParceiroProgramaquantidadeDeClientes : Integer
Transacaopontos : Integerdata : Data
programa() : ProgramFidelidade
Clientenome : StringpronomeTratamento : Stringmasculino : BooleandataAniversario : Data
idade()
Contapontos : Integer
creditar(pts : Integer)debitar(pts : Integer)estaVazia() : Boolean
0..*transacoes 0..*
Cartaovalido : BooleanvalidoDesde : Datavencimento : Datacor : enum{prata, ouro}nomeTratamentoCliente : String
0..*
transacoes
0..*
cartao
0..* cartoes0..*
proprietario
Servicocondicao : Booleanpontos ADebitar : Integerpontos ACreditar : Integerdescricao : String
0..*
transacoes
0..*
0..* servicosOferecidos0..*
ProgramaFidelidade
cadastrar(c : Cliente)0..*0..* 0..*
programa
0..*1.. *
1..*
1.. *
parceiros1..*
Socio
0..10..1
cartaoNivelServico
nome : String
0..*
servicosDisponiveis
0..*
1..*1..*
{ordered}0..*0..*
nivelDoServico
8: fecha
Joao:Passageiro
Maria:Passageiro
a3:BotaoDeAndar
a5:BotaoDeAndar
cont:Controlador
elevador:Elevador
porta:Porta
1: aperta
2: atualiza
3: ilumina
7: des ilum ina
9: aperta
10: atualiza
11: des ilumina
4: mova
5: chegou
6: abre
esperando funcionandoatualiza / mova, ilumine
chegou / desilumine
atualiza / mova, iluminecontJoao Maria a3 a5 elevador
aperta atualize
mova
ilumina
aperta
chegou
abra
mova
atualize
ilumina
![Page 44: Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.](https://reader035.fdocument.pub/reader035/viewer/2022062818/5706384f1a28abb8238f7a70/html5/thumbnails/44.jpg)
Continua ...