SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
User-friendly ways to capture temporal
properties
KTH – June 2015, Stockholm, Sweden
Patrizio Pelliccione – Docent in software engineering, Chalmers|GU
www.patriziopelliccione.com
Properties Sequence Chart (PSC)
•  Temporal	
  Proper,es	
  are	
  typically	
  specified	
  as	
  formulae	
  in	
  suitable	
  
temporal	
  logics	
  
•  The	
  inherent	
  complexity	
  of	
  Temporal	
  Logic	
  formulae	
  may	
  induce	
  to	
  
specify	
  proper,es	
  in	
  a	
  wrong	
  way	
  
Problem	
  space	
  
•  Proper,es	
  Sequence	
  Chart	
  (PSC)	
  is	
  a	
  scenario-­‐based	
  visual	
  language	
  
for	
  specifying	
  temporal	
  proper,es	
  which	
  balances	
  simplicity	
  of	
  use	
  
and	
  expressive	
  power	
  
Solu,on	
  space	
  
Marco	
  Au)li,	
  Paola	
  Inverardi,	
  Patrizio	
  Pelliccione	
  (2007)	
  	
  Graphical	
  scenarios	
  for	
  specifying	
  
temporal	
  proper3es:	
  an	
  automated	
  approach	
  ,	
  Automated	
  SoIware	
  Engg.	
  14:	
  3.	
  293-­‐340	
  
hQp://www.di.univaq.it/psc/	
  	
  
Properties Sequence Chart (PSC)
Properties Sequence Chart (PSC)
c1:C1
Component
Instance c1
r:a
Required
message
e:a
Regular
message
f:a
Fail
message
loop(x,y)
Loop operator
ti
Time-line
b={Ci.l1.Cj,…,Ck.ln.Ct}
Unwanted Message
Constraint
Alternative operator
alt
...
Strict
operator
b
g=(Ci.l1.Cj,…,Ck.ln.Ct)
=>
Wanted Chain
Constraint
g
g=(Ci.l1.Cj,…,Ck.ln.Ct)
Unwanted Chain
Constraint
g
=>
Parallel operator
par
...
Properties Sequence Chart (PSC)
c1:C1
Component
Instance c1
r:a
Required
message
e:a
Regular
message
f:a
Fail
message
loop(x,y)
Loop operator
ti
Time-line
b={Ci.l1.Cj,…,Ck.ln.Ct}
Unwanted Message
Constraint
Alternative operator
alt
...
Strict
operator
b
g=(Ci.l1.Cj,…,Ck.ln.Ct)
=>
Wanted Chain
Constraint
g
g=(Ci.l1.Cj,…,Ck.ln.Ct)
Unwanted Chain
Constraint
g
=>
Parallel operator
par
...
Alert&
system&
Speed&
controller&
Lane&dep.&
controller&
Driver&
controller&
e:&speed&>&65km/h&
e:&distance&decreases&
r:&alerted&speed&>=&60km/h&
speed&>=&60km/h&
Translation to Büchi automata
required	
  messages	
  
Translation to Büchi automata
regular	
  messages	
  
Translation to Büchi automata
fail	
  messages	
  
Translation to Büchi automata
required	
  messages:	
  chain	
  constraint	
  
Translation to Büchi automata
regular	
  messages:	
  chain	
  constraint	
  
Translation to Büchi automata
fail	
  messages:	
  chain	
  constraint	
  
Translation to Büchi automata: composition
Trace-based semantics: an excerpt
Example
hQps://www.media.volvocars.com/global/en-­‐gb/media/pressreleases/12130	
  	
  
Properties Sequence Chart (PSC)
If	
  the	
  speed	
  of	
  the	
  car	
  was	
  greater	
  than	
  65km/h,	
  
the	
  distance	
  between	
  the	
  car	
  and	
  the	
  road	
  lane	
  
markings	
  decreased	
  rapidly,	
  and,	
  in	
  the	
  
meanwhile,	
  the	
  speed	
  of	
  the	
  car	
  was	
  not	
  
decreased	
  under	
  60km/h,	
  then	
  the	
  driver	
  is	
  
alerted	
  via	
  an	
  audible	
  signal	
  
Properties Sequence Chart (PSC)
If	
  the	
  speed	
  of	
  the	
  car	
  was	
  greater	
  than	
  65km/h,	
  
