+ All Categories
Home > Education > Using Finite State Machines From Concept to Realization

Using Finite State Machines From Concept to Realization

Date post: 29-Jan-2018
Category:
Upload: christopher-cerqueira
View: 123 times
Download: 0 times
Share this document with a friend
115
Profile: Name: Using Finite State Machines From Concept to Realization Place: INPE Date: 2017-10-31 – 16h00 18h00 and 2017-11-07 – 15h30 18h00 Target Audience: MSc/PhD Students 8:20 1
Transcript
Page 1: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

Mission Simulation LabHICEE

Profile: Name: Using Finite State Machines From Concept to RealizationPlace: INPEDate: 2017-10-31 – 16h00 18h00 and 2017-11-07 – 15h30 18h00Target Audience: MSc/PhD Students

8:20 1

Page 2: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

Using Finite State Machines FromConcept to Realization

Christopher Shneider Cerqueira Ana Maria Ambrosio Claudio Kirner

Page 3: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEMotivation

•Complex systems are often reactive, i.e., they continuously respond to external and internal stimuli (events) and may have time constraints.

•When modelling such systems, the designer should be able to determine the system's behaviour, as well as its flow of control.

•System modelling methods must express this action semantics in a way that is both formal and intuitive.

08:20cscerqueira.com.br 3

Page 4: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEAutomata theory

• A deterministic finite automaton isrepresented formally by a 5-tuple<Q,Σ,δ,q0,F>, where:• Q is a finite set of states.

• Σ is a finite set of symbols, called thealphabet of the automaton.

• δ is the transition function, that is,δ: Q × Σ → Q.

• q0 is the start state, that is, the state ofthe automaton before any input hasbeen processed, where q0∈ Q.

• F is a set of states of Q (i.e. F⊆Q) calledaccept states.

08:20cscerqueira.com.br 4https://en.wikipedia.org/wiki/Automata_theory

Page 5: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEFinite-State Machine

• A finite-state machine (FSM)or finite-state automaton (FSA,plural: automata), finiteautomaton, or simply a statemachine, is a mathematicalmodel of computation. It isan abstract machine that can bein exactly one of a finite numberof states at any given time. TheFSM can change from one state toanother in response to someexternal inputs; the change fromone state to another is calleda transition. An FSM is defined bya list of its states, its initial state,and the conditions for eachtransition.

08:20cscerqueira.com.br 5

Current State

Input Next State Output

Lockedcoin Unlocked

Unlocks the turnstile so that the customer can push through.

push Locked None

Unlocked

coin Unlocked None

push LockedWhen the customer has pushed through, locks the turnstile.

https://en.wikipedia.org/wiki/Finite-state_machine

Page 6: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEMoore Machine

• The FSM uses only entry actions,i.e., output depends only on thestate. The advantage of the Mooremodel is a simplification of thebehaviour. Consider an elevatordoor. The state machine recognizestwo commands: "command_open"and "command_close", whichtrigger state changes. The entryaction (E:) in state "Opening" startsa motor opening the door, the entryaction in state "Closing" starts amotor in the other direction closingthe door. States "Opened" and"Closed" stop the motor when fullyopened or closed. They signal tothe outside world (e.g., to otherstate machines) the situation: "dooris open" or "door is closed"

08:20cscerqueira.com.br 6

Page 7: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEMealy Machine

• The FSM also uses input actions,i.e., output depends on input andstate. The use of a Mealy FSM leadsoften to a reduction of the numberof states. The example in Figureshows a Mealy FSM implementingthe same behaviour as in theMoore example. There are twoinput actions (I:): "start motor toclose the door if command_closearrives" and "start motor in theother direction to open the door ifcommand_open arrives". The"opening“ and "closing"intermediate states are not shown.

08:20cscerqueira.com.br 7

Page 8: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEWhere can we find FSMs!?

08:20cscerqueira.com.br 8Idealization / Realization Tests Operations

Page 9: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEETools

08:20cscerqueira.com.br 9

• OPCat: • http://esml.iem.technion.ac.il

• Arcadia: • https://polarsys.org/capella/

• Enterprise Architect: • http://sparxsystems.com/products/ea/

• MatLab: • https://www.mathworks.com/downloads/

• Arduino: • https://www.arduino.cc

Page 10: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

08:20 10

