• No results found

iti43515---modeling-cyber-physical-systems---03.05.2016

N/A
N/A
Protected

Academic year: 2022

Share "iti43515---modeling-cyber-physical-systems---03.05.2016"

Copied!
8
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

ei r) Høgskoleni østfold

EXAMINATION

Course code: Course:

ITI43515 Modeling Cyber-Physical Systems

Date: Duration:

3. May 2016 From 9 a.m. to 13 p.m.

Permitted sources: Lecturer:

All written aiding tools Professor Øystein Haugen

The examination:

The examination papers consist of

8

pages including this page. Please check that the examination papers are complete before you start answering the questions.

Pages 2-4 describe the exam.

Pages 5-8 are Annexes giving relevant details from the course.

Date of announcement of the examination results: 30. May 2016

The examination results are available on the Studentweb no later than two workdays

after the announcement of the examination results www.hiof.no/studentweb

(2)

Exam Modeling Cyber-Physical Systems Spring 2016

Context

The context is The Room —our experimental context consisting of a controlling computer equipped with a Tellstick Duo which communicates wirelessly on 433.92 MHz to a set of sensors and actuators. The sensors are mostly thermometers and the actuators are mainly power switches that can switch on or off.

The Room V5 has two inside thermometers and one on-off actuator connected to a heater.

The following assumptions holds for The Room V5:

The room will get warmer when the heater is on, and eventually go above comfort temperature

The room will get colder when the heater is off, and eventually go below comfort temperature

The assumptions are not always realistic, but for our purpose they make the temperature control a little easier.

Our starting point is The Room V4 where the control of the temperature is done through a couple of rule state machines, one controlling the upper boundary of the comfort

temperature range and the other controlling the lower boundary of the comfort temperature range.

Exercise 1 Model rnodifications (50%)

a. Composite structure (UML) or configuration (ThingML)

Figure 1 contains a composite structure of the desired system. The Rules do not control the heater directly, but send their recommendation to the controller CTRL. The controller decides whether the heater should be on or off depending on the recommendations. Your task is to modify the ThingML configuration to match the composite structure.

What changes are needed to the ThingML configuration of The Room V4? (given in Annex 1 The Room V4 configuration in ThingML)

TheR oanV5.0.sim

tg:Terrtp•Gen get_sen upr:RuleUp

arlif ctrl2r acpir_actuaeor

sersirpt

req ,SCr

allhunran imut

usr_sett

pim:PIM

aPply_emator ttrif

lwr:R eDo

ctrl:CTRL

get_serscr

P. .en_cutput

hum ' pot

psm:PSM ir

tirm_thiavaTinej trner

itTbermerneeerSet

cnelf 1:Or DffSet

//

thstic:TellstickMarag

ell outs to hurnan bot not trace';

Figdre 1 ihe Room I-5 desired composile slruedure

2

(3)

b. The Room V5 behavior

Modify the system to only send a new heater actuation if it is different from the last actuation.

The desired behavior of The Room V5 is now given in Figure 2.

sd Rulebased

psrn:FSM upr:RuleUp lwr:RuleDo ctrl:CTRL

sensodr•rfot,) wnsonnfo{}

deviceirfo

addthermometertidl,insidej ad diherm ern eterlid 2,in side2)

de.vg:t.info

add_thermcmeterlidl,inside)

add_thermorneter(idZinside2) add_device<dididl.firstl

set_temperatureltempl) add_device(lididl,first)1

enable(temp1, idl, 3d2)

enableltempl, id1, 1d2)

loop

ternperaturebd1,inside,temp2)

temperature(idl,,re,terno2) ternperature(id2,insi de2,ternp3)

oPt <--Switch Onl didl)

[ltemp+temp )12 > temp1+1: SwitchOffldidl) 1

oPt < Switch Offl didl:

Figure 2 The Roorn 5 sample behavior

For the CTRLstate machine, you shall do the following:

Make the state Thermostat into a composite state and introducing three simple internal states in it: "ExpectIncrease" and "ExpectDecrease" and "Initial". The increase and decrease relate to the expected changes of temperature in the room.

The Thermostat state of The Room V4 is given in Annex 2 CTRL state Thermostat from The Room V4.

You should write down the state Thermostat for The Room V5 in ThingML, and explain in natural language any additional changes that you found desirable to do in CTRL.

Explain in natural language any changes you would need in V5 relative to V4 for RuleUp and RuleDo (given in Annex 3 RuleUp from The Room V4 (RuleDo is symmetrical)).

temperaturelid2,inside2,ternp3) ), I

alt

nternp2terrpY2 <templ-1: Switch On(didl)

(4)

Exercise 2 Risk analysis of The Room as a Freezer (25%)

We assume that our Room V5 is used to control a Freezer used for storing food. Thus the heater is replaced by a cooling device and the actuating is changed accordingly.

Perform a risk analysis of the Freezeron behalf its owner focusing on the following ingredients

The assets of the Freezer

Non-malicious incidents (do not consider malicious threats) Vulnerabilities

Treatments

Exercise 3 Variability modeHng of The Room (25%) a. VSpec model

Make a BVR modelthat describes a Room product line with the following properties:

Always has a controlling device with a Tellstick One or more sensors

Each sensor is either a thermometer or a hygrometer or both One or more actuators

Each actuator is either an on-off switch or a dimmer

Resolution model

From this 13VR model define one resolution that describes the V5 Roomin Exercise 1.