the	
  distance	
  between	
  the	
  car	
  and	
  the	
  road	
  lane	
  
markings	
  decreased	
  rapidly,	
  and,	
  in	
  the	
  
meanwhile,	
  the	
  speed	
  of	
  the	
  car	
  was	
  not	
  
decreased	
  under	
  60km/h,	
  then	
  the	
  driver	
  is	
  
alerted	
  via	
  an	
  audible	
  signal	
  
Speed	
  
controller	
  
Driver	
  
controller	
  
e:	
  speed	
  >	
  65km/h	
  
Properties Sequence Chart (PSC)
If	
  the	
  speed	
  of	
  the	
  car	
  was	
  greater	
  than	
  65km/h,	
  
the	
  distance	
  between	
  the	
  car	
  and	
  the	
  road	
  lane	
  
markings	
  decreased	
  rapidly,	
  and,	
  in	
  the	
  
meanwhile,	
  the	
  speed	
  of	
  the	
  car	
  was	
  not	
  
decreased	
  under	
  60km/h,	
  then	
  the	
  driver	
  is	
  
alerted	
  via	
  an	
  audible	
  signal	
  
Speed	
  
controller	
  
Lane	
  dep.	
  
controller	
  
Driver	
  
controller	
  
e:	
  speed	
  >	
  65km/h	
  
e:	
  distance	
  decreases	
  
Properties Sequence Chart (PSC)
If	
  the	
  speed	
  of	
  the	
  car	
  was	
  greater	
  than	
  65km/h,	
  
the	
  distance	
  between	
  the	
  car	
  and	
  the	
  road	
  lane	
  
markings	
  decreased	
  rapidly,	
  and,	
  in	
  the	
  
meanwhile,	
  the	
  speed	
  of	
  the	
  car	
  was	
  not	
  
decreased	
  under	
  60km/h,	
  then	
  the	
  driver	
  is	
  
alerted	
  via	
  an	
  audible	
  signal	
  
Speed	
  
controller	
  
Lane	
  dep.	
  
controller	
  
Driver	
  
controller	
  
e:	
  speed	
  >	
  65km/h	
  
e:	
  distance	
  decreases	
  
speed	
  >=	
  60km/h	
  
Properties Sequence Chart (PSC)
If	
  the	
  speed	
  of	
  the	
  car	
  was	
  greater	
  than	
  65km/h,	
  
the	
  distance	
  between	
  the	
  car	
  and	
  the	
  road	
  lane	
  
markings	
  decreased	
  rapidly,	
  and,	
  in	
  the	
  
meanwhile,	
  the	
  speed	
  of	
  the	
  car	
  was	
  not	
  
decreased	
  under	
  60km/h,	
  then	
  the	
  driver	
  is	
  
alerted	
  via	
  an	
  audible	
  signal	
  
Alert	
  
system	
  
Speed	
  
controller	
  
Lane	
  dep.	
  
controller	
  
Driver	
  
controller	
  
e:	
  speed	
  >	
  65km/h	
  
e:	
  distance	
  decreases	
  
r:	
  alerted	
  speed	
  >=	
  60km/h	
  
speed	
  >=	
  60km/h	
  
PSC impact
•  Extensions and uses of PSC
–  Timed Property Sequence Chart (TPSC) -
http://dx.doi.org/10.1016/j.jss.2009.09.013
–  Probabilistic Timed Property Sequence Chart (PTPSC) -
http://dx.doi.org/10.1109/ASE.2009.56
–  Monitoring of PSC and TPSC properties -
http://dx.doi.org/10.1007/978-3-642-16612-9_39
–  Monitoring of PTPSC - http://onlinelibrary.wiley.com/doi/10.1002/spe.1038/abstract
PSC	
  is	
  the	
  nota,on	
  used	
  by	
  SDL-­‐RT	
  V2.3	
  
standard	
  to	
  express	
  temporal	
  proper,es	
  
PSC	
  is	
  the	
  nota,on	
  used	
  by	
  MSC	
  Tracer	
  to	
  
express	
  temporal	
  proper,es	
  
hQp://www.sdl-­‐rt.org/	
  	
  
hQp://www.pragmadev.com/product/tracing.html	
  	
  
PSC	
  is	
  one	
  of	
  the	
  nota,ons	
  adopted	
  within	
  the	
  
