Escolar Documentos
Profissional Documentos
Cultura Documentos
Lista de Figuras v
1 Introdução 1
2 UML 3
2.1 Diagrama de Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Diagrama de Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Diagrama de Sequência . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Diagrama de Máquina de Estados . . . . . . . . . . . . . . . . . . . . 9
3 UML-MARTE 11
3.1 Organização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Utilização do Perfil MARTE . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Profile Generic Resource Modeling (GRM) . . . . . . . . . . . 13
3.3.2 Profile Hardware Resource Modeling (HRM) . . . . . . . . . . 15
3.3.3 Profile Generic Quantitative Analysis Modeling (GQAM) . . . 16
5 Considerações Finais 27
iii
Lista de Figuras
v
Capı́tulo 1
Introdução
http://moodle.ufsc.br/mod/resource/view.php?id=39362
UML
(i.e. número de ocorrências) das instâncias de uma classe, presentes em cada lado
da associação. Na figura 2.6 a associação mais acima indica que uma pessoa pode
possuir zero ou mais carros, indicado pelo asterisco (*) e que o carro por sua vez,
pertence a uma única pessoa, indicado pelo número um (1). Nesta associação ainda
podemos observar o nome de papel “dono”, que detalha qual a função (o papel) do
objeto da classe Pessoa na associação em questão.
A figura 2.8 demonstra outras duas relações entre classes. São elas: “realização
de interface” e “dependência”. A realização de interface é semelhante a relação
generalização/especialização da herança. A diferença aqui é que se está lidando
com interface e classe ao invés de classe e classe. A diferença entre uma inter-
face e uma classe é que a primeira possui apenas as assinaturas dos métodos e
nunca sua implementação. A classe que realiza a interface, deve portanto imple-
mentar todos os métodos especificados na interface. De forma semelhante à gen-
eralização/especialização a realização de interface é representada por um triângulo,
2.2 Diagrama de Casos de Uso 7
mas neste caso a linha ligando a interface à classe é tracejada. Na figura 2.8 a
classe Classe 1 realiza a interface InterfaceClass. Dependência é um outro tipo de
relação entre classes. Seu significado é mais amplo: uma classe depende da outra se
de alguma forma pode fazer referência a pelo menos uma instância da outra, seja
por associação, ou por chamada de método (parâmetro ou retorno de um objeto da
classe da qual se depende). Na figura 2.8 a classe Classe 2 depende da interface
InterfaceClass.
UML-MARTE
A Unified Modeling Language (UML) foi criada para ser uma linguagem de mod-
elagem para o desenvolvimento de softwares de propósito geral. Porém, com a sua
ampla aceitação, também tornou-se uma opção interessante para projetos de sis-
temas embarcados de tempo real. No entanto, os seus diagramas não possuem
representações adequadas para este domı́nio de aplicação. Como tentativa de su-
perar as deficiências da UML foi desenvolvido primeiramente o perfil Schedulability
Performance and Time (SPT), mas na prática este perfil relevou deficiências na
modelagem de fenômenos de tempo real.
Devido aos problemas encontrados no perfil SPT decidiu-se criar um perfil suces-
sor especı́fico para a modelagem de sistemas embarcados de tempo real, chamado
de Modeling and Analysis of Real-Time and Embedded systems (MARTE). A es-
pecificação do UML-MARTE adiciona ao UML o model-driven development (MDD)
para sistemas embarcados de tempo real (RTES).
O MARTE basicamente fornece, por meio de estereótipos, uma forma de rep-
resentar caracterı́sticas de sistemas embarcados de tempo real em modelos UML.
Foca-se principalmente na análise de escalonabilidade e desempenho. Mas, também
define um framework de análise geral para ser utilizado por outros tipos de análise.
Os principais benefı́cios do perfil MARTE são:
3.1 Organização
O perfil MARTE é basicamente estruturado em 2 linhas principais: uma re-
sponsável por modelar as caracterı́sticas de sistemas de Tempo Real; outra de análise
12 Capı́tulo 3: UML-MARTE
Model Designer : estes atores projetam os modelos que serão aplicados no con-
texto de desenvolvimento de sistema. Seus modelos serão utilizados para a
fase de implementação, análise de desempenho, escalonabilidade e requisitos.
estes
Model Analyst : estes atores estão preocupados com anotação dos modelos, a fim
de realizar uma análise das metodologias aplicadas.
3.3 Profiles
Dentro dos pacotes do MARTE existem uma enormidade de perfis, neste docu-
mento serão abordados somente os que contêm os estereótipos que serão utilizados
para a modelagem do projeto SIAMES (capı́tulo 4).
fı́sica ou lógica que oferece serviços. O modelo pode ser feito de diferentes platafor-
mas e nı́veis de detalhes. Por exemplo, pode ser tanto de hardware (mémoria) ou
software (sistema operacional Real-time).
Na figura 3.3 é apresentada a arquitetura do pacote GRM. Dentre os compo-
nentes da arquitetura é possı́vel destacar os seguintes:
Estereótipos
Estereótipos
Estereótipos
• Diagrama de classes
20 Capı́tulo 4: Modelagem do Projeto SIAMES usando
UML-MARTE
Um diagrama de classes possibilita ter uma visão geral sobre o sistema através
da representação das classes, seus atributos e os relacionamentos entre as
classes. O diagrama de classes foi modelado para representar e assim pos-
sibilitar a implementação dos estados presentes no diagrama de máquina de
estados.
• Diagramas de sequências
Um diagrama de sequência mostra como processos ou objetos trocam men-
sagens e em qual ordem essas mensagens são enviadas. É uma representação
gráfica de um cenário de execução de uma determinada atividade ou operação
do sistema. Os diagramas de sequência foram produzidos utilizando os requi-
sitos funcionais e não funcionais levantados na análise de requisitos com base
nos diagramas de máquina de estados e de classes.
• Estado SCANNING
O controlador faz uma chamada (hasSlot) ao algoritmo de procura de vaga.
O retorno desta chamada é um valor booleano que representa se uma vaga
de estacionamento foi encontrado ou não. Em caso verdadeiro, o controlador
muda o estado do sistema para vaga encontrada (SLOT FOUND).
• Estado PARKING
Neste estado, o controlador começa o procedimento de estacionamento
chamando primeiramente o método que calcula a trajetória (calculateRoute).
Este calculo não deve demorar mais que 2 segundos para ser realizado. Após
o calculo da trajetória, o método park realiza o estacionamento atuando no
sistema.
26 Capı́tulo 4: Modelagem do Projeto SIAMES usando
UML-MARTE
Considerações Finais