MBSE – 20min ALFA – 20minOPM – 40minARCADIA – 50minCode – 10minMATLAB – 30minARDUINO– 10minWRAP-UP– 10min

Page 11: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

Model Based System Engineering ( MBSE)

08:20cscerqueira.com.br 11https://mediaex-server.larc.nasa.gov/Academy/Play/804f524f16c24fd2927a4eb9f01bdf831d

Page 12: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESystem Engineering

8:20 12

“Systems Engineering is an engineering discipline whose responsibility is creating and executing an interdisciplinary process to

ensure that the customer and stakeholder's needs are satisfied in a high quality, trustworthy, cost efficient and schedule compliant manner

throughout a system's entire life cycle.”

http://www.incose.org/AboutSE/WhatIsSE

Page 13: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEHow the magic happens?

8:20 13

Talk with Stks

Page 14: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEEngineered System or System Engineering

8:20 14

An engineered system is an open system of technical or

sociotechnical elements that exhibits emergent properties notexhibited by its individual elements. It is created by and forpeople; has a purpose, with multiple views; satisfies keystakeholders’ value propositions; has a life cycle and evolutiondynamics; has a boundary and an external environment; and ispart of a system-of-interest hierarchy.

Systems engineering is “an interdisciplinary approach and

means to enable the realization of successful (engineered)systems”. It focuses on holistically and concurrentlyunderstanding stakeholder needs; exploring opportunities;documenting requirements; and synthesizing, verifying,validating, and evolving solutions while considering the completeproblem, from system concept exploration through systemdisposal.

http://sebokwiki.org/wiki/Use_Case_0:_Systems_Engineering_Novices

Page 15: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEMBSE

8:20 15

“Model-Based Systems Engineering (MBSE) is a systems engineering methodology that focuses on

creating and exploiting domain models as the primary means of information exchange between

engineers, rather than on document-based information exchange.”

http://www.omgwiki.org/MBSE/doku.php

“the formalized application of modelling to support system requirements, design, analysis, verification and validation activities beginning inthe conceptual design phase and continuing throughout development and later life cycle phases. MBSE is part of a long-term trend towardmodel-centric approaches adopted by other engineering disciplines, including mechanical, electrical and software. In particular, MBSE isexpected to replace the document-centric approach that has been practiced by systems engineers in the past and to influence the futurepractice of systems engineering by being fully integrated into the definition of systems engineering processes.”

Page 16: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEModel (driven x based x centric x oriented)

• Driven: “models should be used to directly generate executable systems”

• Based: “uses models rather than documents as the data source for all activities throughout the product life cycle” “models are used to drive all aspects of the product lifecycle and that data is created once and reused by all downstream data consumers.”

• Centric: “is a focus entirely on development of information of and about the system – the model”

• Oriented: “ is a paradigm that does not differentiate between modelling and coding. This is referred to as model-code duality.”

08:20cscerqueira.com.br 16

http://onlinelibrary.wiley.com/doi/10.1002/spe.1155/abstract#spe1155-note-0001

http://www.3dcadworld.com/why-you-need-to-understand-model-based-engineering/

https://www.youtube.com/watch?v=VjGmNjg5cro

http://cruise.eecs.uottawa.ca/umple/

Page 17: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEModel (driven x based x centric x oriented)

08:20cscerqueira.com.br 17

Model Based

Model Driven

ModelOriented

Model Centric

Document Based“data-source”

“generation”

“focus”

“language”

Page 18: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEModels...

8:20 18

Engineering?

Modelling andauto-build?

Page 19: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEBenefits

8:20 19

http://www.eclipse.org/proposals/eclipse-mddi/

Page 20: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESame kernel step each activity of the Lifecycle

8:20 20

Page 21: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEV-MODEL

08:20cscerqueira.com.br 21

Page 22: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

08:20 22

time

det

ails

V – WaterfallYs – Prototype Cascade

cscerqueira.com.br

Equip

SubS

Sys

0 A B C D E F

Page 23: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEStill alive?

08:20cscerqueira.com.br

Page 24: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

CASE: CUBESAT ALFA

08:20 24

Page 25: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEWhat is Alfa!?• 1st CubeSat Mission of CTEE Program

• CTEE – Capacitação Técnica em Engenharia Espacial

• Mission:• Validate Service Bus / Com Networks• Shielding / Error Recovery Experiments

• Current Status: • Finishing Documents to MDR