Presto	
  project	
  (ARTEMIS-­‐2010-­‐1-­‐269362)	
  
hQp://www.presto-­‐embedded.eu/	
  	
  
Marco	
  Au)li,	
  Lars	
  Grunske,	
  Markus	
  Lumpe,	
  Patrizio	
  
Pelliccione,	
  and	
  Antony	
  Tang	
  (2015)	
  	
  Aligning	
  Qualita3ve,	
  
Real-­‐Time,	
  and	
  Probabilis3c	
  Property	
  Specifica3on	
  
PaBerns	
  Using	
  a	
  Structured	
  English	
  Grammar,	
  IEEE	
  
Transac,ons	
  on	
  SoIware	
  Engineering	
  (TSE),	
  To	
  appear.	
  	
  
Property specification patterns
Property	
  paQerns	
  
Occurrence	
   Order	
  
Absence	
  
Universality	
   Existence	
  
Bounded	
  
Existence	
  
Precedence	
  
Response	
   Chain	
  	
  
Precedence	
  
Chain	
  
Response	
  
Ma>hew	
  B.	
  Dwyer,	
  George	
  S.	
  Avrunin,	
  and	
  James	
  C.	
  Corbe>.	
  1999.	
  PaBerns	
  in	
  property	
  
specifica3ons	
  for	
  finite-­‐state	
  verifica3on.	
  In	
  Proceedings	
  of	
  the	
  21st	
  interna)onal	
  
