modelos de dados - parte 2 sistemas de informação

138
U N IV ER SID A D E FEDERAL DA PA R A ÍBA C entro de Engenharia Elétrica e Inform ática Pós-Graduação em Ciência da Computação M O D ELO S D E D ADOS Parte 2 – Sistem as de In form ação Ulric h Sc hie l

Upload: ulrich-schiel

Post on 14-Jun-2015

1.150 views

Category:

Education


3 download

DESCRIPTION

Considera a modelagem de um sistema de informação, com três partes: 1. Estrutura: Entidades, Relacionamentos, Abstrações 2. Integridade: Regras locais e regras globais 3. Comportamento: operações primitivas e operações aplicativas; Comportamento local e comportamento global; Redes de Petri

TRANSCRIPT

Page 1: MODELOS DE DADOS - Parte 2 Sistemas de Informação

UNIVERSIDADE FEDERAL DA PARAÍBA

Centro de Engenharia Elétrica e Informática

Pós-Graduação em Ciência da Computação

MODELOS DE DADOS

Parte 2 – Sistemas de Informação

Ulrich Schiel

Page 2: MODELOS DE DADOS - Parte 2 Sistemas de Informação

PARTE II - Sistemas de Informação

"Um sistema de informação é

uma coleção de unidades funcionais que interagem entre si, trocando informações de acordo com regras pré-estabelecidas.”

G. Richter

Page 3: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Sistema de Informação pode ser interpretado como:

Um sistema técnico, implementado em um computador

com tecnologia de telecomunicações;

Um sistema social, como sendo uma sociedade organizada

que possui certas necessidades de informação;

Um sistema conceitual, que seria uma abstração dos dois

conceitos acima.

FRISCO - Report

Page 4: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

informação• é um dado com significado

• o ato de informar

Page 5: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Sistema de informação

• fechado

• temporal

• probabilístico

• dinâmico

Sistema de Banco de dados• aberto

• atemporal

• determinístico

• estático

Page 6: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Taxonomia da informação

Descritiva:

Imperativa:

especificávelexplícita

informativa

- formatada (dados, registros)

- semi-formatada/estruturada (regras, documentos XML, partituras)

- não-formatada (textos, imagens)

(catálogos, esquemas, dicionários de dados, estatísticas)

(transações, programas, instruções, regras de produção)

implícita- inf. derivada (regras de produção)

- inf. agregada, minerada

Page 7: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

FRISCO Report - terminologia básica

Coisa: qualquer parte de um conceito de um domínio‘Machado de Assis’

‘o escritor de Don Casmurro’Predicador: é uma coisa, usada para caracterizar ou qualificar outra coisa,chamada de coisa predicada

Relacionamento: é uma coisa composta de uma ou muitas coisas predicadas

‘Machado de Assis escreveu Don Casmurro’

Outros conceitos: conjunto associado; entidade; tipo; população; instância

Page 8: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

FRISCO Report - terminologia básica

Transição: É um relacionamento binário entre duas coisas compostas diferentes, chamadas pré-estado e pós-estado da transição,

‘quadro limpo quadro sujo

Atores, Ações e actands

Açãoactand actand

ator

Pré-estado Pós-estado

Page 9: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

FRISCO Report – Níveis semióticos

Mundo físico: sinais, traços, distinções físicas, hardware, tokens físicos

Empírico: padrões, variedade, barulho, entropia, capacidade do canal, código

Sintático: estrutura formal, linguagem, lógica, dados, registros, dedução, software, arquivos

Semântico: significados, proposições, validade, denotações.

Pragmático: intenções, comunicação, conversação, negociações, discurso.

Mundo social: expectativas, contratos, leis sociais, cultura.

Page 10: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

FRISCO Report – Conceitos formais

Fonte: Relatório Técnico DSC/001/2001

1 CAMADA FUNDAMENTAL

1A CAMADA AÇÃO, ATORES E ACTANDS

2A CAMADA DE CONCEITOS COGNITIVOS E SEMIÓTICOS

3A CAMADA DE CONCEITOS DE SISTEMA

4A CAMADA DOS CONCEITOS DE SISTEMAS

ORGANIZACIONAIS E DE INFORMAÇÃO

Page 11: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Níveis de uma organização

FRISCO Report – Conceitos formais

Page 12: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

• Sistemas de Informação Gerencial (MIS)

Produz a informação correta, no local correto na hora certa

• Sistemas de Suporte à Decisão (DSS)

Trata de problemas poucoestruturados de naturezaestratégica ou tática

• Sistemas de Informação Executiva (EIS)

É um DSS que provê:• visões alternativas dos dados• integração de dados externos• estatísticas

OUTROS: Sistemas Baseados em Conhecimento, Sist. Inf. Geográfica, etc.

Page 13: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

• Sistemas de Processamento de Transações

- Automatização de rotinas- Processamento de grandes massas de dados

Folha de pagamento Loteria esportiva

TECNOLOGIA: Sistemas de Gerência de Bancos de Dados

Page 14: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

• Sistemas de Informação Gerencial (MIS)

Produz a informação correta, no local correto na hora certa

Relatórios gerenciais (programados)

TECNOLOGIA: Data Warehousing

Page 15: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

• Sistemas de Suporte à Decisão (DSS)

Trata de problemas poucoestruturados de naturezaestratégica ou tática

• Sistemas de Informação Executiva (EIS)

É um DSS que provê:• visões alternativas dos dados• integração de dados externos• estatísticas

Assistência imediata na solução de problemas complexos

TECNOLOGIA: Processamento analítico (OLAP),Integração de Dados na Web, Bases em Conhecimento, RBC

Page 16: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

• Sistemas Baseados em Conhecimento

O sistema possui informação (conhecimento) especializado, tem poder de raciocínio e toma iniciativas por si próprio

Simulação de sistemas complexosTomadores de decisãoEspecialistasSistemas automáticos (parcialmente fechados)

TECNOLOGIA: Sistemas Especialistas, Bancos de Dados Ativos,Redes Neurais, Bancos de Dados Dedutivos, Bases de Conhecimento

Page 17: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

• Sistemas de Informação Geográfica

O sistema processa e visualiza dados geográficos

TECNOLOGIA: Bancos de Dados Espaciais

Page 18: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

• Sistemas de Tempo RealSistema de tarefas:Tarefa <T, td, tf>, td = tempo de disponibilidade tf = tempo de finalização