• Space Segment• OnBoard Computer• Telecomunications• Power Supply• Attitude (at least determination)• Structure• Experiments

• Ground Segment• Receive telemetries (housekeeping /

mission)• Send telecommands

08:20cscerqueira.com.br 25

https://gomspace.com

Page 26: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESimplified Timeline

08:20cscerqueira.com.br 26

Separation10min start

LEOP Housekeeping and Determination TM

Manouver& Ex. Release

TC

ExperimentTM

EOLPre-FlightTesting

LaunchOps

Page 27: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEList all possible CubeSat Events

08:20cscerqueira.com.br 27

Release Pin

10min LEOP timer

Charging/Antenna Release

Orientation Ok

Experiment Released ok

Receive Reset TC

Failure Occur

Failure Solved

Press Pin

Page 28: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESelect a few events to model

• ON

• OFF

Pin

• OFF

• OK

• FAILURE

Software

• NONE

• SERVICE

• PAYLOAD

• MANOUVER

• EOL

• END_HANDLE

Telecommand

08:20cscerqueira.com.br 28

2*3*6 = 36 states

All are possibles?All are feasibles?All should exist?All are achievables?

Page 29: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEStates

08:20cscerqueira.com.br 29

Failure

Pre-Lauch

Launch

LEOP

HandleServ. TC

HandleManouver

TC.

HandlePay. TC

Stand-By

EOL

Pin=off/cb=off

Pin=on/cb=start

SW=ok/cb=normal

SW=Fail/cb=checkSW=Fail/cb=check

SW=Fail/cb=check

SW=Fail/cb=check

SW=Fail/cb=check

SW=ok/cb=normal

Tc=serv/cb=servHandle

Tc=aocs/cb=manHandle

Tc=serv/cb=servHandle

Tc=EOL/cb=eolHandle

Tc=endHandle|| timeout/cb=norm

Tc= endHandle|| timeout /cb=norm

Page 30: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

08:20 30

Events table:Pre-

FlightTesting

LaunchOps

LEOP Stand-by HandleService

TC

HandlePayload TC

HandleManouver

TC

EOL Failure

Pre-FlightTesting

x Pin = OFF

LaunchOps

x Pin = ON

LEOP x SW = OK SW = Failure

Stand-by x TC = serv

TC = pay TC = man TC = eol

SW = Failure

Handle Service TC

TC = endHandle|| timeout

x SW = Failure

Handle PayloadTC

TC = endHandle|| timeout

x SW = Failure

HandleManouver TC

TC = endHandle|| timeout

x SW = Failure

EOL x

Failure SW = OK x

Page 31: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

OPM – ObjectProcess

Methodology

08:20 31

Page 32: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

Page 33: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEPhase 0 – Concepts - OPM

• The Start

• What is OPM?!

• How to MEF?!

• Alfa Example

08:20cscerqueira.com.br 33

Page 34: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEThe start:

How do we explain ideas to each other?

•Grab a pen and piece of paper, or a chalk and blackboard

•Scribble shapes with names next to them

•While talking, run lines with or without arrows among the shapes

•Follow the reaction of the audience to see if idea is understood

•Answer questions, continue scribbling…

08:20 34

Page 35: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEThe start:

These “first” ideias Conceptual Modelling

•A systematic, formalized process of describing, specifying, designing or explaining ideas, systems, products or processes through a model

•Applicable to both:• Science – Studying what is known and what is missing to

satisfy human thirst for knowledge, and • Engineering – Designing systems to benefit humans,

based on sound scientific principles

•Science can be thought of as reverse engineering of nature

08:20 35

Page 36: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEOPM (Object-Process Methodology)

36

Prof. Dov Dori

Created in 2002

improving and showingit applicability

• A Single Diagram – Maps Behaviour and Structure• 2 Building Blocks and 10 basic relations• Designed to “Systemic View” and “Concept

Design”• Simulation Ready

• ~130 Pages standard• Published in late 2015• Intended to “Automation Systems and

Integration”• Has the “power” of a ISO seal.

Page 37: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE[Dori] Object-Process Theorem

Objects with states, processes andtheir relations among them constitutea necessary and sufficient universal

ontology to describe a system.

08:20cscerqueira.com.br 37

Mission Simulation LabHICEE

Mission Simulation LabHICEE

Page 38: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEThe start:

Theoretical Foundations

