• Nenhum resultado encontrado

Lab 5: Start High-Temperature System

No documento RelatóriodeExecução-Labs1a7 (páginas 34-46)

O Lab 5 introduz o conceito de hierarquias de herança para composição de um sistema complexo. Esses conceitos serão aplicados sobre as cápsulas, protocolos e classes passivas existentes.

Os principais objetivos relacionados à execução deste Lab são:

 Criação de um novo sistema utilizando hierarquias de herança.

Aplicação de modelagem bottom-up à uma hierarquia de herança (generalizando uma classe existente).

Aplicação de modelagem top-down à uma hierarquia de herança (especializando uma classe existente).

 Compilação, execução e depuração de um modelo contendo hierarquias de herança. A primeira etapa do exercício envolve a alteração da constante MAXUNITS, definida na classe passiva Constant para o valor 1. Essa modificação visa simplificar a fase de testes do modelo:

Figura 64 – Constante MAXUNITS com seu valor alterado novamente para 1.

A seguir, construímos uma estrutura onde a cápsula Valve se torna uma cápsula extendida de uma nova cápsula, Device. Esse procedimento, utilizou o conceeito de herança bottom-

up e foi realizado através das técnicas de generalização, disponibilizadas na ferramenta

RRRT. Uma vez construído o diagrama de classes e as estruturas de herança entre as cápsulas, a generalização de um determinada cápsula é uma tarefa simples, acionada através da opção promote, disponível em diversas visões dos diagramas da cápsula Valve, e que, uma vez acionada, promove suas capsule roles, protocolos, portas, atributos, operações, etc à classe definida como classe pai em sua hierarquia de herança. É importante que os atributos e operações definidos na superclasse da estrutura de herança sejam marcados com o modificador protected para que as subclasses que descendem desta classe tenham acesso a esses atributos e operações. O diagrama resultante da operação de generalização da cápsula Valve é apresentado a seguir:

Figura 65 – Diagrama de classe contendo generalização da cápsula Valve A próxima parte deste Lab envolve a criação de uma nova cápsula, denominada Heather. Essa cápsula terá sua estrutura baseada na cápsula Device. A construção dessa cápsula (Heather) é mais simples através da construção utilizando conceitos de herança do que se estivéssemos a construindo do zero, pois sua estrutura e comporamentos já estão definidos na superclasse Device. Para criação completa dessa classe, criamos uma nova cápsula, incluímos esta nova cápsula no diagrama de classes, e indicamos a relação de herança com sua superclasse (Device):

A seguir, reaplicamos o conceito de modelagem bottom-up para uma estrutura de herança para a cápsula Level. Criamos uma nova cápsula, denominada Sensor e efetuamos a promoção da estrutra, estado e atributos da classe Level para a classe Sensor:

Figura 67 – Diagrama de classe contendo cápsulas Level e Sensor

Finalizando a primeira parte do Lab 1, criamos uma nova cápsula, Thermometer, e a definimos como subclasse da cápsula Sensor. Ainda alteramos a transição inicial da cápsula

Sensor para que, na sua transição inicial, o valor de seu atributo sampleTime fosse alterado

para 0,5 segundo

:

Figura 69 – Transição inicial da cápsula Sensor com atributo sampleTime alterado A parte do 2 do Lab 5 incia-se com a aplicação de conceitos de herança top-down. Criamos uma cápsula denominada DyeHT , herdando da cápsula Dye e com algumas modificações em sua estrutura e comportamento, conforme apresentado abaixo:

Figura 71 – Alterações estruturais – Inclusão de três novas portas na cápsula DyeHT

Figura 72 – Alterações de comportamento – Novo diagrama de estados para a cápsula

Figura 72 – Action do estado inicial da cápsula DyeHT

Figura 73 – Trigger do estado temperature da cápsula DyeHT

Figura 75 – Trigger do estado heatOut da cápsula DyeHT

Figura 76 – Action do estado heatOut da cápsula DyeHT

Figura 78 – Action do estado heatIn da cápsula DyeHT

Realizadas as configurações no modelo apresentadas nas figuras acima, criamos um novo componente DyeingSystemHT, baseado na cápsula DyeHT. Criamos também uma nova instância de componente, DyeingSystemHT, baseado no componente DyeingSystemHT:

Figura 79 – Novo conjunto de componente / instância de componente

Um procedimento de modificação estrutural e de comporatamento também foi aplicado à cápsula Tank. Foi criada uma nova cápsula, TankHT, e as alterações estruturais/comportamentais foram configuradas conforme apresentado nas figuras abaixo:

Figura 80 – Introdução de nova cápsula no sistema: TankHT

Figura 81 –Alterações de Estrutura da cápsula TankHT

Após a conclusão das alterações, aplicamos um procedimento de testes unitários na cápsula

TankHT. Para isso, criamos um novo componente, contendo TankHT como Top Capsule e

um novo processador, com uma instância baseada no componente TankHT. Foram incluídas pontas de prova (probes) nas portas control e thermometer do diagrama de estruturas da cápsula TankHT. Ao aplicarmos um trace na porta thermometer e o sinal

trace. Ao enviarmos o sinal turnOff, observamos a temperatura decrescer até o valor

mínimo de 15 e aí se manter constante, envidenciando o funcionamento adequado do modelo.

Figura 82 –Trace de execução apresentando resultado do teste unitário Os mesmos conceitos de herança top-down foram aplicados na criação de uma nova cápsula: ControllerHT. Essa cápsula inicialmente herda estrutura e comportamento da cápsula Controller. O exercício nos propõe algumas modificações na estrutura na estrutura da cápsula ControllerHT :

Figura 83 – Diagrama de Estrutura da cápsula ControllerHT com novas portas heat e

Para que os elementos criados anteriormente possam ser conectados, vamos precisar de algumas modificações estruturais na cápsula Master. Essas modificações serão

aplicadas em uma nova cápsula, MasterHT, que herda de Master e tem as seguintes alterações em sua estrutura:

Figura 84 – Diagrama de Estrutura da cápsula MasterHT com relay ports heat e

temperature

Como última etapa do Lab 5, criamos a cápsula DyeingSystemHT, através de herança da cápsula DyeingSystem. O diagrama de estrutura dessa cápsula foi modificado para utilizar as novas cápsulas MasterHT e TankHT. A compilação do modelo finaliza o Lab 5. Ainda não é possível realizarmos testes para validação das alterações finais propostas, pois existem algumas modificações necessárias para o teste e que serão aplicadas na cápsula

Figura 84 – Diagrama de Estrutura da cápsula DyeingSystemHT

No documento RelatóriodeExecução-Labs1a7 (páginas 34-46)

Documentos relacionados