O sistema realiza tarefas com restrições temporais fortes

TECNOLOGIA: Bancos de Dados Temporais, Multimidia, BDTR: Objetos e tarefas temporais

Page 19: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

• Bibliotecas Digitais

As fontes de informação são não-estruturadas e/ou Multimídia

TECNOLOGIA: Sistemas de Recuperação da Informação, Bancos de Dados Multimídia, Processamento de Linguagem natural, Imagens, Áudio e Vídeo

Page 20: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

• Sistemas de Informação na Web• Recuperação da Informação• Serviços Web

As fontes de informação são não-estruturadas e externas

TECNOLOGIA: Sistemas de Recuperação da Informação, Bancos de Dados na Web, Web Services, Browsers, Processamento de Linguagem natural, Ontologias

Page 21: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Tipos de Sistema de Informação

OUTROS:

• Sistemas Históricos• Sistemas de planejamento• Sistemas Distribuídos (homogêneos ou heterogêneos)• Bibliotecas Digitais

TECNOLOGIA: Bancos de Dados Multimídia, Bancos de Dados Temporais, Bancos de Dados Textuais, Bancos de Dados Distribuídos, Bancos de Dados na Web, Recuperação e Extração da Informação

Page 22: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Estrutura DIK – Dados, Informação, Conhecimento

Page 23: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Estrutura Controle Comportamento

Sistema de Informação

Page 24: MODELOS DE DADOS - Parte 2 Sistemas de Informação

• DICOTOMIA:

O Homem observa fenômenos, a natureza, o mundo, ele próprio, etc., e formula modelos conceituais sobre eles.

• HERÁCLITO (520 a.C.):

• tudo flui (panta rei)

• ARISTÓTELES:• A realidade são as coisas individuais• Todos conceitos são predicados

• ONTOLOGIA = o que é

• EPISTEMOLOGIA = o que se sabe

• ÉTICA = o que é certo

Page 25: MODELOS DE DADOS - Parte 2 Sistemas de Informação

• DICOTOMIAS

• Pensar• Abstrato• Tempo• Subjetivo• Ying• Idealismo• Processo• conhecimento procedural• Álgebra

• Ver, Sentir• Concreto• Espaço• Objetivo• Yang• Materialismo• Dado• conhecimento declarativo• Geometria

Page 26: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

I. KANT:

Noumenon: Uma coisa em si

abstraçãoobservação

Phenomenon:

Uma manifestação ou observação de Uma coisa

Page 27: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Os 3 mundos de POPPER:

Mundo objetivofísico

Mundo abstrato, mental(linguagem, conhecimento, matemática, leis, etc.)

Mundo subjetivopsicológico

Page 28: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Os 3 mundos de Smith:

Mundo materialpessoas, documentos, experimentos

Mundo particular(forças, campos, posição espaço-temporal.)

Mundo universalTipos, conjuntos, leis, matemática

instanciação

Page 29: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

As 2 visões de Hirschheim, H. Klein, K. Lyytinen :

• Objetivismo

Um modelo de dados é um espelho ou uma imagem da realidade

Wittgenstein Tractatus Logico-Philosophicus – teoria do significado

Dados são fatos ou entidades

Um modelo de dados formaliza as mensagens trocadas pelos membros de uma comunidade

• Subjetivismo

Page 30: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Triângulo Semiótico (Triangulo semântico de Ogden & Richards):

• Símbolo

• Conceito (idéia)

• Coisa

designa

descreve

Se refere a

Page 31: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

O Mundo real

Universo do discurso

Mundo concreto Mundo abstrato

Nívelexterno 1 Nível

externo 2Nível

Conceitual

Nível interno

33

33

100001

interpretaçãorepresentação

MundoModelo

Trinta-e-três33,00

Os 3 mundos dos Sistemas de Informação:

Page 32: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

O Mundo real

Mundo concreto Mundo abstrato

33

Os 3 mundos dos Sistemas de Informação:

Pelo OPM-Object Process Model de Dori

• Objetos do mundo concreto são objetos físicos• Objetos do mundo abstrato são objetos informáticos

Page 33: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Idade:33PESSOA(Nome:”João”, Idade:33)

Distância:33 km

33

interpretação

DADO

INFORMAÇÃO

João é jovem CONHECIMENTO

contextualização

Page 34: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

É um registro em meio eletrônico,papel ou outra mídia

É um dado munido de um significado

DADO(sintaxe)

INFORMAÇÃO(semântica)

• é entendimento obtido por experiência, observação ou estudo (Oxford Dictionary)• é informação organizada para solução de problemas (Webster’s Dictionary)

CONHECIMENTO(pragmática)

Page 35: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

4 Category Ontology (Loewe):

Non-substantial Substantial

Universal Non-substantial universals:Properties and relations

(“fogo queima palha”)

Substantial universals:Natural kinds and persisting objects

(“o fogo”, “palha”)

Particular Non-substantial particular:Property-instances and relation-instances(“estou vendo a palha de meu sítio queimando”)

Substantial particular:Propertied individuals, concrete objects

(“a palha de meu sítio”)

Page 36: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Pirâmides:

Ingenuidade_________Sabedoria

______________Expertise

___________________Entendimento

________________________Conhecimento

_____________________________Informação

_________________________________Dados

DIKUEWI [Dor02]:

Faísca ou erupção de sabedoria_encontrando inovações, formas de pensar_

Capacidade de capitalizar expertise __para achar soluções novas e criativas__

Alto nível de _entendimento para solução de problemas_

Conhecimento digerido habilitando um modelo mental

_____de causa e efeito____É informação assimilada,

__processada e analisada________Dados processados e

___agrupados de forma significativa___Símbolos elementares

Page 37: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Um bom modelo representa e processa todos objetos da aplicação modelada (tudo) e nada mais (somente tudo).

Princípio TST – Tudo e somente Tudo

O que é um bom modelo?

Page 38: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

Sistema de Informação

Estrutura Controle Comportamento

Page 39: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

ONTOLOGIA

Entidades

33

Relacionamentos

gosta-de

ilumina

idade

Atributos

Page 40: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

ENTIDADES x RELACIONAMENTOS x ATRIBUTOS

trabalha-em-> 0,11..20 <-tem-membro

ENGENHEIROnome:salário:

PROJETOnome:orçamento:

gerencia -> 0,11 <- gerenciado-por

Page 41: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

RELACIONAMENTOS com Papéis

PESSOA casada-com

Esposa

Marido

Page 42: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

RELACIONAMENTOS como classe

EXEMPLAR USUÁRIOemprestado-por 0,1

0,5 empresta

EMPRÉSTIMOdata:estado:

Page 43: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

RELACIONAMENTOS múltiplos

ARTIGO

LIVRO

PERIÓDICO

Contido-em

Contido-em

(Xor)

Page 44: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

RELACIONAMENTOS: DEPENDÊNCIAS

LIVRO

título

EXEMPLAR

nr.tombamentoestado:{disponível,reservado

`instancia`

• instancia

Page 45: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação

RELACIONAMENTOS: DEPENDÊNCIAS

• refina • deriva

LIVRO

título

CONTEÚDO

índicetexto

indexar

PALAVRA-CHAVE

indexa1..*

1..*'deriva'

`refina`

Page 46: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Abstrações

É o processo de descartar detalhes desnecessários de um objeto

Page 47: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Abstrações Classificação

Ser humano

Um predicado e sua extensão

Extensão / Intenção

Um conceito e sua intensão Ser humano

Banco (?)

Frege: Significado (Extensão) / Sentido (Intenção)

Page 48: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Abstrações

Classificação

EMPRESA

PESSOA

CONTRIBUINTE

HOMEM

Page 49: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Representação

PESSOAnome:string;idade:integer;gosta-de:objeto;

representação :PESSOAnome: Joseph Haydn;idade: 66;gosta-de:‘sol’;

Instância-de

classificação

Mundo real Mundo modelo

Page 50: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Generalização/Especialização

ESTUDANTE

PROFESSOR

PESSOA

HOMEMMULHER

EMPRESA

CONTRIBUINTE

atividade sexoU+

categoriaU+

- completo- disjunto+

U

Relação é-um (é-um(s,g))

discriminador

Page 51: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Generalização/Especialização

Relação é-um (é-um(s,g))

Sejam A e B duas classes. E |A| e |B| os respectivos conjuntos de instâncias de A e B. Então definimos

é-um(A,B) def |A| |B|

Classificação, Intenção

Relação é-elemento(e,C))

é-elemento(e,C) def e |C|

Page 52: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Visões - Especialização por categoria

HOMEM

PESSOA

MULHER

sexo

JOVEMADULTO

VELHO

idade

discriminador

Page 53: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Visões - Especialização por papel

NO EMPREGO

EM CASA

PESSOA

papel

MOTORISTANO TRÂNSITO

EM FÉRIAS

Page 54: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Agregação/Composição

EXEMPLAR

possui

Relação Parte-Todo (parte-de(p,t))

AUTORIA TÍTULO

LIVRO

EDITORAANO

Composição heterômera

Page 55: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Agregação X Relacionamentos

AUTOR TÍTULO

LIVRO

EDITORA

ANO

EXEMPLARpossui

escrito-por

nomeeditado-por

publicado-em

Page 56: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Agregação X Dependêcia – ‘instancía’

LIVRO EXEMPLAR

IMPRESSÃO

instancia

Page 57: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Agrupamento/agregação/power type

Composição homeômera Relação Parte-Todo‘elemento-de’

AUTORIA TÍTULO

LIVRO

EDITORAANO

AUTOR

Page 58: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Agrupamento/agregação/power type

TURMA

ALUNO

CURSO

DISCIPLINA

PERÍODO

Page 59: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Relação Parte-Todo (parte-de(p,t)) - Mereologia

QUESTÕES:

1. a parte pode existir sem o todo?2. o todo pode existir sem a parte?3. uma parte pode estar em vários todos?4. trocar uma parte altera o todo?5. as partes são homogêneas? 6. as partes são heterogêneas?7. As partes estão ordenadas?8. a composição/agregação pode ser mista?

Page-Jones: Composição: ~2, ~3, 4, 6 (com multiplicidades) Agregação: 2, 3, ~4, 5

Page 60: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Agrupamento/agregação/power type

AUTORIA

AUTOR

Como dependência powertype

powertype

TURMA

ALUNO

powertype

Page 61: MODELOS DE DADOS - Parte 2 Sistemas de Informação

CAPÍTULO II - Sistemas de Informação - Abstrações

Agregação genérica

TÍTULO

LIVRO

EDITORAANOAUTOR

EXEMPLAR

1..*

1..*

1..*

Page 62: MODELOS DE DADOS - Parte 2 Sistemas de Informação

PARTE II - Sistemas de Informação - Abstrações

1) é-um(A,B) & é-um(B,A) A=B

2) é-um(A,B) & é-um(B,C) é-um(A,C)

logo é-um e uma relação de ordem parcial

3) é-um(A,B) & é-um(A,C) = D(é-um(B,D) & é um(C,D))

4) é-parte(A,B) é-parte(B,A)

5) é-parte(A,B) & é parte(B,C) é-parte(A,C)

6) é-um(A,B) & é-parte(B,C) é-parte(A,C)

O caso é-parte(A,B) & é-um(B,C) é-parte(A,C)

nem sempre é verdadeiro, pois nem toda entidade de C tem que ser um

agregado com A.

7) é-um(A,B) & é-parte(A,C) é-parte(B,C)

8) é-um(B,C) & é-parte(A,C) é-parte(A,B)

9) é-um(A,B) & é-elemento(B,C) é-elememto(A,C)

10) é-um(B,C) & é-elemento(A,C) é-elemento(A,B)

Page 63: MODELOS DE DADOS - Parte 2 Sistemas de Informação

PARTE II - Sistemas de Informação - Abstrações

PUBLICAÇÃO

P-DIGITAL

P-PAPEL

PERIÓDICO MONOGRAFIA

meio tipo

LIVRO ANAIS

tipo

DISSERTAÇÃO

USUÁRIO

EXEMPLAR

reserva empréstimo

instancia

ARTIGO

{Xor}

contido-em

AUTORIA

AUTOR

1

1

1..*

1

0..*

+UU

+

0..3

0..1

TÍTULOCONTEÚDO

Page 64: MODELOS DE DADOS - Parte 2 Sistemas de Informação

PARTE II - Sistemas de Informação - Abstrações

CONS-COMB

FAB-P-ANO

QUANTIDADE

FABRICANTE