• Dual Channel Processing (visual and verbal)

• Limited Capacity – amount of human processing.

• Active Processing – learning occurs during active cognitive processing. (Simulation)

• Ontology: set of concepts for describing a domain

• Universal Ontology: a domain-independent set of concepts for describing systems.

08:20 38http://esml.iem.technion.ac.il/wp-content/uploads/2015/02/webinar_020915.pdf

Page 39: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

• simple yet expressive, and

• intuitive yet formal

The Start:

08:20 39

Convert

Construct

Communicate

Concept

Models

fragmented knowledge intoexplicit and integratedknowledge

concise models

The model tostakeholders

Page 40: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEOPM’s only two building blocks:

08:20 40

Product

testing

not tested tested1. Objects with states2. Processes

All the other elements are relations between things, Expressed graphically as links

Page 41: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEETwo simultaneous cognitive channels: visual-

OPD and textual-OPL

Diagram (OPD) Textual (OPL)

• Christopher is physical.Christopher knows OPM Theory.Christopher handles presenting.OPM consists of OPM Theory.presenting is physical.presenting consumes OPM Theory.presenting yields Presentation.

08:20cscerqueira.com.br 41

Mission Simulation LabHICEE

Mission Simulation LabHICEE

Page 42: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEMajors aspects of any system?

• Structure – the static aspect. What the system is made of. • Time-independent

• Behavior – the dynamic aspect. How the system changes over time.• Time-dependent

• Function – The utilitarian, subjective aspect.• Why is the system built?

• For whom is the system built?

• Who benefits from operating the system?

08:20 42

On

lyo

ne

Dia

gram

Typ

e

Page 43: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEStructural Links

08:20 43

StructuralRelational

Aggregation

Exhibition

Specialization

Instantiation

Page 44: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEBehaviour (Procedural Links)

08:20 44

Procedural

Transforming

• Consume

• Create

• Effect

Enabling

• Agent

• Instrument

Control

• Events

• Conditions

• Invocation

• Exceptions

Page 45: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEOther Mechanisms

Operators• Multiplicity

• Logical

Complexity

• Zoom-In – Zoom-Out

• Unfolding - Folding

• State expression –suppression

Simulation

08:20 45

“Models interrelation”

Page 46: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEExamples:

Object-Process Methodology and Its Application to the Visual Semantic Web

Mission Simulation LabHICEE

Mission Simulation LabHICEE

08:20cscerqueira.com.br 46

Page 47: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEBrief comparison: SysML and OPM

Feature SysML OPM

Theoretical Foundation UML; Object-Oriented Paradigm

Minimal Universal Ontology;Object-Process Theorem

Standard Documentationnumber of pages

1670 130

Standardization body OMG (2006) ISO (2015)

Number of diagram kinds 9 1

Graphic modality Yes Yes

Textual modality No Yes

Physical-Informatical Distinction No Yes

Systemic-Environmental Distinction

No Yes

08:20 47

Page 48: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEModelling Alfa’s State Behaviour

08:20cscerqueira.com.br 48

Page 49: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESimpler Example – Logics

08:20cscerqueira.com.br 49

p1 changes a from s1 to s2.

p2 changes a from s1 to s2.

Following path aa, p3 consumes s1 a.Following path bb, p3 consumes s2 a.p3 yields s3 a.

p4 changes a from s1 to s3.

Page 50: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESimpler Example – states of the water

08:20cscerqueira.com.br 50

Page 51: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEModelling Alfa’s State Behaviour

08:20cscerqueira.com.br 51

Page 52: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEOPM State Charts 1/6

08:20cscerqueira.com.br 52https://www.research.ibm.com/haifa/info/ple/present/Dori-States-OPM-Statecharts.pdf

Page 53: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEOPM State Charts 2/6

08:20cscerqueira.com.br 53

Page 54: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEOPM State Charts 3/6

08:20cscerqueira.com.br 54

Page 55: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEOPM State Charts 4/6

08:20cscerqueira.com.br 55

Page 56: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEOPM State Charts 5/6

08:20cscerqueira.com.br 56

Page 57: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEOPM State Charts 6/6

08:20cscerqueira.com.br 57

Page 58: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEFormally

08:20 58

•OPM just turned to be a ISO standard. (15-Dec-2015)

•Already being looked by airspace companies ( EMBRAER / BOEING )

