ITA - Instituto Tecnológico de Aeronáutica
SISTEMAS EMBARCADOS E DE TEMPO REAL
Prof. Dr. Adilson Marques da Cunha
2° semestre/2005
Lista de Exercicío 4 –Laboratórios de 1 a 7
Data: 21/11/2005
André Valdestilhas
Índice
1.
2.
3.
4.
Desenvolvimento ............................................................................................................ 3
Sistema de Tingimento ................................................................................................... 3
Tank ................................................................................................................................ 3
Lab 1 - Controller/Tester ................................................................................................ 4
4.1.
Objectives ............................................................................................................... 4
5. Lab 2 – Válvula, Iniciando o Sistema de Baixa Temperatura. ....................................... 5
5.1.
Objectives ............................................................................................................... 5
6. Lab 3 – Controle do Tingimento de Baixa Temperatura................................................ 7
6.1.
Objectives ............................................................................................................... 7
7. Lab 4 – Master and Tank Containers.............................................................................. 8
7.1.
Objectives ............................................................................................................... 8
8. Lab 5 – Ativando o Sistema de Alta Temperatura ....................................................... 10
8.1.
Objectives ............................................................................................................. 10
9. Lab 6 – Completar o Sistema de Alta Temperatura .................................................... 11
9.1.
Objectives ............................................................................................................. 11
10.
Lab 7 – Deliverable and Test Harness / Low and High Temperature ..................... 12
10.1.
Objectives ......................................................................................................... 12
11.
Conclusão: ................................................................................................................ 13
Objetivo da Lista
Realizar os 7 laboratórios (Labs), e publicar até dia 21/11/2005 na home page, visando a
familiarização e compreensão de alguns dos principais conceitos envolvidos nesse contexto.
1. Desenvolvimento
Abaixo será demonstrado do laboratório 1 até o laboratório 7, a execução dos mesmos e os
respectivos resultados. Para isto foi ncessário utilizar-se dos softwares Visual C++ 6.0 e o Rose
Real Time 2003.
A aplicação a ser desenvolvida é um sistema de dyeing cujo objetivo é tingir tecido com uma cor
especificada.Este processo é realizado enchendo um tanque de tintura líquida, enquanto
colocando o tecido no tanque, e deixando o tecido saturar durante um tempo prefixado, deixando a
tintura penetrar o tecido e muda sua cor.
2. Sistema de Tingimento
O diagrama abaixo mostra a idéia geral do sistema de dyeing.
Ilustração 1 - Dyeing System
3. Tank
O tanque segura o tecido a ser tingido e a solução de tintura. A válvula de abastecimento permite
que a solução entre no tanque, e a válvula de dreno permite sua remoção. O nível atual no tanque
é informado continuamente pelo sensor nivelado. As válvulas são dispositivos dois estados (on ou
off), onde o sensor nivelado é um dispositivo contínuo, isso significa que as saídas continuas varia
com a função de entrada.
Ilustração 2 - Tank
4. Lab 1 - Controller/Tester
This lab accompanies Module 4, “Capsule Structure: Ports, Protocols, and Capsule Roles.” In this
lab, you will create a simplified version of DyeingSystem by using the existing capsule classes,
Controller and Tester. You will create capsules with simple structure and no behavior.
4.1.
Objectives
When you have successfully completed this lab, you will be able to:
- Use the basic tool features
- Build a simple model from existing elements
- Compile, run, test, and debug the model
- Generate a sequence diagram from the running model
- Create a class diagram of the model
Abaixo segue a estrutura básica da cápsula Dyeing System.
Ilustração 3 - Estrutura da Capsula Dyeing System
Abaixo segue a estrutura máquina de estados da cápsula Tester.
sendFullLevel
Initial
empty
fillOn
fillOff
drainOff
draining
filling
drainOn
dyeing
sendEmptyLev el
Ilustração 4 - Máquina de Estados Capsula Tester
Aplicações no projeto como um todo:
Este laboratório traz o conceito de análise baseada em um modelo pré-existente. Utilizamos este
conceito em todo o projeto (em todas as integrações)pois este primeiro lab utilizou conceitos
básicos da ferramenta [incluindo diagrama de classes, e diagramas de seqüência].
Download do Lab 1
5. Lab 2 – Válvula, Iniciando o Sistema de Baixa Temperatura.
This lab accompanies Module 5, “State Modeling.” This exercise involves creating capsules with
simple tructure and behavior. You will build the Flow protocol and Valve capsule class, and then
compile and debug the model by removing any compile and run-time errors. Then you will add
Valve capsule roles to the DyeingSystem.
5.1.
Objectives
When you have successfully completed this lab, you will be able to:
- Create a capsule with simple structure and simple behavior
- Begin construction of a complex model (the case study)
- Create a simple protocol class
Abaixo segue a estrutura básica da cápsula Dyeing
/ c ontrollerR1
: Controller
+ / operatorDialog
: OperatorDialog
/ fillValue : Valv e
+ / c ontrol
: Dev ic eControl~
+ / fill
: Dev ic eControl
+ / flow
: Flow
/ drainValv e : Valve
+ / c ontrol
+ / flow
: Dev ic eControl~
: Flow
+ / drain
: Dev ic eControl
+ / lev el
: MonitoredValue
Ilustração 5 - Estrutura da cápsula Dyeing System
Abaixo segue o Diagrama de Seqüências:
/ c ontrollerR 1
: Controller
1: turnOn
filling
2: isOn
3: informIn (R T T imespec {tv _sec ...)
filling
4: timeout
5: v alue (int 1000)
filling
6: turnOff
7: informIn (R T T im...)
dyeing
7: isOff
8: timeout
dyeing
9: turnOn
draining
10: isOn
11: informIn (R T T imespec { tv _sec ...)
draining
12: timeout
13: v alue (int 0)
draining
14: turnOff
empty
15: isOff
empty
Ilustração 6 - Diagrama de Sequencias Dyeing System
Aplicações no projeto como um todo:
Demonstra as funcionalidades básicas do RRT- Rational Rose Real Time, como a criação de
cápsulas, diagrama de estrutura, diagrama de estados e protocolos. Estes conceitos foram
aplicados desde os warm-ups e serão utilizados até a última integração.
Download do Lab 2
6. Lab 3 – Controle do Tingimento de Baixa Temperatura.
This lab accompanies Module 6, “System Services.” To complete the low-temp dyeing system, you
will integrate a timer into the design of the Valve capsule lass to periodically send Flow::amount
messages. You will also create the AcquiredValue protocol class and Level and Dye capsule
classes. Finally, you will add Level and Dye capsule roles to the DyeingSystem, and then compile
and test the DyeingSystem as a complete system.
6.1.
Objectives
When this exercise is successfully completed, you will be able to:
- Complete construction of a complex model
- Make use of timers in a model with the Timing service in the services library
Figuras:
Initial
+ / input
: Ac quiredValue
idle
+ / output
: MonitoredValue~
report
sample
# / timer
: Timing
ac quiring
Ilustração 7 - Estrutura da cápsula level
Ilustração 8 - Máquina de estados da cápsula level
Initial
+ / c ontrol
: Dev ic eControl~
+ / flow : Flow
timeout
# / timer
: Timing
off
turnOn
on
turnOff
Ilustração 9 - Estrutura da cápsula valve
Ilustração 10 - Máquina de estados da cápsula valve
Initial
start
empty
filling
False
lev el
T rue
isFull
isEmpty
True
False
lev el
timeout
draining
dyeing
Ilustração 11 - Máquina de estados da cápsula controller
Aplicações no projeto como um todo:
Este laboratório usa o conceito de serviços do sistema utilizando uma funcionalidade chamada de
Timing. É uma porta protegida que insere um timer na estrutura da cápsula. Este recurso foi
utilizado na EC – Estação de Controle em alguns casos onde é necessário temporizar uma
transição de estados.
Download do Lab 3
7. Lab 4 – Master and Tank Containers
This lab accompanies Module 9, “Structure Hierarchies.” This is a two-part lab in which you will
reorganize the dyeing system model to make it easier to work with. In the first part, you will use the
Rose RealTime aggregation feature to create container capsule classes Tank and Master.
Remember that the aggregation feature is a tool that allows you to combine capsules. It is not the
same as the UML aggregation relationship. In the second part of the lab, you will use replication to
create multiple tanks and controllers.
7.1.
Objectives
After successfully completing this exercise, you will be able to:
- Add a state machine to a passive class.
- Create a trigger operation for a passive class state machine.
- Add code to a transition.
Ilustração 12 - Agregação das cápsulas fillValve, drainValve, dye
and levelSensor
Ilustração 13 - Estutura da cápsula master
Ilustração 15 - Cardinalidade na cápsula controller
Ilustração 14 - Três controladores em runtime
Aplicações no projeto como um todo:
Neste laboratório aprendemos o conceito de agregação de estrutura e cardinalidade, que é
diferente do conceito de agregação da UML, são definições distintas. Até a integração presente
não utilizamos o conceito em nosso modelo. Provavelmente seja utilizado na integração final para
a execução da missão, para um melhor entendimento do modelo e facilidade na operação do
mesmo.
Download do Lab 4
8. Lab 5 – Ativando o Sistema de Alta Temperatura
This lab accompanies Module 10, “Inheritance Hierarchies.” In this lab you will learn to manage
model complexity by using inheritance hierarchies. You will create a high-temperature dyeing
system by superclassing and subclassing existing capsule, protocol, and passive classes in
DyeingSystem.
8.1.
Objectives
When you have successfully completed this lab, you will be able to:
- Create an entirely new system by constructing inheritance hierarchies
- Apply bottom-up design to an inheritance hierarchy (generalizing an existing class)
- Apply top-down design to an inheritance hierarchy (specializing an existing class)
- Compile, run, and debug a model containing inheritance hierarchies
+ / flowIn
: Flow~
Initial
ac tiv e
+ / flowOut
: Flow~
flowIn
# / heatOutT imer
: T iming
+ / Heatln
: Flow~
atIn
flowOut
tOut
+ / temperature
: Ac quiredValue~
lev el
+ / lev el
: Ac quiredValue~
Temperatura
Ilustração 16- Máquina de estados da cápsula DyeHT
Ilustração 17- Estrutura da cápsula DyeHT
+ / fill
: Dev ic eControl
+ / operatorDialog
: OperatorDialog
+ / drain
: Dev ic eControl
+ / heat
: Dev ic eControl
+ / temperature
: MonitoredValue
+ / lev el
: MonitoredValue
# / timer
: Timing
Ilustração 18- Máquina de estados da cápsula ControllerHT
Aplicações no projeto como um todo:
Neste laboratório aprendemos o conceito de agregação de estrutura e cardinalidade, que é
diferente do conceito de agregação da UML, são definições distintas. Até a integração presente
não utilizamos o conceito em nosso modelo. Provavelmente seja utilizado na integração final para
a execução da missão, para um melhor entendimento do modelo e facilidade na operação do
mesmo.
Download do Lab 5
9. Lab 6 – Completar o Sistema de Alta Temperatura
This lab accompanies Module 11, “Behavior Hierarchies.”
In this lab you will learn to manage behavioral complexity by constructing hierarchical finite state
machines (FSMs). You will modify the behavior of Controller so that it becomes a hierarchical state
machine. Then you will add thermostatic behavior to ControllerHT so that it can properly regulate
the temperature of the liquid dye in the tank.
9.1.
Objectives
When you have successfully completed this lab, you will be able to:
- Create a hierarchical FSM in an existing model
- Distribute behavior across a model’s hierarchical FSM
- Compile, run, and debug a model containing a hierarchical FSM
Initial
start
empty
running
done
Ilustração 19 - Máquina de estados da cápsula controller
start
start
filling
False
lev el
done
T rue
isFull
isEmpty
T rue
False
lev el
draining
timeout
dyeing
Ilustração 20 –Agregação da cápsula controller
Aplicações no projeto como um todo:
Aprendemos neste laboratório o conceito de agregação de máquinas de estados complexas.
Até o momento não utilizamos este conceito de agregação das máquinas de estado devido às
máquinas de estados da estação de controle não serem tão complexas.
Download do Lab 6
10. Lab 7 – Deliverable and Test Harness / Low and High Temperature
This lab accompanies Module 12, “System Hierarchies: Packaging and Layering.” In this lab you
learn to manage model complexity by using packages. You will organize the Dyeing System
application into two categories, Deliverable and Test Harness, and Low Temperature and High
Temperature.
10.1. Objectives
When you have successfully completed this lab, you will be able to:
- Create packages and place existing model elements within them
- Create a containing capsule
- Add simple structure to that capsule by adding capsule roles
- Compile, run, and debug the model
Aplicações no projeto como um todo:
De acordo com os níveis de integração, a complexidade da integração e organização do modelo é
maior. Surge então a necessidade de um gerenciamento mais preciso de modelos através da
criação de pacotes. Este conceito vem sendo aplicado desde a primeira integração de forma a
concentrar todos as cápsulas,protocolos, classes de um determinado componente em um pacote
específico.
Download do Lab 7
11. Conclusão:
Foi de extrema importância a realização de todos os Warm-ups e agora de todos os Labs na
ordem em que nos foi passado, pois um exercício depende dos conhecimentos adquiridos
no exercício anterior. Sem a execução dos laboratórios seria praticamente impossível
realizar todas as integrações e principalmente a missão final. Foi um processo que
demandou bastante tempo, principalmente no laboratório 5, devido a complexidade do
mesmo.
Download

listex 4 - labs 1-7.