conference	
  on	
  SoKware	
  engineering	
  (ICSE	
  '99).	
  ACM,	
  New	
  York,	
  NY,	
  USA,	
  411-­‐420.	
  
Patterns scope
Global	
  
Before	
  R	
  
AIer	
  Q	
  
Between	
  Q	
  and	
  R	
  
AIer	
  Q	
  un,l	
  R	
  
R	
   R	
  
Q	
   Q	
  
Q	
   Q	
   Q	
   R	
  R	
   R	
  
Q	
   Q	
   Q	
  R	
   R	
  
Q	
  
Q	
  
An example: Response pattern
•  To describe cause-effect relationships between a pair of
events/states. An occurrence of the first, the cause, must
be followed by an occurrence of the second, the effect.
Also known as Follows and Leads-to.
Real-time specification patterns
Sascha	
  Konrad	
  and	
  Be>y	
  H.	
  C.	
  Cheng.	
  2005.	
  Real-­‐3me	
  specifica3on	
  paBerns.	
  
In	
  Proceedings	
  of	
  the	
  27th	
  interna)onal	
  conference	
  on	
  SoKware	
  engineering	
  (ICSE	
  '05).	
  
ACM,	
  New	
  York,	
  NY,	
  USA,	
  372-­‐381.	
  
Real-time specification patterns
Probabilistic Property patterns
Lars	
  Grunske.	
  2008.	
  Specifica3on	
  paBerns	
  for	
  probabilis3c	
  quality	
  proper3es.	
  
In	
  Proceedings	
  of	
  the	
  30th	
  interna)onal	
  conference	
  on	
  SoKware	
  engineering	
  (ICSE	
  '08).	
  
ACM,	
  New	
  York,	
  NY,	
  USA,	
  31-­‐40.	
  	
  
Probabilistic Property patterns
Property specification patterns
40	
  newly	
  iden,fied	
  or	
  extended	
  paQerns	
  
PSP Wizard
PSPWizard user interface
Property Specification Patterns
Structured English grammar
Property Specification Patterns
Structured English grammar
Example
hQps://www.media.volvocars.com/global/en-­‐gb/media/pressreleases/12130	
  	
  
Example
The	
  driver	
  is	
  alerted	
  via	
  an	
  audible	
  signal	
  if	
  
the	
  speed	
  of	
  the	
  car	
  was	
  greater	
  than	
  
65km/h,	
  the	
  distance	
  between	
  the	
  car	
  and	
  
the	
  road	
  lane	
  markings	
  decreased	
  rapidly,	
  
and,	
  in	
  the	
  meanwhile,	
  the	
  speed	
  of	
  the	
  car	
  
was	
  not	
  decreased	
  under	
  60km/h.	
  
Example
If	
  the	
  driver	
  is	
  alerted	
  via	
  an	
  audible	
  signal	
  then	
  it	
  
must	
  have	
  been	
  the	
  case	
  that	
  the	
  speed	
  of	
  the	
  car	
  
was	
  greater	
  than	
  65km/h	
  and	
  aGerwards	
  the	
  
distance	
  between	
  the	
  car	
  and	
  the	
  road	
  lane	
  
markings	
  decreased	
  rapidly	
  and	
  aGerwards	
  the	
  
speed	
  of	
  the	
  car	
  was	
  not	
  decre.9%.	
  
The	
  driver	
  is	
  alerted	
  via	
  an	
  audible	
  signal	
  if	
  
the	
  speed	
  of	
  the	
  car	
  was	
  greater	
  than	
  
65km/h,	
  the	
  distance	
  between	
  the	
  car	
  and	
  
the	
  road	
  lane	
  markings	
  decreased	
  rapidly,	
  
and,	
  in	
  the	
  meanwhile,	
  the	
  speed	
  of	
  the	
  car	
  
was	
  not	
  decreased	
  under	
  60km/h.	
  
Example
If	
  the	
  driver	
  is	
  alerted	
  via	
  an	
  audible	
  signal	
  then	
  it	
  
must	
  have	
  been	
  the	
  case	
  that	
  the	
  speed	
  of	
  the	
  car	
  
was	
  greater	
  than	
  65km/h	
  and	
  aGerwards	
  the	
  
distance	
  between	
  the	
  car	
  and	
  the	
  road	
  lane	
  
markings	
  decreased	
  rapidly	
  without	
  the	
  speed	
  of	
  
the	
  car	
  was	
  decreased	
  under	
  60km/h	
  in	
  between	
  
The	
  driver	
  is	
  alerted	
  via	
  an	
  audible	
  signal	
  if	
  
the	
  speed	
  of	
  the	
  car	
  was	
  greater	
  than	
  
65km/h,	
  the	
  distance	
  between	
  the	
  car	
  and	
  
the	
  road	
  lane	
  markings	
  decreased	
  rapidly,	
  
and,	
  in	
  the	
  meanwhile,	
  the	
  speed	
  of	
  the	
  car	
  
was	
  not	
  decreased	
  under	
  60km/h.	
  
Example
If	
  the	
  driver	
  is	
  alerted	
  via	
  an	
  audible	
  signal	
  then	
  it	
  
must	
  have	
  been	
  the	
  case	
  that	
  the	
  speed	
  of	
  the	
  car	
  
was	
  greater	
  than	
  65km/h	
  and	
  aGerwards	
  the	
  
distance	
  between	
  the	
  car	
  and	
  the	
  road	
  lane	
  
markings	
  decreased	
  rapidly	
  without	
  the	
  speed	
  of	
  
the	
  car	
  was	
  decreased	
  under	
  60km/h	
  in	
  between.	
  
The	
  driver	
  is	
  alerted	
  via	
  an	
  audible	
  signal	
  if	
  
the	
  speed	
  of	
  the	
  car	
  was	
  greater	
  than	
  
65km/h,	
  the	
  distance	
  between	
  the	
  car	
  and	
  
the	
  road	
  lane	
  markings	
  decreased	
  rapidly,	
  
and,	
  in	
  the	
  meanwhile,	
  the	
  speed	
  of	
  the	
  car	
  
was	
  not	
  decreased	
  under	
  60km/h.	
  
hQp://ps-­‐paQerns.wikidot.com/	
  	
  
“A	
  paQern	
  system	
  does	
  not	
  belong	
  to	
  an	
  individual,	
  but	
  to	
  the	
  community	
  of	
  
experts	
  and	
  prac,,oners	
  who	
  contribute	
  to	
  and	
  use	
  it.”	
  (Dwyer	
  et	
  al.)	
  
Questions?
www.patriziopelliccione.com	
  	
  

Contenu connexe

Similaire à User-friendly ways to capture temporal properties - Seminar at KTH, June 2015

아마존의 딥러닝 기술 활용 사례 - 윤석찬 (AWS 테크니컬 에반젤리스트)
아마존의 딥러닝 기술 활용 사례 - 윤석찬 (AWS 테크니컬 에반젤리스트)아마존의 딥러닝 기술 활용 사례 - 윤석찬 (AWS 테크니컬 에반젤리스트)
아마존의 딥러닝 기술 활용 사례 - 윤석찬 (AWS 테크니컬 에반젤리스트)Amazon Web Services Korea
 
Wcdmaphysicallayer 111120031701-phpapp02
Wcdmaphysicallayer 111120031701-phpapp02Wcdmaphysicallayer 111120031701-phpapp02
Wcdmaphysicallayer 111120031701-phpapp02Terra Sacrifice
 
Sudheer vaddi Resume
Sudheer vaddi ResumeSudheer vaddi Resume
Sudheer vaddi ResumeSudheer Vaddi
 
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...Jean-Paul Calbimonte
 
VEHICLES AND TOURIST FREQUENCY TRACKING USING OPENCV
VEHICLES AND TOURIST FREQUENCY TRACKING USING OPENCVVEHICLES AND TOURIST FREQUENCY TRACKING USING OPENCV
VEHICLES AND TOURIST FREQUENCY TRACKING USING OPENCVIRJET Journal
 
Larsen,dustin eng resume_june2016 - copy
Larsen,dustin eng resume_june2016 - copyLarsen,dustin eng resume_june2016 - copy
Larsen,dustin eng resume_june2016 - copyDustin Larsen
 
Improving time to-collision estimation by IMM based Kalman filter
Improving time to-collision estimation by IMM based Kalman filterImproving time to-collision estimation by IMM based Kalman filter
Improving time to-collision estimation by IMM based Kalman filterYixin Chen
 
design-compiler.pdf
design-compiler.pdfdesign-compiler.pdf
design-compiler.pdfFrangoCamila
 
byteLAKE's Alveo FPGA Solutions
byteLAKE's Alveo FPGA SolutionsbyteLAKE's Alveo FPGA Solutions
byteLAKE's Alveo FPGA SolutionsbyteLAKE
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
IGARSS 2011 - RCM, The Making of (AC) (Short).ppt
IGARSS 2011 - RCM, The Making of (AC) (Short).pptIGARSS 2011 - RCM, The Making of (AC) (Short).ppt
IGARSS 2011 - RCM, The Making of (AC) (Short).pptgrssieee
 
MANOJ_H_RAO_Resume
MANOJ_H_RAO_ResumeMANOJ_H_RAO_Resume
MANOJ_H_RAO_ResumeManoj Rao
 
Synthetic aperture radar_advanced
Synthetic aperture radar_advancedSynthetic aperture radar_advanced
Synthetic aperture radar_advancedNaivedya Mishra
 

Similaire à User-friendly ways to capture temporal properties - Seminar at KTH, June 2015 (20)

아마존의 딥러닝 기술 활용 사례 - 윤석찬 (AWS 테크니컬 에반젤리스트)
아마존의 딥러닝 기술 활용 사례 - 윤석찬 (AWS 테크니컬 에반젤리스트)아마존의 딥러닝 기술 활용 사례 - 윤석찬 (AWS 테크니컬 에반젤리스트)
아마존의 딥러닝 기술 활용 사례 - 윤석찬 (AWS 테크니컬 에반젤리스트)
 
Wcdmaphysicallayer 111120031701-phpapp02
Wcdmaphysicallayer 111120031701-phpapp02Wcdmaphysicallayer 111120031701-phpapp02
Wcdmaphysicallayer 111120031701-phpapp02
 
Sudheer vaddi Resume
Sudheer vaddi ResumeSudheer vaddi Resume
Sudheer vaddi Resume
 
full report
full reportfull report
full report
 
Aocr Hmm Presentation
Aocr Hmm PresentationAocr Hmm Presentation
Aocr Hmm Presentation
 
RV silpa Resume
RV silpa ResumeRV silpa Resume
RV silpa Resume
 
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
 
VEHICLES AND TOURIST FREQUENCY TRACKING USING OPENCV
VEHICLES AND TOURIST FREQUENCY TRACKING USING OPENCVVEHICLES AND TOURIST FREQUENCY TRACKING USING OPENCV
VEHICLES AND TOURIST FREQUENCY TRACKING USING OPENCV
 
Larsen,dustin eng resume_june2016 - copy
Larsen,dustin eng resume_june2016 - copyLarsen,dustin eng resume_june2016 - copy
Larsen,dustin eng resume_june2016 - copy
 
MELDIYA THOMAS (2)
MELDIYA THOMAS (2)MELDIYA THOMAS (2)
MELDIYA THOMAS (2)
 
Improving time to-collision estimation by IMM based Kalman filter
Improving time to-collision estimation by IMM based Kalman filterImproving time to-collision estimation by IMM based Kalman filter
Improving time to-collision estimation by IMM based Kalman filter
 
design-compiler.pdf
design-compiler.pdfdesign-compiler.pdf
design-compiler.pdf
 
byteLAKE's Alveo FPGA Solutions
byteLAKE's Alveo FPGA SolutionsbyteLAKE's Alveo FPGA Solutions
byteLAKE's Alveo FPGA Solutions
 
Sky X Tech Report
Sky X Tech ReportSky X Tech Report
Sky X Tech Report
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
Gene's law
Gene's lawGene's law
Gene's law
 
IGARSS 2011 - RCM, The Making of (AC) (Short).ppt
IGARSS 2011 - RCM, The Making of (AC) (Short).pptIGARSS 2011 - RCM, The Making of (AC) (Short).ppt
IGARSS 2011 - RCM, The Making of (AC) (Short).ppt
 
EC6703 unit-4
EC6703 unit-4EC6703 unit-4
EC6703 unit-4
 
MANOJ_H_RAO_Resume
MANOJ_H_RAO_ResumeMANOJ_H_RAO_Resume
MANOJ_H_RAO_Resume
 
Synthetic aperture radar_advanced
Synthetic aperture radar_advancedSynthetic aperture radar_advanced
Synthetic aperture radar_advanced
 

Dernier

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 

Dernier (20)

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 

User-friendly ways to capture temporal properties - Seminar at KTH, June 2015

  • 1. User-friendly ways to capture temporal properties KTH – June 2015, Stockholm, Sweden Patrizio Pelliccione – Docent in software engineering, Chalmers|GU www.patriziopelliccione.com
  • 2. Properties Sequence Chart (PSC) •  Temporal  Proper,es  are  typically  specified  as  formulae  in  suitable   temporal  logics   •  The  inherent  complexity  of  Temporal  Logic  formulae  may  induce  to   specify  proper,es  in  a  wrong  way   Problem  space   •  Proper,es  Sequence  Chart  (PSC)  is  a  scenario-­‐based  visual  language   for  specifying  temporal  proper,es  which  balances  simplicity  of  use   and  expressive  power   Solu,on  space   Marco  Au)li,  Paola  Inverardi,  Patrizio  Pelliccione  (2007)    Graphical  scenarios  for  specifying   temporal  proper3es:  an  automated  approach  ,  Automated  SoIware  Engg.  14:  3.  293-­‐340   hQp://www.di.univaq.it/psc/    
  • 4. Properties Sequence Chart (PSC) c1:C1 Component Instance c1 r:a Required message e:a Regular message f:a Fail message loop(x,y) Loop operator ti Time-line b={Ci.l1.Cj,…,Ck.ln.Ct} Unwanted Message Constraint Alternative operator alt ... Strict operator b g=(Ci.l1.Cj,…,Ck.ln.Ct) => Wanted Chain Constraint g g=(Ci.l1.Cj,…,Ck.ln.Ct) Unwanted Chain Constraint g => Parallel operator par ...
  • 5. Properties Sequence Chart (PSC) c1:C1 Component Instance c1 r:a Required message e:a Regular message f:a Fail message loop(x,y) Loop operator ti Time-line b={Ci.l1.Cj,…,Ck.ln.Ct} Unwanted Message Constraint Alternative operator alt ... Strict operator b g=(Ci.l1.Cj,…,Ck.ln.Ct) => Wanted Chain Constraint g g=(Ci.l1.Cj,…,Ck.ln.Ct) Unwanted Chain Constraint g => Parallel operator par ... Alert& system& Speed& controller& Lane&dep.& controller& Driver& controller& e:&speed&>&65km/h& e:&distance&decreases& r:&alerted&speed&>=&60km/h& speed&>=&60km/h&
  • 6. Translation to Büchi automata required  messages  
  • 7. Translation to Büchi automata regular  messages  
  • 8. Translation to Büchi automata fail  messages  
  • 9. Translation to Büchi automata required  messages:  chain  constraint  
  • 10. Translation to Büchi automata regular  messages:  chain  constraint  
  • 11. Translation to Büchi automata fail  messages:  chain  constraint  
  • 12. Translation to Büchi automata: composition
  • 15. Properties Sequence Chart (PSC) If  the  speed  of  the  car  was  greater  than  65km/h,   the  distance  between  the  car  and  the  road  lane   markings  decreased  rapidly,  and,  in  the   meanwhile,  the  speed  of  the  car  was  not   decreased  under  60km/h,  then  the  driver  is   alerted  via  an  audible  signal  
  • 16. Properties Sequence Chart (PSC) If  the  speed  of  the  car  was  greater  than  65km/h,   the  distance  between  the  car  and  the  road  lane   markings  decreased  rapidly,  and,  in  the   meanwhile,  the  speed  of  the  car  was  not   decreased  under  60km/h,  then  the  driver  is   alerted  via  an  audible  signal   Speed   controller   Driver   controller   e:  speed  >  65km/h  
  • 17. Properties Sequence Chart (PSC) If  the  speed  of  the  car  was  greater  than  65km/h,   the  distance  between  the  car  and  the  road  lane   markings  decreased  rapidly,  and,  in  the   meanwhile,  the  speed  of  the  car  was  not   decreased  under  60km/h,  then  the  driver  is   alerted  via  an  audible  signal   Speed   controller   Lane  dep.   controller   Driver   controller   e:  speed  >  65km/h   e:  distance  decreases  
  • 18. Properties Sequence Chart (PSC) If  the  speed  of  the  car  was  greater  than  65km/h,   the  distance  between  the  car  and  the  road  lane   markings  decreased  rapidly,  and,  in  the   meanwhile,  the  speed  of  the  car  was  not   decreased  under  60km/h,  then  the  driver  is   alerted  via  an  audible  signal   Speed   controller   Lane  dep.   controller   Driver   controller   e:  speed  >  65km/h   e:  distance  decreases   speed  >=  60km/h  
  • 19. Properties Sequence Chart (PSC) If  the  speed  of  the  car  was  greater  than  65km/h,   the  distance  between  the  car  and  the  road  lane   markings  decreased  rapidly,  and,  in  the   meanwhile,  the  speed  of  the  car  was  not   decreased  under  60km/h,  then  the  driver  is   alerted  via  an  audible  signal   Alert   system   Speed   controller   Lane  dep.   controller   Driver   controller   e:  speed  >  65km/h   e:  distance  decreases   r:  alerted  speed  >=  60km/h   speed  >=  60km/h  
  • 20. PSC impact •  Extensions and uses of PSC –  Timed Property Sequence Chart (TPSC) - http://dx.doi.org/10.1016/j.jss.2009.09.013 –  Probabilistic Timed Property Sequence Chart (PTPSC) - http://dx.doi.org/10.1109/ASE.2009.56 –  Monitoring of PSC and TPSC properties - http://dx.doi.org/10.1007/978-3-642-16612-9_39 –  Monitoring of PTPSC - http://onlinelibrary.wiley.com/doi/10.1002/spe.1038/abstract PSC  is  the  nota,on  used  by  SDL-­‐RT  V2.3   standard  to  express  temporal  proper,es   PSC  is  the  nota,on  used  by  MSC  Tracer  to   express  temporal  proper,es   hQp://www.sdl-­‐rt.org/     hQp://www.pragmadev.com/product/tracing.html     PSC  is  one  of  the  nota,ons  adopted  within  the   Presto  project  (ARTEMIS-­‐2010-­‐1-­‐269362)   hQp://www.presto-­‐embedded.eu/    
  • 21. Marco  Au)li,  Lars  Grunske,  Markus  Lumpe,  Patrizio   Pelliccione,  and  Antony  Tang  (2015)    Aligning  Qualita3ve,   Real-­‐Time,  and  Probabilis3c  Property  Specifica3on   PaBerns  Using  a  Structured  English  Grammar,  IEEE   Transac,ons  on  SoIware  Engineering  (TSE),  To  appear.    
  • 22. Property specification patterns Property  paQerns   Occurrence   Order   Absence   Universality   Existence   Bounded   Existence   Precedence   Response   Chain     Precedence   Chain   Response   Ma>hew  B.  Dwyer,  George  S.  Avrunin,  and  James  C.  Corbe>.  1999.  PaBerns  in  property   specifica3ons  for  finite-­‐state  verifica3on.  In  Proceedings  of  the  21st  interna)onal   conference  on  SoKware  engineering  (ICSE  '99).  ACM,  New  York,  NY,  USA,  411-­‐420.  
  • 23. Patterns scope Global   Before  R   AIer  Q   Between  Q  and  R   AIer  Q  un,l  R   R   R   Q   Q   Q   Q   Q   R  R   R   Q   Q   Q  R   R   Q   Q  
  • 24. An example: Response pattern •  To describe cause-effect relationships between a pair of events/states. An occurrence of the first, the cause, must be followed by an occurrence of the second, the effect. Also known as Follows and Leads-to.
  • 25. Real-time specification patterns Sascha  Konrad  and  Be>y  H.  C.  Cheng.  2005.  Real-­‐3me  specifica3on  paBerns.   In  Proceedings  of  the  27th  interna)onal  conference  on  SoKware  engineering  (ICSE  '05).   ACM,  New  York,  NY,  USA,  372-­‐381.  
  • 27. Probabilistic Property patterns Lars  Grunske.  2008.  Specifica3on  paBerns  for  probabilis3c  quality  proper3es.   In  Proceedings  of  the  30th  interna)onal  conference  on  SoKware  engineering  (ICSE  '08).   ACM,  New  York,  NY,  USA,  31-­‐40.    
  • 29. Property specification patterns 40  newly  iden,fied  or  extended  paQerns  
  • 31.
  • 35.
  • 37. Example The  driver  is  alerted  via  an  audible  signal  if   the  speed  of  the  car  was  greater  than   65km/h,  the  distance  between  the  car  and   the  road  lane  markings  decreased  rapidly,   and,  in  the  meanwhile,  the  speed  of  the  car   was  not  decreased  under  60km/h.  
  • 38. Example If  the  driver  is  alerted  via  an  audible  signal  then  it   must  have  been  the  case  that  the  speed  of  the  car   was  greater  than  65km/h  and  aGerwards  the   distance  between  the  car  and  the  road  lane   markings  decreased  rapidly  and  aGerwards  the   speed  of  the  car  was  not  decre.9%.   The  driver  is  alerted  via  an  audible  signal  if   the  speed  of  the  car  was  greater  than   65km/h,  the  distance  between  the  car  and   the  road  lane  markings  decreased  rapidly,   and,  in  the  meanwhile,  the  speed  of  the  car   was  not  decreased  under  60km/h.  
  • 39. Example If  the  driver  is  alerted  via  an  audible  signal  then  it   must  have  been  the  case  that  the  speed  of  the  car   was  greater  than  65km/h  and  aGerwards  the   distance  between  the  car  and  the  road  lane   markings  decreased  rapidly  without  the  speed  of   the  car  was  decreased  under  60km/h  in  between   The  driver  is  alerted  via  an  audible  signal  if   the  speed  of  the  car  was  greater  than   65km/h,  the  distance  between  the  car  and   the  road  lane  markings  decreased  rapidly,   and,  in  the  meanwhile,  the  speed  of  the  car   was  not  decreased  under  60km/h.  
  • 40. Example If  the  driver  is  alerted  via  an  audible  signal  then  it   must  have  been  the  case  that  the  speed  of  the  car   was  greater  than  65km/h  and  aGerwards  the   distance  between  the  car  and  the  road  lane   markings  decreased  rapidly  without  the  speed  of   the  car  was  decreased  under  60km/h  in  between.   The  driver  is  alerted  via  an  audible  signal  if   the  speed  of  the  car  was  greater  than   65km/h,  the  distance  between  the  car  and   the  road  lane  markings  decreased  rapidly,   and,  in  the  meanwhile,  the  speed  of  the  car   was  not  decreased  under  60km/h.  
  • 41. hQp://ps-­‐paQerns.wikidot.com/     “A  paQern  system  does  not  belong  to  an  individual,  but  to  the  community  of   experts  and  prac,,oners  who  contribute  to  and  use  it.”  (Dwyer  et  al.)