•Already being researched to Concurrent Engineering(Cambridge / INPE)• Knowledge Based Systems

•Simpler to implement than any UML/SysML specification.• Has direct compatibility with SysML models (back/forth) • Exports to Matlab (AUTOMATLAB)

•Dual Channel textual + visual • Extra third Channel simulation

• Personal touch:• More understandable than any UML-like to non-computer

specialists.End of Class 01

Page 59: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

ARCADIA (SysML-Like)

08:20 59

Page 60: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEPhase 0/A – Concepts/Architecture - Arcadia

• What is?!

• How to MEF?!

• Alfa Example

08:20cscerqueira.com.br 60

Page 61: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEHistory of Object Oriented Modeling languages

08:20cscerqueira.com.br 61SysML 1.4

Page 62: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEUML – Unified Modelling Language

08:20cscerqueira.com.br 62

Page 63: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEAdaptation to Systemic Domain

08:20cscerqueira.com.br 63

Page 64: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESysML – System Modelling Language

08:20cscerqueira.com.br 64

Page 65: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESysML Diagram Branches

08:20cscerqueira.com.br 65

Page 66: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESysML

•Is a visual modelling language that provides•Semantics = meaning

•Notation = representation of meaning

•Is not•a methodology or a tool•SysML is methodology and tool independent

08:20cscerqueira.com.br 66http://www.omgsysml.org/INCOSE-OMGSysML-Tutorial-Final-090901.pdf

SysML

Page 67: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEPolarSys Proposal for MBSE

08:20cscerqueira.com.br 67

Page 68: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEArcadia / Capella

• Polarsys Group• Thales Alenia

• Phases 0 - C

• Capella is a layer above the Eclipse IDE, created using the Sirius and the Eclipse Modelling Framework (EMF)

• Diagrams: • operational

architecture,

• use cases,

• dataflow,

• architecture,

• logical,

• physical,

• tree,

• sequence,

• state,

• and classes 8:20 68https://www.polarsys.org/capella/

Page 69: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESystems Architecture Modeling with the Arcadia Method

A Practical Guide to Capella

08:20cscerqueira.com.br 69

ARCADIA - ARChitecture

Analysis and Design

Integrated Approach

Page 70: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

08:20cscerqueira.com.br 70

Page 71: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

08:20cscerqueira.com.br 71

Page 72: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEDiagram Examples

8:20 72

op

arc

log

tree

Page 73: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEMethodological Guidance

08:20cscerqueira.com.br 73

Define Stakeholder Needs and EnvironmentCapture and consolidate operational needs from stakeholders. Define what the users of the system have to accomplish Identify entities, actors, roles, activities, concepts

Formalize System RequirementsIdentify the boundary of the system, consolidate requirements. Define what the system has to accomplish for the users. Model functional dataflows and dynamic behaviour

Develop System Logical ArchitectureSee the system as a white box: define how the system will work so as to fulfill expectations Perform a first trade-off analysis

Develop System Physical ArchitectureHow the system will be developed and built Software vs. hardware allocation, specification of interfaces, deployment configurations, trade-off analysis

Formalize Component RequirementsManage industrial criteria and integration strategy: what is expected from each designer/sub-contractor. Specify requirements and interfaces of all configuration items

Page 74: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESpiral

08:20cscerqueira.com.br 74

ActorsEntitiesNeeds

Activities

Scenarios

MissionsCapabilities

Functions

ArchitectureFunctions

Components

SS

SS

Functions

Components

Operational Analysis

System Analysis

Logical Architecture

Physical Architecture

Modes & States

Arc

Architecture

Architecture

(Christopher)

Classes

Page 75: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESpiral

08:20cscerqueira.com.br 75

Operational Analysis

System Analysis

Logical Architecture

Physical Architecture

(Christopher)

Classes

[OEBD][OCB]

[OAB]

[OAIB] [OAS]

[OES]

[MB]

[MCB]

[SDFB]

[SAB]

[ES]

[FS]

[LFBD]

[LDFB]

[LCBD][LAB]

[ES]

[FS]

[M&S]

[PFBD]

[PDFB]

[PCBD][PAB]

[ES]

[FS]

Page 76: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

08:20cscerqueira.com.br 76

Clock Radio Example

OperationalOAB - Entities and Activities

OEBD - Entities

System

SABs – Components, Functions and Exchanges

SDFBs – Functions and Exchanges