ANO-PROD

QUANTIDADE NOME

MODELO

NUM-SERIE

NUM-REGISTRO

CARRO-DE-FAB CARRO-

EM-GAR

CARRO-EM-USO

CARRO-DESTRUIDO

DATA

GARAGEM

PESSOAGRUPO-

PESSOAS

possue(1,*> possue(0,*><1,1)possue

em(1,1>

possue(0,*>

<1,1)produzido-em

modelo(1,1>

<1,1)tem-serieregistro(1,1>

<1,1)tem-nometem-nome(1,1>

carros-fabricados(1,1>

<1,1)cons-maximo

consumo(1,1>

total(1,1>

CARRO

Page 65: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Exercício em aula

Fazer o esquema conceitual de uma família convencional (um casal de pai e mãe com filhos).

Acrescente os atributos que achar necessário. Considere tanto atributos da família como um todo, como dos membros.

Todas dúvidas devem ser resolvidas de alguma forma e as soluções justificadas.

Page 66: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-estruturados

Origens:

• Estrutura irregular(ausência de atributos, atributos imprevisto, domínios diferentes,ordem dos atributos)

Telefone; origem; Endereço

EXEMPLO

• Estrutura implícita Idade; Textos; Esquemas data-driven

• Estrutura parcial(dados com parte estruturada e parte livre)

Ficha médica

Page 67: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-estruturados

Origens:

• Estrutura extensa(número grande de atributos, alguns possivelmente nulos)

Curriculum Vitæ, registro bibliográfico

EXEMPLO

• Estrutura evolucionária Páginas Web

• Estrutura descritivaou indicativa(conseqüência das anteriores)

Páginas XML, HTML, DC

Page 68: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-estruturadosRegistro bibliográfico: EXEMPLO

• Type of Material: Book (Print, Microform, Electronic, etc.) •Personal Name: Gray, Peter M. D., 1940- •Main Title: Object-oriented databases : a semantic data model approach/ Peter M.D. Gray, Krishnarao G. Kulkarni, Norman W. Paton. •Published/Created: New York : Prentice Hall, 1992. •Description: xv, 237 p. : ill. ; 24 cm. •ISBN: 0136302033 : $38.00

000 01121cam a2200277 a 450 MARC001 4379613 005 19941006095702.5 008 910910s1992 nyua b 001 0 eng 035 __ |9 (DLC) 91032213 906 __ |a 7 |b cbc |c orignew |d 1 |e ocip |f 19 |g y-gencatlg 955 __ |a pc03 to bg00 09-10-91; bg03 to SCD 09-11-91; fg09 09-12-91; fr25 09-16-91; jb00 03-11-93; CIP ver. jb11 05-13-93 010 __ |a 91032213 020 __ |a 0136302033 : |c $38.00 040 __ |a DLC |c DLC |d DLC 050 00 |a QA76.9.D3 |b G7222 1992 082 00 |a 005.75 |2 20 100 1_ |a Gray, Peter M. D., |d 1940- 245 10 |a Object-oriented databases : |b a semantic data model approach/ |c Peter M.D. Gray, Krishnarao G. Kulkarni, Norman W. Paton. 260 __ |a New York : |b Prentice Hall, |c 1992. 300 __ |a xv, 237 p. : |b ill. ; |c 24 cm. 440 _0 |a Prentice-Hall international series in computer science 504 __ |a Includes bibliographical references (p. 218-230) and index. 650 _0 |a Object-oriented databases. 700 1_ |a Kulkarni, Krishnarao G. 700 1_ |a Paton, Norman W. 991 __ |b c-GenColl |h QA76.9.D3 |i G7222 1992 |p 00034950064 |t Copy 1 |w BOOKS

Page 69: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-formatados

Origens:

• Distinção entreestrutura e dadosnão é clara()

JORNAL

EXEMPLO

JORNAL DA PARAÍBA

EDIÇÃO DE HOJE

MEU EXEMPLAR

Coluna de Dora Kramer

Page 70: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-formatados

Níveis de formatação:

• Texto livre

Língua = (alfabeto, vocabulário, gramática)

Page 71: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-formatados

• Texto livre Livro

Título Autor Índice Conteúdo

Capítulo

Parágrafo

Frase

OraçãoPalavraLetra

Page 72: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-formatados

• Texto marcado

‘Semi-estruturado’

• doc, rtf, pdf, ps, tex, ... • html• xml & etc (rdf, dc, xmlschema, owl,..).

• Tipo de letra, tamanho, aparência, autoria, localização, hiperlink, etc.

EXEMPLO

Page 73: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-formatados

‘Semi-estruturado’ Em RTF:

{\rtf1\ansi\ansicpg1252\uc1\}{\*\generator Microsoft Word 10.0.2627;}{\info{\title Semi-}{\author Ulrich Schiel}{\operator Ulrich Schiel} Semi}{\insrsid3955129\charrsid8669994 -}{\insrsid8669994\charrsid8669994 e}{\insrsid3955129 struturado\par }}

rtf integral

doc2003

doc2007

Page 74: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-formatados

‘Semi-estruturado’ Em HTML:

<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.org/TR/REC-html40">

<head><title>Semi-estruturado</title><!--[if gte mso 9]><xml> <w:WordDocument> <w:Zoom>150</w:Zoom> <w:GrammarState>Clean</w:GrammarState> <w:HyphenationZone>21</w:HyphenationZone> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument></xml><![endif]--><style>

<!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, page Section1

.......;}div.Section1

{page:Section1;}--></style><!--[if gte mso 10]><style> /* Style Definitions */ .......</style><![endif]--></head><div class=Section1><p class=MsoNormal><b>Semi</b>-estruturado</p></div></body></html>

Page 75: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-formatados

• Hipertextos• Hiperdocumentos• Multimídia

Outros:

Modelagem: • OEM• DTD• XML/XML Schema• RDF/RDF Schema• DC• OWL

Page 76: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Dados semi-formatadosDados Semi-estruturados

• Atributos fixos• tamanhos fixos• Todos dados estão de acordo com um esquema

Dados Estruturados

• atributos de tamanho variável• atributos com domínio variável• atributos opcionais• atributos imprevistos

Solução

Esquemas definidos a priori Esquemas acompanham objetosEsquemas data-driven

Dados Específicos

Page 77: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Exercício em aula

Fazer o esquema conceitual de uma família convencional (um casal de pai e mãe com filhos). Teu esquema deverá ter, no mínimo uma classe denominada FAMÍLIA.

Acrescente os atributos que achar necessário. Considere tanto atributos da família como um todo, como dos membros.

Comente que tipos de famílias teu modelo comporta e quais famílias ele não considera.

Page 78: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Exercício

Queremos desenvolver um sistema de informações sobre saúde. O serviço tem como propósito auxiliar seus usuários a tratar de sua saúde. Ele deverá manter um sistema de informações com as seguintes características:Cadastro de elementos de tratamento que podem ser produtos, componentes ou comportamentos (p. ex. fisioterapia, natação, caminhada, etc.) que podem fazer bem ou mal a uma doença. Um produto (que pode ser um remédio ou um alimento) é composto por vários componentes. Para cada componente de um produto é definido sua dosagem. Cadastro de males, que podem ser doenças, sintomas ou situações (como gordura, magreza, depressão, etc.). Uma doença pode apresentar vários sintomas. São determinados tratamentos, baseados em efeitos de elementos sobre males. Há efeitos que fazem bem e os efeitos prejudiciais a cada mal cadastrado. Um tratamento será uma combinação de efeitos que fazem bem. Para um tratamento é definido a dosagem do elemento que determina o efeito (benéfico ou maléfico). Estes tratamentos são resultados de pesquisas publicadas em alguma fonte. O sistema mantém estes dados, definindo a origem e a fonte do tratamento. Também é definido a categoria de tratamento, se é alopático, homeopático, natural, chinês, etc.Um usuário poderá fazer uma consulta anônima ao sistema por produto, por componente ou por mal. Outra forma de interação é o usuário se cadastrar e registrar um tratamento. Posteriormente o usuário retorna, relata o resultado do tratamento que é registrado no sistema.

1) Faça um esquema conceitual de classes para este sistema, definindo também os atributos.2) Faça um diagrama de objetos que representa que a castanha-do-pará é rica em gorduras monoinsaturadas que ajudam a emagrecer, ou seja, fazem bem a quem é gordo. A origem desta informação é a revista Boa Forma tendo como fonte o International Journal of Obesity.

Enunciado:

Page 79: MODELOS DE DADOS - Parte 2 Sistemas de Informação

PARTE II - Sistemas de Informação

Sistema de Informação

Estrutura Controle Comportamento

Page 80: MODELOS DE DADOS - Parte 2 Sistemas de Informação

PARTE II - Sistemas de Informação

Tipos de integridade:

Declarativa (implícita) de esquema

Não-Declarativa (explícita) de dados

• Tipo/subtipo• Abstrações• unicidade/cardinalidade• exclusão

regras de integridade• de estado (estáticas)• de transição (dinâmicas)

Page 81: MODELOS DE DADOS - Parte 2 Sistemas de Informação

PARTE II - Sistemas de Informação

Integridade Declarativa (implícita) - de esquema

Formas: implementação fixa X efeitos colaterais

PESSOA

CANDIDATO

EMPREGADO

HOMEM

MULHER

situaçãosexo

SEXO

é-de-sexo

++1

operation candidatar-se(p,s) pre-condition not( in(p, CANDIDATO) )

body CANDIDATE insert (p)

for each class A such that is-a(A,PERSON,r) and not(r=situação) and r(p,A) do A insert (p)

situação(p, CANDIDATO)

PERSON insert (p)

for each class B such that in(p,B) and not(B=CANDIDATE) and situação(p,B) do p delete (B)

Page 82: MODELOS DE DADOS - Parte 2 Sistemas de Informação

PARTE II - Sistemas de Informação

Integridade Não-Declarativa (explícita)

Linguagem de Controle de Dados - LCD

Pré- e Pós-condições

Programas aplicativos

Regras de Controle (Triggers)

Page 83: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

Integridade Não-Declarativa (explícita)

Linguagem de Controle de Dados - LCD

Regras de Controle (Triggers)

create assertion sal-minimo check(not exists(select * from EMPREGADO

where EMPREGADO.salario < sal-minimo))

create trigger sal-baixo on update of EMPREGADO E (if E.salario < sal-minimo then update E set E.salario = sal-minimo)

OCL – Object Constraint Language

SQL

invariantes

Page 84: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

Integridade Não-Declarativa (explícita)

Pré- e Pós-condições

Programas aplicativos

operation admissão(p, nome, sal) pre-condition not( in(p, EMPREGADO) ) : CANCEL sal < sal-minimo : WARNING body EMPREGADO insert (p) p establish(tem-salário(s)) p establish(tem-nome(some))

OCL – Object Constraint Language

Page 85: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

OCL – Object Constraint Language

Page 86: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Exemplos OCL

Sistemas de Informação - Integridade

Restrição 1: um professor deve orientar, no máximo, 5 alunos.Context Professor inv:

self.orienta->size <= 5Restrição 2: Professor colaborador não pode coordenar projetoContext Colaborador inv:

self.coordena->size = 0

Page 87: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Mais Exemplos OCL

Sistemas de Informação - Integridade

http://www.empowertec.de/ocl/examples.htm

http://i12www.ira.uka.de/~aroth/lehre/keypraktWS0304/oclIntro.pdf

http://projekte.fast.de/Projekte/forsoft/ocl/2_OCL_Examples.html

http://maude.sip.ucm.es/itp/ocl/examples.html

Page 88: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

Regras ECA: Evento-Condição-Ação

ON ( Evento) IF (Condição) DO (Ação)

Em SQL:

Define trigger sal-baixo on update of EMPREGADO E (if E.salario < 410 then update E set E.salario = sal-minimo)

Page 89: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

Regras ECA: Evento-Condição-Ação

EVENTOS

externos

internos

temporais

Do BD

estado

operação

Entrega do último trabalho

fim-do-semestre

total-matriculados> limite

reserva-vaga

Tipos de EVENTOS

Page 90: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

Regras ECA: Evento-Condição-Ação

• Instantâneos (às 17hs)• Longos (das 12-17hs) (até as 17hs?)

Formas de EVENTOS

• Simples (após as 17hs)• Compostos

(após as 17hs & sala vazia)

Page 91: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

Regras ECA: Evento-Condição-Ação

ON ( Evento) IF (Condição) DO (Ação)

QUESTÕES CRÍTICAS COM REGRAS ECA:

• como detectar um evento?• múltiplos eventos, qual a regra se aplica primeiro?• múltiplas condições?• múltiplas regras, qual aplicar primeiro? E se uma invalida a outra? E loops?• uma regra é uma transação?

Page 92: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

Uso de Regras ECA

EXEMPLO

evento fim-do-mêsquando mês(hoje)< mês(prox(hoje)) & dia-sem(hoje) sábado &

dia-sem(hoje) domingo));

