Breve Histórico de Linguagens e Metodologias de Modelagem de Software.
Transcript of Breve Histórico de Linguagens e Metodologias de Modelagem de Software.
![Page 1: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/1.jpg)
Breve Histórico de Linguagens e Metodologias de Modelagem de
Software
![Page 2: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/2.jpg)
Linguagens de Modelagem de SW
• Formais, Informais, Semi-formais• Algébricas, Visuais
![Page 3: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/3.jpg)
Algumas linguagens/processos apresentados brevemente
• Fluxograma• Análise Estruturada e suas extensões• IDEFs• Z• VDM• B• Modelica• Alloy• Statecharts• SDL• Álgebra de Processos (ACP, CCS, CSP)• Redes de Petri• SysML• UML
![Page 4: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/4.jpg)
Fluxogramas
• Usado desde a década de 1940 para especificar software
• Muito usado nas décadas de 1960 e 1970• Flowchrating techniques (IBM 1969):
http://www.fh-jena.de/~kleine/history/software/IBM-FlowchartingTechniques-GC20-8152-1.pdf
![Page 5: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/5.jpg)
Fluxogramas
![Page 6: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/6.jpg)
Fluxogramas
• Caiu em desuso com as técnicas estruturadas– Mas ainda é usado para especificação de
processos e software.
![Page 7: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/7.jpg)
Análise Estruturada
• Diversos autores– Larry Constantine and Ed Yourdon (1975).
Structured Design. Yourdon Press.– Chris Gane and Trish Sarson. Structured Systems
Analysis: Tools and Techniques. McDonnell Douglas Systems Integration Company, 1977
– Tom DeMarco (1979). Structured Analysis and System Specification. Prentice Hall.
– Edward Yourdon (1989). Modern Structured Analysis, Yourdon Press Computing Series, 1989
![Page 8: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/8.jpg)
Análise Estruturada
• Idéias estruturadas de 1960 e 1970’s– Structured program theorem (Böhm-Jacopini theorem -
1966) – “Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules" (May 1966). Comm. ACM, 9(5):366-371
• Any algorithm can be expressed using only three control structures. They are
– Executing one subprogram, and then another subprogram (sequence)
– Executing one of two subprograms according to the value of a boolean expression (selection)
– Executing a subprogram until a boolean expression is true (iteration)
![Page 9: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/9.jpg)
Análise Estruturada
– Programação estruturada• Go To Statement Considered Harmful (Dijsktra, 1968)
"The go to statement as it stands is just too primitive, it is too much an invitation to make a mess of one's program."
– O.-J. Dahl, E. W. Dijkstra, C. A. R. Hoare Structured Programming, Academic Press, London, 1972
– Algol, Pascal, C
![Page 10: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/10.jpg)
Análise Estruturada para Sistemas de Tempo de Real
• Inclusão de diagrama de fluxo de controle• Derek J. Hatley, Imtiaz A. Pirbhai (1988).
Strategies for Real Time System Specification. John Wiley and Sons Ltd.
• Stephen J. Mellor und Paul T. Ward (1986). Structured Development for Real-Time Systems: Implementation Modeling Techniques: 003. Prentice Hall.
![Page 11: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/11.jpg)
Ferramentas da Análise Estruturada
• Diagrama de Fluxo de Dados• Dicionário de Dados• Pseudo-código/Linguagem estruturada• Árvores de decisão• Tabelas de Decisão• Diagrama Entidade-Relacionamento
![Page 12: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/12.jpg)
Diagrama de Fluxo de Dados
• Modelo lógico do software– Independente de hardware, software, estrutura de
dados...• Pode ser particionado em diversos níveis de
abstração (Contexto ou nível 0, nível 1, ...)• 4 elementos básicos
– Entidade externa (origem/destino)– Processo– Depósito de dados– Fluxo de dados
![Page 13: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/13.jpg)
Entidade Externa
• Define a origem ou o destino dos dados• Normalmente é uma pessoa ou grupo de
pessoas, uma organização, ou parte dela, um hardware ou software
• Produz e recebe informação
![Page 14: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/14.jpg)
Processo• Transforma dados• Pode representar um software, vários softwares, um
módulo, ...• Geralmente provoca mudança de estado, estrutura
ou conteúdo• A numeração não indica sequência de ações• Geralmente são verbos na especificação
![Page 15: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/15.jpg)
Depósito de dados
• Pode ser um arquivo, uma tabela, ou parte de um banco de dados
• Independente de unidade de armazenamento• Pode receber o nome do fluxo de dados• Normalmente está no plural
![Page 16: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/16.jpg)
Fluxo de Dados
• Insere e retira dados de processos, depósitos de dados e entidades externas
• Deve ter um nome único• Deve ser descrito no dicionário de dados
![Page 17: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/17.jpg)
DFD de Contexto
• DFD de nível mais alto (DFD de nível 0)• Apresenta a visão das principais funções do
sistema• Contém um processo, entidades externas e
fluxos de dados
![Page 18: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/18.jpg)
Níveis de DFD
• Seguem DFD's de nível 1, 2, ...• A quantidade de níveis depende da
complexidade do software• Quantos níveis são necessários?
– O suficiente :)• Experiência dos desenvolvedores• Numerações: 1 -> 1.1 -> 1.1.1 -> ...
![Page 19: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/19.jpg)
Explosão de DFD’s
• Uma vez identificadas as funções principais, pode-se explodir cada função para níveis mais detalhados
• A explosão é uma decomposição hierárquica• 7+-2 processos por nível
![Page 20: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/20.jpg)
Dicionário de dados
• Descrição de dados do software• Ajuda a melhorar a comunicação
usuário/analista• Usado na base de dados• Significado de fluxos e depósitos de dados• Composição de dados agregados (endereço,
identificação, ...)
![Page 21: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/21.jpg)
Dicionário de Dados – Esquema de Documentação
• = é composto de • + Concatenação• {}n repetição• [ | | | ] escolha de alternativas• () opcional• Ex.: nome = [Sr.| Sra.|Srta.] + família + nome
![Page 22: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/22.jpg)
Linguagem Estruturada
• Notação algoritmica para especificar o comportamento dos processos
• Sequência: – fazer, calcular, ler, gravar, ...
• Decisão: – se então– se então senão
• Repetição: – repetir até– enquanto faça
![Page 23: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/23.jpg)
Criação de DFD’s a partir de especificações
• Verbos geralmente originam processos• Substantivos são entidades externas, dados
ou depósitos de dados• O refinamento deve seguir até o processo
realizar uma única função
![Page 24: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/24.jpg)
Diagrama Entidade-Relacionamento
• Modela os dados identificados, juntamente com seus atributos e relacionamentos
• Foco da disciplina Banco de Dados
![Page 25: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/25.jpg)
Árvores de Decisão
![Page 26: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/26.jpg)
Tabelas de DecisãoTABELA-CASACO R1 R2 R3 R4
C1C2
Chovendofrio
YY
YN
NY
NN
A1 usar capa forrada X
A2 usar capa sem forro X
A3 usar pulover de lã X
A4 prossiga para a garagem X X X X
X1 retorne à tabela mestra X X X X
![Page 27: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/27.jpg)
Vantagens
• Análise top-down• Múltiplos níveis de detalhe• Múltiplas visões (fluxo de dados, pseudo-
código, dados, tabelas de decisão)
![Page 28: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/28.jpg)
Problemas
• “Bolhas não travam”• Não mostra
– Tempo de execução de processos– Tempo de transferência de dados nos fluxos– Paralelismo de execução de processos– Necessariamente sequencia
• Caiu em desuso com a orientação a objetos e os sistemas on-line– Ainda é usada em novos sistemas– Existe muita documentação em sistemas legados
![Page 29: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/29.jpg)
IDEF• Família de linguagens de modelagem (Algumas ainda em desenvolvimento)
– IDEF0 : Function modeling– IDEF1 : Information Modeling – IDEF1X : Data Modeling – IDEF2 : Simulation Model Design– IDEF3 : Process Description Capture – IDEF4 : Object-Oriented Design – IDEF5 : Ontology Description Capture – IDEF6 : Design Rationale Capture – IDEF7 : Information System Auditing– IDEF8 : User Interface Modeling– IDEF9 : Business Constraint Discovery– IDEF10 : Implementation Architecture Modeling– IDEF11 : Information Artifact Modeling– IDEF12 : Organization Modeling– IDEF13 : Three Schema Mapping Design– IDEF14 : Network Design
• http://www.idef.com/Home.htm
![Page 30: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/30.jpg)
IDEF0
• Linguagem de modelagem funcional para– Análise– Desenvolvimento– Reengenharia– Integração
![Page 31: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/31.jpg)
IDEF0
![Page 32: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/32.jpg)
IDEF1X
• Modelagem de dados
![Page 33: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/33.jpg)
Notação Z
• Baseado na teoria de Zermelo–Fraenkel e na lógica de predicados
• Final da década de 1970, em Oxford– Jean-Raymond Abrial
• Z usa muitos símbolos não ASCII– uso de ferramentas/LATEX
![Page 34: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/34.jpg)
Z na prática
• IBM CICS– servidor de transações– Middleware que suporta alto volume de
transações– Criado para possibilitar processamento on-line
• 30 billion+ transactions a day• $1 trillion in transactions each day• 30 million users worldwide• 900,000 concurrent users supported• 90% + of the Fortune 500
![Page 35: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/35.jpg)
Z na prática
• Parte do IBM CICS foi formalizado usando Z nas décadas de 1980s e 1990s em colaboração com o Oxford University Computing Laboratory
• Sir Tony Hoare– Quicksort– Hoare Logic– CSP (Communicating Sequential Processes)
![Page 36: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/36.jpg)
Z e Orientação a objetos
• Z++– Lano, K.C., Z++, an Object-Oriented Extension to Z. Z
User Workshop, Oxford 1990• Object Z
– Graeme Smith. The Object-Z Specification Language. Kluwer Academic Publishers, 2000
– Roger Duke and Gordon Rose. Formal Object-Oriented Specification Using Object-Z. MacMillan, 2000.
![Page 37: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/37.jpg)
Vienna Development Method (VDM)
• Originado na IBM de Vienna, na década de 1970. Envolve:– Técnicas– Ferramentas – Linguagem
• "Systematic Software Development using VDM" by Cliff Jones, 2nd edn., Prentice Hall 1990.
• VDM++
![Page 38: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/38.jpg)
B method
• Jean-Raymond Abrial• The B-Book: Assigning Programs to Meanings,
Jean-Raymond Abrial, Cambridge University Press, 1996
• Usado em sistemas de missão crítica• Menor abstração que Z
![Page 39: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/39.jpg)
Modelica
• Linguagem de modelagem para sistemas complexos (1997)– componentes eletrônicos, mecânicos, hidráulicos,
de controle, ...– Modelo parecido com POO– equações diferenciais, algébricas e discretas– Chamadas de C, FORTRAN, Java– Engine de simulação– https://www.modelica.org/
![Page 40: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/40.jpg)
Modelica
• https://www.modelica.org/documents/ModelicaSpec33.pdf
• Usada por: Audi, BMW, Daimler, Ford, Toyota, VW ABB, EDF, Siemens.
![Page 41: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/41.jpg)
Alloy
• Software Design Group at MIT lead by Professor Daniel Jackson (1997)
• Linguagem de especificação declarativa• Comportamento estrutural e dinâmico• Baseado em lógica de predicados• Sintaxe baseada em Z• Alloy Analyzer
![Page 42: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/42.jpg)
Statecharts
• Harel, D. (1987). A Visual Formalism for Complex Systems. Science of Computer Programming , 231–274.
• Extensão das máquinas de estado• Foco: especificação de sistemas complexos a
eventos discretos• Base para o diagrama de estados da UML
![Page 43: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/43.jpg)
Statecharts - Características
• Extensão das máquinas de estado– noção de hierarquia– concorrência e paralelismo– comunicação
• Compactos• Possibilidade de composição• Modular• Descrição em diferentes níveis de abstração
![Page 44: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/44.jpg)
Statecharts
• statecharts = state-diagrams + depth + orthogonality + broadcast-communication
![Page 45: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/45.jpg)
SDL
• Specification and Description Language (SDL)• Foco: especificação não ambigua e descrição
do comportamento de sistemas distribuídos de tempo real
• Origem nos sistemas de telecomunicações• Gráfica e algébrica• http://www.sdl-forum.org/
![Page 46: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/46.jpg)
Álgebra de Processos
• Process Algebra • Process Calculus• Família de linguagens para modelar
formalmente sistemas concorrentes– Principais: CSP, CCS, ACP
• Histórico: http://www.informatik.hs-mannheim.de/~schramm/CSP/files/historyProcessAlgebra.pdf
![Page 47: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/47.jpg)
Conceitos
• Processo: comportamento de um sistema• Algebra: conceitos algébricos para modelar
comportamento• Process algebra: the study of the behaviour of
parallel or distributed systems by algebraic means
• Possibilidades de verificação:– Estabelecer se um sistema satisfaz determinada
propriedade.
![Page 48: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/48.jpg)
CCS
• CCS - Calculus of Communicating Systems
• Robin Milner: A Calculus of Communicating Systems, Springer Verlag, 1980.
• Desenvolvido entre 1973 e 1980
![Page 49: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/49.jpg)
CSP• CSP - Communicating Sequential Processes• Tony Hoare - Communicating sequential processes.
Communications of the ACM, 21(8):666–677, 1978
• Knighthood (for services to Computing Science). March 7, 2000.
![Page 50: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/50.jpg)
ACP
• ACP - Algebra of Communicating Processes
• 1982
• Jan Bergstra e Jan Willem Klop. Fixed point semantics in process algebra. Technical Report IW 208, Mathematical Centre, Amsterdam
![Page 51: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/51.jpg)
Redes de Petri
• Linguagem gráfica e matemática para modelagem de sistemas
• Tese de Carl Petri, 1962• Teoria básica desenvolvida na década de 1970
– A.W. Holt (MIT )
![Page 52: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/52.jpg)
Redes de Petri - Aplicação
• Modelagem e análise de – sistemas distribuídos– banco de dados distribuídos– paralelismo e concorrência em software– manufatura– sistemas de controle– sistemas operacionais– workflow organizacional– logística– redes neurais– sistemas de apoio a decisão
![Page 53: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/53.jpg)
Redes de Petri – Forma de apresentação
• Gráfica• Matriz• Relações
![Page 54: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/54.jpg)
Redes de Petri - Modelagem
• Sequência• Paralelismo• Sincronismo/Assincronismo• Recursos• Repetição• Competição/Conflitos• Buffer
![Page 55: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/55.jpg)
Redes de Petri - Análise
• Avaliação de propriedades:– Alcançabilidade de estados– Limitabilidade– Análise de deadlocks/livelocks– Reversibilidade
![Page 56: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/56.jpg)
Redes de Petri – Métodos de análise
• Árvore de cobertura• Invariantes de lugar e transição• Lógica linear
![Page 57: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/57.jpg)
Extensões
• Tempo associado a lugares, transições, fichas– Timed– Time
• Fuzzy• Estocástica• Orientada a Objetos• Colorida• Arco inibidor• Reset Arc• Contínua• Híbrida
![Page 58: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/58.jpg)
SysML
• Linguagem gráfica para modelagem de sistemas que incluem hardware, software, dados, pessoas, procedimentos
• Profile da UML
![Page 59: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/59.jpg)
Relação UML-SysMLUML 2
UML 2Reuse(1, 2)
UMLreused by
SysML
UMLnot required
by SysML(UML -
UML4SysML)
SysMLextensions to
UML
SysML
![Page 60: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/60.jpg)
Relação UML-SysML
SysML Diagrams
Behavior Diagrams
Requirements Diagrams
Structure Diagrams
Activity Diagram
Sequence Diagram
State Machine Diagram
Use Case Diagram
Block Definition Diagram
Internal Block
Diagram
Package Diagram
Parametric Diagram
Modified from UML2
New diagram
Same as UML2
![Page 61: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/61.jpg)
UML
• Evolução de outros métodos/linguagens• “A UML é a linguagem padrão para visualizar, especificar, construir e documentar os artefatos de software de um sistema.”
![Page 62: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/62.jpg)
UML
• UML é...•uma linguagem visual.•independente de linguagem de programação.•independente de processo de desenvolvimento.
• UML não é...•uma linguagem programação•um processo de desenvolvimento.
• Os artefatos gráficos produzidos de um sistema OO são definidos através dos diagramas da UML.
![Page 63: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/63.jpg)
![Page 64: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/64.jpg)
Diagramas da UML
![Page 65: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/65.jpg)
O que dizem sobre a UML?
• It contains many diagrams and constructs that are redundant or infrequently used.
• The standards have been cited as being ambiguous and inconsistent.
• While the XMI (XML Metadata Interchange) standard is designed to facilitate the interchange of UML models, it has been largely ineffective in the practical interchange of UML 2.x models.
• UML is not enough for the modeling of embedded and real-time systems.
![Page 66: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/66.jpg)
O que dizem sobre a UML?
• The UML specification, in general, is semiformal. This lack of precise semantics can lead to severe problems, as different or ambiguous interpretations.
• If UML is nothing else it is for documentation and communication.
• UML is not perfect, but it is the most common, is good enough, and not trivially replaceable
• A UML não é perfeita, mas é o que temos de melhor em termos de modelagem de SW atualmente
![Page 67: Breve Histórico de Linguagens e Metodologias de Modelagem de Software.](https://reader035.fdocumentos.com/reader035/viewer/2022062418/552fc132497959413d8d6a8d/html5/thumbnails/67.jpg)
Leitura
• Art 9 - Seven myths of formal methods• Art 10 - Seven more myths of formal methods
– 2 páginas no total