SM&S – Modes and States

SES – Entities Exchange Scenarios

SFC – Functional Chains

Logical

LABs – Components, Functions and Exchanges

LDFB – Data flows (functions and exchanges)

LFBD – Function Breakdown

LES – Exchange Scenarios

LFCD – Functional Chains...

Page 77: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

08:20cscerqueira.com.br 77

1

Define Stakeholder Needs and EnvironmentCapture and consolidate operational needs from stakeholders. Define what the users of the system have to accomplish Identify entities, actors, roles, activities, concepts

2

Create Stkse needs

CreateActivities

CreateStates/Modes

DescribeEvents

Page 78: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEStates

08:20cscerqueira.com.br 78

Failure

Pre-Lauch

Launch

LEOP

HandleServ. TC

HandleManouver

TC.

HandlePay. TC

Stand-By

EOL

Pin=off/cb=off

Pin=on/cb=start

SW=ok/cb=normal

SW=Fail/cb=checkSW=Fail/cb=check

SW=Fail/cb=check

SW=Fail/cb=check

SW=Fail/cb=check

SW=ok/cb=normal

Tc=serv/cb=servHandle

Tc=aocs/cb=manHandle

Tc=serv/cb=servHandle

Tc=EOL/cb=eolHandle

Tc=endHandle|| timeout/cb=norm

Tc= endHandle|| timeout /cb=norm

Page 79: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

08:20cscerqueira.com.br 79

1

3

4

Formalize System RequirementsIdentify the boundary of the system, consolidate requirements. Define what the system has to accomplish for the users. Model functional dataflows and dynamic behaviour

Import fromOp. Analysis

Create the System and Allocate

functions

CreateStates/Modes

DescribeEvents

Page 80: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEECapella Ecosystem

08:20cscerqueira.com.br 80

Page 81: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

In Software Code

08:20 81

Page 82: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEPhase C – Code

• What is?!

• How to MEF?!

• Alfa Example

• Beyond...

08:20cscerqueira.com.br 82

Page 83: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEModel a Behaviour

08:20cscerqueira.com.br 83

http://gameprogrammingpatterns.com/state.html

Page 84: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEEnum and

Switch approach

08:20cscerqueira.com.br 84

enum State { STATE_STANDING, STATE_JUMPING, STATE_DUCKING, STATE_DIVING };

void Heroine::handleInput(Input input) {

switch (state_) {

case STATE_STANDING:

if (input == PRESS_B) { state_ = STATE_JUMPING;

yVelocity_ = JUMP_VELOCITY; setGraphics(IMAGE_JUMP);

} else if (input == PRESS_DOWN) {

state_ = STATE_DUCKING; setGraphics(IMAGE_DUCK);

} break;

case STATE_JUMPING:

if (input == PRESS_DOWN) {

state_ = STATE_DIVING; setGraphics(IMAGE_DIVE);

} break;

case STATE_DUCKING:

if (input == RELEASE_DOWN) {

state_ = STATE_STANDING; setGraphics(IMAGE_STAND);

} break;

}}

Page 85: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEObjects

08:20cscerqueira.com.br 85

class Heroine {

public:

virtual void handleInput(Input input);

virtual void update();

// Other methods...

private:

HeroineState* state_;

};

Page 86: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEState Design Pattern

08:20cscerqueira.com.br 86

Page 87: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEState Design Pattern

08:20cscerqueira.com.br 87

class Class Model

Heroine

+ handleInput(Input) :void

HeroineState

+ handleInput(Input) :void

+ update() :void

+ handleInput(Heroin&, Input) :HeroineState*

Ducking

+ handleInput(Input) :void

+ update() :void

+ handleInput(Heroin&, Input) :HeroineState*

Standing

+ handleInput(Input) :void

+ update() :void

+ handleInput(Heroin&, Input) :HeroineState*

Jumping

+ handleInput(Input) :void

+ update() :void

+ handleInput(Heroin&, Input) :HeroineState*

Div ing

+ handleInput(Input) :void

+ update() :void

+ handleInput(Heroin&, Input) :HeroineState*

Page 88: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEETo control multiple things...

Concurrent StateCharts

08:20cscerqueira.com.br 88http://www.ni.com/tutorial/6194/en/

Page 89: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEStates and Concurrent FSMs

08:20cscerqueira.com.br 89

Alfa

Abstract SW State