regra pagamento ON fim-do-mês IF valor-caixa EMPREGADO.salario(e)DO emitir folha-de-pagamento.

1) Disparo automático de ações – Regra de Produção

ON EMPREGADO insert (p,s) IF s < sal-mínimo DO p establish(tem-salário(Sal-mínimo))

(BANCO DE DADOS ATIVO)

Page 93: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

EXEMPLOS

ON establish(tem-salário(p,s)) IF s < salário-mínimo DO ABORT

2) Restrições de Integridade -

o Evento determina o momento do teste (uma operação), a Condição determina a violação da restriçãoa Ação aborta a operação caso a restrição seja violada

ON p:PROFESSOR establish(orienta(p,a)) IF #(orienta(p,*)>5 DO ABORT

Page 94: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

EXEMPLOS

ON avô(x,y)? IF (x.pai=z & z.pai=y)) DO avô(x,y)

3) Regras de Dedução – o Evento é um predicado (a ser validado)

a Condição são os fatos, obtidos do BD para validar o eventoa Ação é uma confirmação do predicado do evento

ON privilegiado(x)? IF x.salario=s & s>chefe(x).salario

DO privilegiado(x)

Page 95: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

Lógica Temporal

Exercícios

Page 96: MODELOS DE DADOS - Parte 2 Sistemas de Informação