Variants

With a limitation of 3 sensors and 2 actuators, how many possible roomsdoes the BVR model define? Explain how you find this number.

End of Exam

4

(5)

Annex 1 The Room V4 configuration in ThingML

import "psrr,$im.thingrd"

import "pim.tningml"

import "io.tningml"

import "javatimer.thingml"

configuration CPS {

instance tlstick:TellstickManager instance Tl:ThermometerSet

instance onoffl:OnOffSet instance ctrl:CTRL

instance upr:RuleUp instance lwr:RuleDo instance myself:Human instance timer : TimerJava // SIMULATION

instance tg:TempGen // PIM

connector ctrl.request sensor => Tl.require val connector ctrl.ctrl2rule => lwr.ctrlif

connector ctrl.ctrl2rule => upr.ctrlif

connector ctrl.apply_actuator => onoffl.require val connector upr.apply actuator => onoffl.require val connector lwr.apply actuator => onoffl.require val

// PSM

connector tlstick.to Tl => Tl.require val connector tlstick.to_pim => ctrl.get sensor

connector tlstick.to onoffl => onoffl.require val connector Tl.provide val => lwr.get sensor

connector Tl.providelval => upr.get sensor connector Tl.timer => timer.timer

// Human

connector myself.send_cmd => ctrl.human input connector ctrl.human_output => myself.get values // SIMULATION

connector tg.give values => Tl.simulate val

(6)

Annex 2 CTRLstate Thermostat from The Room VA-

state Thermostat {

on entry ctrl2rule!enable(tmrature, thermo idl,thermo id2, switch id) on exit ctrl2rule!disable() // freeze the rules

// transitions of state Thermostat transition -> On

event swon:human input?SwitchOn action do

apply actuator!SwitchOn(swon.did) end

transition -> Off

event swoff:human_input?SwitchOff action do

apply actuator!SwitchOff(swoff.did) end

transition -> Thermostat

event set temp:human_input?set temperature action do

tmrature = set temp.t

ctrl2rule!enable(tmrature, thermo_idl, thermo_id2, switch_id) end

transition -> Thermostat event get sensor?sensorinfo event get sensor?deviceinfo event get sensor?temperature event human input?add thermometer event human input?add device action do

print("IERROR: Uneneected sinal in Thermos:a:. Discarcied\n") end

6

(7)

Annex 3 RuleUp from The Roorn V4 (RuleDo is symmetrical)

thing RuleUp includes GeneralMsg, TemperatureMsg, OnOffMsg

@debug "false"

provided port get_sensor { receives temperature required port apply actuator{

sends SwitchOn, SwitchOff provided port ctrlif {

receives enable, disable

// Properties

property sidl:Integer = 0 // identifier of the first thermometer property trml:Double = -101 // temperature of first thermometer property sid2:Integer = 0 // identifier of the second thermometer property trm2:Double = -102 // temperature of second thermometer property switch_id:Integer = 0 // The actuator switch identifier property desiredtemp:Double = 20 // the desired temperature

// Behavior definition

statechart Rule behavior init Disabled { state Dis-a-bled {

transition -> Enabled event enabling:ctrlif?enable action do

// Any initialization for the rule can be done here sidl = enabling.sidl

sid2 = enabling.sid2 switch id = enabling.swid

desiredtemp = enabling.desiredtemp end

transition -> Disabled

event disabling:ctrlif?disable event tmps:get sensor?temperature action do

// just discard, do nothting end

state Enabled {

// Transition when having received all values transition -> Enabled

event receivesensor: get_sensor?temperature action do

// Record sensor values

if(sid1==receivesensor.id) trml=receivesensor.t if(sid2==receivesensor.id) trm2=receivesensor.t

// and then eventual actuation happens // if some condition then actuate

// This rule checks the upper boundary of comfort // range against the average of temperatures if (((trml+trm2)12) > desiredtemp+1)

apply_actuator!SwitchOff(switch id) end

transition -> Disabled

(8)

event disabling:ctrlif?disable action do

// any clean up can be done here trml = -201

trm2 = -202 end

transition -> Enabled

event reenabling:ctrlif?enable action do

// reinitialize

sidl = reenabling.sidl sid2 = reenabling.sid2 switch id = reenabling.swid

desiredtemp = reenabling.desiredtemp end

Referanser

RELATERTE DOKUMENTER

Within the scope of the medical movement, the Permanent Medical Commision of the Ministry of Health in 1851, based on a hypothesis that leprosy was a hereditary disease, proposed

Although, particularly early in the 1920s, the cleanliness of the Cana- dian milk supply was uneven, public health professionals, the dairy indus- try, and the Federal Department

This report documents the experiences and lessons from the deployment of operational analysts to Afghanistan with the Norwegian Armed Forces, with regard to the concept, the main

Based on the above-mentioned tensions, a recommendation for further research is to examine whether young people who have participated in the TP influence their parents and peers in

From the above review of protection initiatives, three recurring issues can be discerned as particularly relevant for military contributions to protection activities: (i) the need

Overall, the SAB considered 60 chemicals that included: (a) 14 declared as RCAs since entry into force of the Convention; (b) chemicals identied as potential RCAs from a list of

If a retailer that does not fit this profile adopts the adaptive fitting room, we fear that it may become just another 'irritating aspect of the shopping environment' (see

International regulation of shipping limits the Norwegian authorities‟ room for action. The relationship between the flag state principle and coastal-state jurisdiction