Abstract Stateof something

....

HandServ

StandBy

HandPay

HandMan

HandEOL

Failure

Concurrent FSMs

Init

Page 91: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEENew motto

08:20cscerqueira.com.br 91

Page 92: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

CTEE 9208:20

Page 93: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

MATLAB / Simulink

08:20 93

Page 94: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEPhase B/C – Digital Design – Matlab/Simulink

• What is?!

• What is possible to model?!

• How to MEF?!

• Alfa Example

08:20cscerqueira.com.br 94

Page 95: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESimulink

• Modeling/designing dynamic systems (including nonlinear dynamics)

• Modeling/designing control systems (including nonlinear controllers and plants)

• Signal processing design/simulation

• Simulink runs under Matlab. First start Matlab, then type “simulink” at the Matlab prompt.

08:20cscerqueira.com.br 95http://emerald.tufts.edu/~rwhite07/PRESENTATIONS_REPORTS/simulink.pdfhttps://pt.slideshare.net/christophercerqueira/prj32christopher-aula-14-controle

Page 96: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEExample

• Ramp with control

• Wave with filter

• Subsystem all

08:20cscerqueira.com.br 96

Page 97: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEState flow

• sf_seqrec

08:20cscerqueira.com.br 97

Page 98: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESignal Source

08:20cscerqueira.com.br 98

Page 99: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEMoore

08:20cscerqueira.com.br 99

1121211213

Page 100: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEMealy

08:20cscerqueira.com.br 100

1121211213

Page 101: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEComparing

08:20cscerqueira.com.br 101

1121211213

Page 102: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEStates

08:20cscerqueira.com.br 102

Failure

Pre-Lauch

Launch

LEOP

HandleServ. TC

HandleManouver

TC.

HandlePay. TC

Stand-By

EOL

Pin=off/cb=off

Pin=on/cb=start

SW=ok/cb=normal

SW=Fail/cb=checkSW=Fail/cb=check

SW=Fail/cb=check

SW=Fail/cb=check

SW=Fail/cb=check

SW=ok/cb=normal

Tc=serv/cb=servHandle

Tc=aocs/cb=manHandle

Tc=serv/cb=servHandle

Tc=EOL/cb=eolHandle

Tc=endHandle|| timeout/cb=norm

Tc= endHandle|| timeout /cb=norm

Page 103: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEWhich is done inside the SUD

08:20cscerqueira.com.br 103

HandServ

HandPay

HandMan

HandEOL

Failure

InitPin

TCsTMs

StandBy

Page 104: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEAlfa’s FSM in Matlab

08:20cscerqueira.com.br 104

Page 105: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEESimulating

08:20cscerqueira.com.br 105

Page 106: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

ARDUINO

08:20 106

Page 107: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEPhase C – Automatic Realization

• What is?!

• What is possible to model?!

• How to MEF?!

• Alfa Example

08:20cscerqueira.com.br 107

Page 108: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEARDUINO

08:20cscerqueira.com.br

Page 109: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEShields

08:20cscerqueira.com.brhttp://www.telecom.uff.br/pet/petws/downloads/tutoriais/arduino/Tut_Arduino.pdf

Page 110: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEETesting

• Generate pulse

• Stop blinking via INPUT state pin

08:20cscerqueira.com.br 110

Page 111: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEExposing interfaces (stimuli/response) HW

08:20cscerqueira.com.br 111

Pin

TCsTMs

D2 – Pin

D3 – TC01D4 – TC02D5 – TC03D6 – TC04D7 – TC05D8 – TC06D9 – TC07

Blink pattern pin 13State -1 – failure : fastState 0 – init : offState 1 – stand : onState 2 – serv : oneState 3 – pay : twoState 4 – man : threeState 5 – eol : four

Page 112: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEExposing interfaces

08:20cscerqueira.com.br 112

Page 113: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEEMicroprocessor x Microcontroller x Application

Processor

“only process”

dedicated task

generic

“Complete sollution toindustry”

Complete computationalarchitecture (memory, IOs)

Industry and automation

“Complete sollutionto enduser”

Complete computationalarchitecture(memory, IOs)

End user apps

Page 114: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

Page 115: Using Finite State Machines From Concept to Realization

Mission Simulation LabHICEE

Mission Simulation LabHICEE

WRAP-UP

08:20cscerqueira.com.br 115


Recommended