QUESTÕES ABERTAS DA ORIENTAÇÃO A OBJETOS

• Estático/Estrutural:• abstrato: empresa, idade, inteiro, nome, text, cor, salário, • relacionamento, evento longo• concreto: pessoa, máquina, prego

• Dinâmico/Comportamental: evento curto, operação, transação, mensagem• Regra: restrição de integridade, regra de produção, regra de dedução• Fatos: dados compostos, mensagens, informação implícita, • dados minados, informação incompleta

• Multimídia: textos, frases, palavras, letras,imagens paradas ou animadas, músicas,

• Intenção: esquemas, classes, contextos, categorias, estatísticas

•1) O que é um objeto?

Page 97: MODELOS DE DADOS - Parte 2 Sistemas de Informação

QUESTÕES ABERTAS DA ORIENTAÇÃO A OBJETOS

• Problema conceitual ou de implementação ?

• OID está para OO como 1FN para o modelo relacional• muito fundamental mas orientado à implementação

2) Identificação de Objetos

Page 98: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Integridade

Exercício

Para o esquiema conceitual do Sistema de Saúde defina duas regras em OCL, para realizar o seguinte:1. Uma restrição de integridade que garante que, ao inserir um

tratamento, a dosagem de um componente de um produto não é maior do que a dosagem na associação deste produto no tratamento que associa o produto a um mal (em OCL);

2. Uma regra que, se um usuário relata que um tratamento sugerido como benéfico não fez bem, remove este tratamento do sistema.

Page 99: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação

Sistema de Informação

Estrutura Controle Comportamento

Page 100: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Comportamento

Sistemas de Informação - Comportamento

Analogia com a linguagem:

Substantivo Entidade, objetoAdjetivo AtributoVerbos de ligação Relacionamentos

(aqueles que dão qualidades,

características ou indicam estado do sujeito)Verbos ativos Operação

(transitivos e intransitivos)

Page 101: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

1) Operações aplicativas pré-definidas

2) Operações aplicativas ad-hoc

Operações

3) Operações primitivas do sistema ou ações

Page 102: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Forma abstrata: pré-condição [operação] pós-condição

Operações

EXEMPLO

Forma concreta: operação{pré-condição; algoritmo}

EMPREGADO.salário=s[aumento(fator)]EMPREGADO.salário=s*fator

aumento(fator) {EMPREGADO.salário=s; EMPREGADO.salário:=s*fator}

Page 103: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Falha nas condições:

• advertência (WARNING)• cancelamento da operação (CANCEL)• cancelamento da transação (UNDO)

Operações

EXEMPLO

EMPREGADO.salário=s; [Aumento(fator)] EMPREGADO.salário:=s’& s s’: WARNING & s’< sal-min : CANCEL

Page 104: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

UML

Comportamento global

1) Diagrama de Sequência

2) Diagrama de Colaboração

3) Diagrama de Estados

4) Diagrama de Atividades

Page 105: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Diagrama de SeqüênciaJanela de entrada

de pedido p: Pedido : ItemPedido :ItemEstoque

preparar()

* [para cada item do pedido]preparar()

emEstoque := verificar()

[emEstoque]remover() estoqueBaixo :=

verificEstoqueBaixo()

:ItemRenovEstoque

:ItemEntrega

[estoqueBaixo]<<criar>>

[emEstoque]<<criar>>

LIMITAÇÃO: Um diagrama para cada sequência

Page 106: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Diagrama de ColaboraçãoJanela de entrada

de pedido

p: Pedido

: ItemPedido :ItemEs toque

:ItemRenov Es toque:ItemEntrega

1: preparar( )

1.1: *[para c ada item do pedido] preparar( )

1.1.1 : emEs toque := v erif ic ar( )1.1.2 : [emEs toque] remov er( )

1.1.2.1: es toqueBaix o := v erif ic Es toqueBaixo( )

1.1.2.2 [es toqueBaix o] <<c riar>>

1.1.3 : [emEstoque] <<c riar>>

LIMITAÇÃO: Um diagrama para cada sequência

Page 107: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Ocioso

Manutenção

fazerManutenção

Validando

Selecionando Processando

Imprimindo

[continuar]

[não continuar]

H

entry / lerCartão exit / ejetarCartão

cartãoInserido

cancelar

Ativo

Diagrama de Estados

LIMITAÇÃO: Um diagrama para cada objeto pequeno número de estados

Page 108: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Diagrama de Atividades

Procurar bebida

[achou café]

H

Pessoa

H[sem café] [sem Coca]

[achou Coca]

Pegar latade Coca

Beber

Adicionar água àmáquina

Colocar caféno filtro

Colocar filtrona máquina

Ligar máquina

Filtrar café

Pegarxícara

Colocar café naxícara

LIMITAÇÃO: Não mostra a interação com os objetos

Page 109: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

SOLUÇÃO GLOBAL:

Comportamento global

Redes de Petri

Page 110: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Uma Rede e Petri descreve, em um diagrama, a

interação de todos os

Objetos/Lugares/Condições

entre si por meio de

Transições

Redes de Petri

Page 111: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Prima-vera

Verão

Inverno Outono

VerãoTropical

InvernoTropical

c1

c2

c3

c4

c5

c6

e1

e2

e3

e4

Rede de Petri das quatro estações

20/3

20/6

20/9

20/12

Page 112: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Prepararprodução

Produção Consumo Prepararconsumo

t1 t2 t3 t4

p1

p2

p3

p4

p5

Sistemas de Informação - Comportamento

Sistema produtor / consumidor

Page 113: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Prepararprodução

Produção Consumo Prepararconsumo

t1 t2 t3 t4

p1

p2

p3

p4

p5

Sistemas de Informação - Comportamento

Sistema produtor / consumidor

Page 114: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Petri

Uma Rede de Petri é uma triplaR = <S,T,A>

tal que S é o conjunto dos chamados S-elementos (de state); T é o conjunto dos T-elementos (de transições) e A (ST) (TS), são as arestas que descrevem o fluxo.

Em outras palavras, uma Rede de Petri é um grafo dirigido bipartido (com dois tipos de nós tal que nós vizinhos sempre são de tipos distintos).

Page 115: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de PetriDado uma Rede de Petri

R = <S,T,A>.

Préconjunto e Pósconjunto *t = { s S / <s,t> A} é o préconjunto de t, e

t* = { s S / <t,s> A} é o pósconjunto de t.

Page 116: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Petri

Quatro-Estações = <S,T,A>, comS = {c1=primavera, c2=verão-tropical, c3=verão, c4=outono,

c5=inverno-tropical, c6=inverno}T = {e1, e2, e3, e4}A = {<c1, e1>, <e1, c3>, <c3, e2>, <e2, c4>, <c4, e3>,

<e3, c6>, <c6, e4>, <e4, c1>, <e4, c2>, <c2, e2>, <e2, c5>, <c5, e4>}

Page 117: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Petri

Uma marcação de uma rede <S,T,A> é uma função M: S N que associa a cada S-elemento o número de marcas neste elemento.

Definimos agoraSe N={0,1} a rede é uma Rede Condição/Evento (C/E)Se N={0,1,2,3,...} a rede é uma Rede Lugar/Transição (P/T)

Em uma Rede P/T (Lugar /Transição) pode haver uma função limite:lim: S N que define para cada lugar um limite máximo de marcas:

M(s) ≤ lim(s)

Page 118: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Petri

Dada uma marcação M, uma transição tT está habilitada a ser acionada quando todo elemento de *t (isto é, toda entrada) possui pelo menos uma marca, e toda saída está livre, ou seja

s [s *t M(s) 0) & (s t* M(s) < lim(s)]

Acionamento de uma transição cria uma nova marcação M’, tal que

M'(s) = M(s)-1 Se s *tM'(s) = M(s)+1 Se s t*M'(s) = M(s) nos outros casos.

Page 119: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Exemplo

Marcação:M(c6) = M(c5) = 1; M(c1) = M(c2) = M(c3) = M(c4) = 0;

*e4 = {c5, c6}logo e4 está habilitado

Acionamento de e4 dá e4*={c1,c2}:

M(c1) = M(c2) = 1; M(c3) = M(c4) = M(c5) = M(c6) = 0;

Quatro-Estações = <S,T,A>, comS = {c1=primavera, c2=verão-tropical, c3=verão, c4=outono,

c5=inverno-tropical, c6=inverno}T = {e1, e2, e3, e4}A = {<c1, e1>, <e1, c3>, <c3, e2>, <e2, c4>, <c4, e3>, <e3, c6>, <c6, e4>,

<e4, c1>, <e4, c2>, <c2, e2>, <e2, c5>, <c5, e4>}

Page 120: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Petri

Acionamento de uma transição habilitada

Page 121: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Modelagem com Redes de Petri

SEQUÊNCIA

CONCORRÊNCIA

CONFLITO

CONFUSÃO

Page 122: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Petri

Uma marcação M é alcançável a partir de Mo, seexiste uma sequência de passos que leva a M: P1 Pn

Mo ----> .... -------> M

O fecho de uma marcação M, denotado por /M, é o conjunto de todas as marcações alcançáveis a partir de M.

Page 123: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Petri

r

s

t u

a

b

c

{}

{a}

{b}

{a,b}{c}

{b,c}

{a,b}

{a,b,c}

u

sr

r

s

s

tsr

O fecho da marcação M0= {}

r

Page 124: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Sistema de Petri

a) ele é fracamente vivo quando existe uma sequência infinita de passos a partir da marcação inicial.

b) ele é vivo quando é fracamente vivo e todas transições estão vivas.

c) ele é fortemente vivo quando para todas as marcações do fecho /M, todas transições são vivas.

Dado uma rede de Petri R=<S,T,A> e uma marcação M de R, Denominamos o par <R,M> um Sistema de Petri

Page 125: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes Temporais.

Rede Temporal nas transições:

<t1,t2>

Rede Temporal nos lugares:<t1,t2>

<t3,t4>

Rede Temporal nas arestas: <t1,t2>

<t3,t4>

<t5,t6>

Page 126: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível.

Uma Rede de nivel 1:

Uma Rede de nivel 3: a

bb

Uma Rede de nivel 2:

bx x

x=b

Page 127: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível.

Uma Rede de nivel 3:

a

b

x

y

x

x=y

b

b

x b

Page 128: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível - conversão

a

b

x

y

x

x=y

a

b

b

x

Page 129: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível.

Uma Rede Predicado/Transição (PrT) é uma Rede de PetriR = < P, T, A >

tal que1) os elementos de P são conjuntos de elementos que satisfazem

a um predicado P(X1,...,Xn);

2) A cada elemento de A, <p(x1,...,xn), t> ou <t, p(x1,...xn)> está associado uma tupla de n variáveis <v1,...,vn>;

3) A cada transição t T está associado uma conjunção de fórmulas, envolvendo as variáveis das arestas de *t e t*, chamada condição de transição

Page 130: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível.

• Acionamento de uma transição

• Rede PrT habilitada

Page 131: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes Hierárquicas

L1

L2

L3

T

Page 132: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes HierárquicasL1

L2

L3espera

início fim

T

ANALOGAMENTE PODE HAVER HIERARQUIAS NOS LUGARES

Subrede

Page 133: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível - Exemplo

<p7,30>

<p2,20>

<p3,55>

IDADE(P,I)

<p7,d1>

ADMISSIVEL(P,D) admissão

_____________~d’(trab(p,d’)& i>17

DEPARTAMENTO(D)TRABALHA(P,D)

demissão_____________

DEMITIVEL(P)

CANDIDATO(P)

<p1,d5>

<p3,d1>

p2

p1

p5

p7

d1 d2

d5

d

<p,i>

<p,d>

<p,d>p

p

p

<p,d>

p

p3

<p,d>

<p,i>

<p1>

<p1,16>

<p1, d5>

Page 134: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível – definição detalhada.Uma Rede Predicado/Transição (PrT) é composta por

1) uma Rede de Petri R = < P, T, A >

2) Um universo de objetos, O

3) Um conjunto de variáveis de objetos, VO

4) Uma linguagem formal de fórmulas de transição, F

5) Uma linguagem de descrição de tipos de objetos OT, 6) a cada tipo t e a cada objeto o está associado um inteiro

chamado de aridade de t, nt ou aridade de o, no.

7) Uma função : P OT, que determina o tipo do predicado

8) Uma função : T F, que associa uma regra a cada transição

9) Uma função : A P(VO), sendo que |(a)| = nt, em que t é o

tipo do predicado p contido em a. (a= <p,t> ou a = <t,p>)10) Uma função de marcação inicial M0: P P(O), sendo que todo

o M0(p) é da mesma aridade (o1,o2 M0(p) vale no1 = mo2)

Page 135: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível – definição detalhada. Uma transição t de uma rede PrT está habilitada quando:

• para toda aresta <p,t> A existe um objeto o M0(p) que

satisfaz uma instanciação da fórmula em (t). Denotamos isto

por (t)[o]=v.

• para toda aresta <t,p> A não existe um objeto o M0(p)

que satisfaz a instanciação da fórmula em (t).O acionamento de uma transição habilitada t, consiste em definir uma nova marcação M1 tal que M1 = M0 exceto:

• para todo p M0(t-) existe um objeto o p, tal que (t)[o]=v, e M1(p)= M0 -{o}• para todo p M0(t+) existe um objeto o p, tal que (t)[o]=V , e M1(p)= M0 {o}

Page 136: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível.

Exercício 2014: Desenvolver uma Rede de Petri de alto nível para uma empresa de taxis espalhados em uma cidade. Cada taxi tem uma identificação (id), uma localização (loc) que indica o local onde se encontra e um status (s) que pode ser “livre” ou “ocupado”.O sistema deve controlar o seguinte:•A inserção de novos taxistas no sistema, em estado “livre’;•O registro de uma requisição de viagem de um passageiro (p) que está em um local lp. • Com uma requisição de viagem o sistema escolhe o taxi mais próximo, baseado em uma função dist(l1,l2) que calcula a distância entre duas localizações. Este taxi passará para o estado “ocupado”;• Após o término da viagem, o taxi volta ao estado “livre” em um outro local. Além disso essa viagem é guardada em um históricos de viagens que terá a identificação do taxista e locais de partida e fim da viagem;• A qualquer instante podem ocorrer as seguintes alterações:

• A mudança do local de um taxi “livre”• A mudança de status de um taxista de “livre” para “ocupado” e vice versa.• A saída de um taxi do sistema.

Page 137: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível.

Exercício:

Para um sistema de roteiros turísticos queremos fazer uma Rede de Petri com as transições: insere-vôo, insere-hospedagem e a outra insere-evento. Para tal, considere os seguintes predicados:- VÔO(R, TIPO, T1,T2) – R é o cód. do roteiro, TIPO é ‘ida’ ou ‘volta’ e T1 e T2 são os dias de partida e chegada do vôo;- HOSPEDAGEM(R, H, T1, T2) - R é o cód. do roteiro e H é o cód. da hospedagem;- EVENTO(R, E, T1, T2) – E é o código do evento-FLAG(R) – este predicado deve ser colocado entre as transições ‘insere-hospedagem’ e ‘insere-evento’ para, por meio de uma marca, garantir que primeiro é definido a hospedagem e depois os eventos.

NOTAS: (1) a tua rede deve manter a consistência temporal entre os vôos, a hospedagem e os eventos.

Page 138: MODELOS DE DADOS - Parte 2 Sistemas de Informação

Sistemas de Informação - Comportamento

Redes de Alto Nível – Exercício

Seja a seguinte Rede Predicado/Transição que modela o acompanhamento de jogos de futebol:

J-MARCADO J-EM-ANDAMENTO J-ENCERRADO

marcar gol encerrariniciar

TIME

TABELAOs predicados têm a seguinte estrutura:TIME(nome, cidade)J-MARCADO(time-A, time-B, cidade)J-EM-ANDAMENTO(time-A, gols-A, time-B, gols-B)J-ENCERRADO(time-A, gols-A, time-B, gols-B)TABELA(time, pontos-ganhos)1. Complete a rede colocando variáveis nas arestas, criando as transições de entrada e considerando as seguintes regras:

• Um jogo só pode ser marcado na cidade de um dos times;• A transição de ‘encerrar’ atualiza a tabela da seguinte forma: se houve empate, cada time recebe 1 ponto, uma vitória de 1x0 dá dois pontos ao vencedor e qualquer outra vitória, da 3 pontos ao vencedor.

Seja a seguinte Rede Predicado/Transição que modela o acompanhamento de jogos de futebol:

2. Considere uma seqüência de transições marcar, iniciar, gol, etc. para dois jogos simultâneos e mostre o conteúdo de cada predicado. Use uma tabela em que cada coluna representa um predicado e cada linha representa o acionamento de uma transição da sequência. Cada célula da tabela conterá o estado do predicado no respectivo instante. Ants de iniciar com a transição ‘marcar’ considere que os predicados TIME e TABELA já contêm como instâncias os quatro times que irão jogar.