MONAA: a Tool for Timed Pattern Matching with Automata-Based Acceleration

Podobne dokumenty
TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

deep learning for NLP (5 lectures)

Helena Boguta, klasa 8W, rok szkolny 2018/2019

Machine Learning for Data Science (CS4786) Lecture 11. Spectral Embedding + Clustering

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 8: Structured PredicCon 2

Proposal of thesis topic for mgr in. (MSE) programme in Telecommunications and Computer Science

Hard-Margin Support Vector Machines

TTIC 31190: Natural Language Processing

archivist: Managing Data Analysis Results

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

EXAMPLES OF CABRI GEOMETRE II APPLICATION IN GEOMETRIC SCIENTIFIC RESEARCH

Linear Classification and Logistic Regression. Pascal Fua IC-CVLab

Instrukcja obsługi User s manual

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Tychy, plan miasta: Skala 1: (Polish Edition)

Analysis of Movie Profitability STAT 469 IN CLASS ANALYSIS #2

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

2 nd ClimMani EU COST Action Meeting Poznań, Poland September, 2015

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Warsztaty Ocena wiarygodności badania z randomizacją

Zarządzanie sieciami telekomunikacyjnymi

Relaxation of the Cosmological Constant

WYŁĄCZNIK CZASOWY OUTDOOR TIMER

Gradient Coding using the Stochastic Block Model

Machine Learning for Data Science (CS4786) Lecture 24. Differential Privacy and Re-useable Holdout

Oxford PWN Polish English Dictionary (Wielki Slownik Polsko-angielski)

Knovel Math: Jakość produktu

The Overview of Civilian Applications of Airborne SAR Systems

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

Revenue Maximization. Sept. 25, 2018

Label-Noise Robust Generative Adversarial Networks

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

OpenPoland.net API Documentation

Previously on CSCI 4622

METHOD 2 -DIAGNOSTIC OUTSIDE

REHABILITATION OF MEDIUM-HEAD HYDROPOWER PLANTS WITH EXPLOITED TWIN-FRANCIS TURBINES.

CEE 111/211 Agenda Feb 17

Network Services for Spatial Data in European Geo-Portals and their Compliance with ISO and OGC Standards

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

PROCESORY ARM TRUDNO ZNALEŹĆ PROCESORY O TAK LICZNYCH, ORYGINALNYCH, NOWYCH, POMYSŁOWYCH ROZWIĄZANIACH!

Łukasz Reszka Wiceprezes Zarządu

Few-fermion thermometry

Financial support for start-uppres. Where to get money? - Equity. - Credit. - Local Labor Office - Six times the national average wage (22000 zł)

Programming with Invariants through Targeted Synthesis. John Sarracino


y = The Chain Rule Show all work. No calculator unless otherwise stated. If asked to Explain your answer, write in complete sentences.

BULLETIN 2 II TRAINING CAMP POLISH OPEN MTBO CHAMPIONSHIPS MICHAŁOWO TRAINING CAMP WORLD MTB ORIENTEERING CHAMPIONSHIPS

Przewody do linii napowietrznych Przewody z drutów okrągłych skręconych współosiowo

SHP / SHP-T Standard and Basic PLUS

Polski Krok Po Kroku: Tablice Gramatyczne (Polish Edition) By Anna Stelmach

Fig 5 Spectrograms of the original signal (top) extracted shaft-related GAD components (middle) and

MATLAB Neural Network Toolbox przegląd

Marzec: food, advertising, shopping and services, verb patterns, adjectives and prepositions, complaints - writing

Website review pureorganic.pl

Mixed-integer Convex Representability

A DIFFERENT APPROACH WHERE YOU NEED TO NAVIGATE IN THE CURRENT STREAMS AND MOVEMENTS WHICH ARE EMBEDDED IN THE CULTURE AND THE SOCIETY

MoA-Net: Self-supervised Motion Segmentation. Pia Bideau, Rakesh R Menon, Erik Learned-Miller

Verification in POMDPs

Clinical Trials. Anna Dziąg, MD, ąg,, Associate Director Site Start Up Quintiles

Projekt ICT for IST. Moduł Ruch i siły. Elżbieta Kawecka Seminarium dla nauczycieli, OEIiZK, 18 maja 2010

ETICS: Few words about the Polish market Dr. Jacek Michalak Stowarzyszenie na Rzecz Systemów Ociepleń (SSO), Warsaw, Poland

Jazz EB207S is a slim, compact and outstanding looking SATA to USB 2.0 HDD enclosure. The case is

tum.de/fall2018/ in2357

Explorers Summer Adventure Camp

Wprowadzenie do psql i SQL. Język komend psql. Podstawy instrukcji SELECT

Convolution semigroups with linear Jacobi parameters

General Catalogue. Product Line for Hearing Screening & Diagnostics

Stargard Szczecinski i okolice (Polish Edition)

Towards Stability Analysis of Data Transport Mechanisms: a Fluid Model and an Application

i pakietu programowego PALASM 4

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Projekt: Mikro zaprogramowane na sukces!

Steeple #3: Gödel s Silver Blaze Theorem. Selmer Bringsjord Are Humans Rational? Dec RPI Troy NY USA

Cracow University of Economics Poland

Logistic Regression. Machine Learning CS5824/ECE5424 Bert Huang Virginia Tech

ERASMUS + : Trail of extinct and active volcanoes, earthquakes through Europe. SURVEY TO STUDENTS.

Wyk lad 8: Leniwe metody klasyfikacji

JĘZYK ANGIELSKI ĆWICZENIA ORAZ REPETYTORIUM GRAMATYCZNE

KWESTIONARIUSZ OCENY RYZYKA / INSURANCE QUESTIONNAIRE

Baptist Church Records

Installation of EuroCert software for qualified electronic signature

OPRAWY I CZÊŒCI ZNORMALIZOWANE DO T OCZNIKÓW

Poniżej moje uwagi po zapoznaniu się z prezentowanymi zasadami:

Internet of Things Devices

DM-ML, DM-FL. Auxiliary Equipment and Accessories. Damper Drives. Dimensions. Descritpion

Zasady rejestracji i instrukcja zarządzania kontem użytkownika portalu

Arca. Design: Ronald Straubel

No matter how much you have, it matters how much you need

Extraclass. Football Men. Season 2009/10 - Autumn round

TACHOGRAPH SIMULATOR DTCOSIM

Patients price acceptance SELECTED FINDINGS

ZARZADZANIE RYZYKIEM WALUTOWYM PDF

EXPERTS IN ROOFING. Join our talented team and start your career today! Search Tecta America's Careers

Algorytm FIREFLY. Michał Romanowicz Piotr Wasilewski

Transkrypt:

https://github.com/maswag/monaa MONAA: a Tool for Timed Pattern Matching with Automata-Based Acceleration Masaki Waga 1, Ichiro Hasuo 1, and Kohei Suenaga 2 National Institute of Informatics 1 and Kyoto University 2 10 Apr. 2018, MT-CPS 2018 The authors are supported by ERATO HASUO Metamathematics for Systems Design Project (No. JPMJER1603), JST, Grants-in-Aid No. 15KT0012, JSPS, and JST PRESTO Grant Number JPMJPR15E5, Japan. 1

Timed Pattern Matching Input Time-series data (Logs of a car/ a robot) e.g., The gear of a car is high at 0.1s, at 0.3s, Timed Words high high (Sequence of events with timestamps) w = t Real-time spec. (Spec. useful for debugging) Output [Ulus et al., FORMATS 14] e.g., The gear of a car changes too frequently high,x<1 A = s 0 Timed Automata [Alur & Dill, TCS 94] The intervals where the spec. is satisfied in the data e.g., The gear M(w, changes A) ={(t, too frequently t 0 ) w (t,t0 in ) 20.3s-0.7s L(A)} 0 0.1 0.3 0.5 0.7 $,x<1 start s 1 s 2 s 3,x<1 2

MONAA Overview Command Line Interface (MONAA) Command line tool for timed pattern matching We can inspect a log The log is read lazily online monitor Text-based I/O C++ API (libmonaa) Execute timed pattern matching in a user s code Accelerated by Skipping [Waga et al., FORMATS 17] I/O by function/class 3

Outline 1. Algorithm in MONAA Skipping for timed pattern matching [Waga et al., FORMATS 17] 2. Frontend of MONAA Command line interface (CLI) / C++ API 3. Experiments 4

Skipping for String Matching STRONG_STRING STRING Find STRING (pattern) STRING from STRONG_STRING (target) STRING Brute-Force Search KMP Search [Knuth+, SIAM J. Comput. 77] S T R Match until the 3rd char. Table for length 3 partial match I N G * S T R I N * * S T R I * * * S T R 5 STRONG_STRING STRING STRING STRING STRING STRING Skip 2 trials!!

<latexit sha1_base64="loncgrluure2kisvschqhwwjl5g=">aaacnhicbzdlssqwfizt79bbqes3wufu0kh1gi4h3qhurnbumjyhzzwzg2laklnhkpnqbnwqnyk4umstz2cmduhtqodn+89jcv4olckg5z05i6nj4xotu9puzozc/ejlcencjjnm0osjtprvxaxioacjaivcprpyhem4jg6oh/7llwgjenwo/rtcmpwu6aro0kj25tsiocduzu0dzuaidysilw/lq/mbqediege2vnqurfthgbaxhfv+phua6ptt7urvq3lf0b/cl0wvlnvovx6ctskzgbryyyxp+v6kyc40ci5h4aazgztxg9adlpwkxwdcvfh6qncs6dbuou1rsav6fsjnsth9olkdmcnr89sbwv+8vobdwzaxks0qfp96qjtjigkdjkg7qgnh2beccs3sxym/zppxtdm7ngt/98p/xcvozbcrn+1v60dlhfnkhaysdekta1inj6rbmosto/jixsirc+88o2/o+1frifpoljmf5xx8aqyzpfk=</latexit> <latexit sha1_base64="loncgrluure2kisvschqhwwjl5g=">aaacnhicbzdlssqwfizt79bbqes3wufu0kh1gi4h3qhurnbumjyhzzwzg2laklnhkpnqbnwqnyk4umstz2cmduhtqodn+89jcv4olckg5z05i6nj4xotu9puzozc/ejlcencjjnm0osjtprvxaxioacjaivcprpyhem4jg6oh/7llwgjenwo/rtcmpwu6aro0kj25tsiocduzu0dzuaidysilw/lq/mbqediege2vnqurfthgbaxhfv+phua6ptt7urvq3lf0b/cl0wvlnvovx6ctskzgbryyyxp+v6kyc40ci5h4aazgztxg9adlpwkxwdcvfh6qncs6dbuou1rsav6fsjnsth9olkdmcnr89sbwv+8vobdwzaxks0qfp96qjtjigkdjkg7qgnh2beccs3sxym/zppxtdm7ngt/98p/xcvozbcrn+1v60dlhfnkhaysdekta1inj6rbmosto/jixsirc+88o2/o+1frifpoljmf5xx8aqyzpfk=</latexit> <latexit sha1_base64="loncgrluure2kisvschqhwwjl5g=">aaacnhicbzdlssqwfizt79bbqes3wufu0kh1gi4h3qhurnbumjyhzzwzg2laklnhkpnqbnwqnyk4umstz2cmduhtqodn+89jcv4olckg5z05i6nj4xotu9puzozc/ejlcencjjnm0osjtprvxaxioacjaivcprpyhem4jg6oh/7llwgjenwo/rtcmpwu6aro0kj25tsiocduzu0dzuaidysilw/lq/mbqediege2vnqurfthgbaxhfv+phua6ptt7urvq3lf0b/cl0wvlnvovx6ctskzgbryyyxp+v6kyc40ci5h4aazgztxg9adlpwkxwdcvfh6qncs6dbuou1rsav6fsjnsth9olkdmcnr89sbwv+8vobdwzaxks0qfp96qjtjigkdjkg7qgnh2beccs3sxym/zppxtdm7ngt/98p/xcvozbcrn+1v60dlhfnkhaysdekta1inj6rbmosto/jixsirc+88o2/o+1frifpoljmf5xx8aqyzpfk=</latexit> <latexit sha1_base64="loncgrluure2kisvschqhwwjl5g=">aaacnhicbzdlssqwfizt79bbqes3wufu0kh1gi4h3qhurnbumjyhzzwzg2laklnhkpnqbnwqnyk4umstz2cmduhtqodn+89jcv4olckg5z05i6nj4xotu9puzozc/ejlcencjjnm0osjtprvxaxioacjaivcprpyhem4jg6oh/7llwgjenwo/rtcmpwu6aro0kj25tsiocduzu0dzuaidysilw/lq/mbqediege2vnqurfthgbaxhfv+phua6ptt7urvq3lf0b/cl0wvlnvovx6ctskzgbryyyxp+v6kyc40ci5h4aazgztxg9adlpwkxwdcvfh6qncs6dbuou1rsav6fsjnsth9olkdmcnr89sbwv+8vobdwzaxks0qfp96qjtjigkdjkg7qgnh2beccs3sxym/zppxtdm7ngt/98p/xcvozbcrn+1v60dlhfnkhaysdekta1inj6rbmosto/jixsirc+88o2/o+1frifpoljmf5xx8aqyzpfk=</latexit> <latexit sha1_base64="8br93aflhb56zwn2tfrpjlld5z8=">aaacnhicbzbbsxtbfmdny2t1rrr12mvquiwqlx0pxkpyi+bfwaiqxcls5cuomz1dzt4kycmh8uih8skfhiritz/bybqh1vtbwj/f/72zef8kv9jigp70gksfpi5/wln11z6vb2w2t7yvbvyyat2rqcxcj9yckhp6kfhbdw6ap4mcq2tyy+5f3ykxmtmxom0htvlyy5euhb0ane+jbmzsl8ldywc+0khq2g87ycd2osjh3qq0w6dbyqglk7spneywpt8cpaynb81wgirv0uxbateidz0nmg/rmbnfchqf4tb2wzhjxhkduiiy+vfhiediwsfqd1lzfgxcvkvp6ddhhnsugxc00or+pvhy1nppmrjoloonfe/n4f+8fogjw7iuoi8qthh7afqoihmdj0ih0obanxwccypdx6m44yylddn7lgt2fuvfcxkqmbfx+ffw0xedxwr5qr6snmgks47ictkjpslihxkkv8mtd+/98p69l7fwhlfp7jb/yvvzcqfnpfo=</latexit> <latexit sha1_base64="8br93aflhb56zwn2tfrpjlld5z8=">aaacnhicbzbbsxtbfmdny2t1rrr12mvquiwqlx0pxkpyi+bfwaiqxcls5cuomz1dzt4kycmh8uih8skfhiritz/bybqh1vtbwj/f/72zef8kv9jigp70gksfpi5/wln11z6vb2w2t7yvbvyyat2rqcxcj9yckhp6kfhbdw6ap4mcq2tyy+5f3ykxmtmxom0htvlyy5euhb0ane+jbmzsl8ldywc+0khq2g87ycd2osjh3qq0w6dbyqglk7spneywpt8cpaynb81wgirv0uxbateidz0nmg/rmbnfchqf4tb2wzhjxhkduiiy+vfhiediwsfqd1lzfgxcvkvp6ddhhnsugxc00or+pvhy1nppmrjoloonfe/n4f+8fogjw7iuoi8qthh7afqoihmdj0ih0obanxwccypdx6m44yylddn7lgt2fuvfcxkqmbfx+ffw0xedxwr5qr6snmgks47ictkjpslihxkkv8mtd+/98p69l7fwhlfp7jb/yvvzcqfnpfo=</latexit> <latexit sha1_base64="8br93aflhb56zwn2tfrpjlld5z8=">aaacnhicbzbbsxtbfmdny2t1rrr12mvquiwqlx0pxkpyi+bfwaiqxcls5cuomz1dzt4kycmh8uih8skfhiritz/bybqh1vtbwj/f/72zef8kv9jigp70gksfpi5/wln11z6vb2w2t7yvbvyyat2rqcxcj9yckhp6kfhbdw6ap4mcq2tyy+5f3ykxmtmxom0htvlyy5euhb0ane+jbmzsl8ldywc+0khq2g87ycd2osjh3qq0w6dbyqglk7spneywpt8cpaynb81wgirv0uxbateidz0nmg/rmbnfchqf4tb2wzhjxhkduiiy+vfhiediwsfqd1lzfgxcvkvp6ddhhnsugxc00or+pvhy1nppmrjoloonfe/n4f+8fogjw7iuoi8qthh7afqoihmdj0ih0obanxwccypdx6m44yylddn7lgt2fuvfcxkqmbfx+ffw0xedxwr5qr6snmgks47ictkjpslihxkkv8mtd+/98p69l7fwhlfp7jb/yvvzcqfnpfo=</latexit> <latexit sha1_base64="8br93aflhb56zwn2tfrpjlld5z8=">aaacnhicbzbbsxtbfmdny2t1rrr12mvquiwqlx0pxkpyi+bfwaiqxcls5cuomz1dzt4kycmh8uih8skfhiritz/bybqh1vtbwj/f/72zef8kv9jigp70gksfpi5/wln11z6vb2w2t7yvbvyyat2rqcxcj9yckhp6kfhbdw6ap4mcq2tyy+5f3ykxmtmxom0htvlyy5euhb0ane+jbmzsl8ldywc+0khq2g87ycd2osjh3qq0w6dbyqglk7spneywpt8cpaynb81wgirv0uxbateidz0nmg/rmbnfchqf4tb2wzhjxhkduiiy+vfhiediwsfqd1lzfgxcvkvp6ddhhnsugxc00or+pvhy1nppmrjoloonfe/n4f+8fogjw7iuoi8qthh7afqoihmdj0ih0obanxwccypdx6m44yylddn7lgt2fuvfcxkqmbfx+ffw0xedxwr5qr6snmgks47ictkjpslihxkkv8mtd+/98p69l7fwhlfp7jb/yvvzcqfnpfo=</latexit> <latexit sha1_base64="g8/sgkr0wuuzx9mbyjbujor1qve=">aaacnnicbzbbt9swfmcdbhslbhtjymwimgcpi5xueztwcogcxcqkse1uoc5lseo4kf0yqyr6qxbz59itfw6gadd9bnyqw4a9ydjfv/97tt8/kzw0ynjcw3mxuvby1fprf2pzzdutzrv3f7aojichkfrhrhjuquknq5so4ko0wpnewwuypv76l9/bwfnoc5yveod8omumbuehxp3tkigj1lvwd9i5jzssmo5y8knhgi8huetjxop2wxdyc4n+3kcp2mjeeobhonn2ftzpsoa1rz+lsbvd0tbzupmrsgtr5abrkg7tkgqlxju3kiwcur9vfkoupnwciyc1z8hgdbp2nh5wjkvzydzrsbv670tnc2tneei6c47x9qm3hp/zrhvmx+na6rjc0olhoaxsfau6zjcm0obanxoccypdx6m45oylden7lotw6crpxuu/cfkqfvvchry1caythbjl9klidsmanjazmisc/calckvuvj/ejffb+/pquuk1m9vkuxl/7wgykaz0</latexit> <latexit sha1_base64="g8/sgkr0wuuzx9mbyjbujor1qve=">aaacnnicbzbbt9swfmcdbhslbhtjymwimgcpi5xueztwcogcxcqkse1uoc5lseo4kf0yqyr6qxbz59itfw6gadd9bnyqw4a9ydjfv/97tt8/kzw0ynjcw3mxuvby1fprf2pzzdutzrv3f7aojichkfrhrhjuquknq5so4ko0wpnewwuypv76l9/bwfnoc5yveod8omumbuehxp3tkigj1lvwd9i5jzssmo5y8knhgi8huetjxop2wxdyc4n+3kcp2mjeeobhonn2ftzpsoa1rz+lsbvd0tbzupmrsgtr5abrkg7tkgqlxju3kiwcur9vfkoupnwciyc1z8hgdbp2nh5wjkvzydzrsbv670tnc2tneei6c47x9qm3hp/zrhvmx+na6rjc0olhoaxsfau6zjcm0obanxoccypdx6m45oylden7lotw6crpxuu/cfkqfvvchry1caythbjl9klidsmanjazmisc/calckvuvj/ejffb+/pquuk1m9vkuxl/7wgykaz0</latexit> <latexit sha1_base64="g8/sgkr0wuuzx9mbyjbujor1qve=">aaacnnicbzbbt9swfmcdbhslbhtjymwimgcpi5xueztwcogcxcqkse1uoc5lseo4kf0yqyr6qxbz59itfw6gadd9bnyqw4a9ydjfv/97tt8/kzw0ynjcw3mxuvby1fprf2pzzdutzrv3f7aojichkfrhrhjuquknq5so4ko0wpnewwuypv76l9/bwfnoc5yveod8omumbuehxp3tkigj1lvwd9i5jzssmo5y8knhgi8huetjxop2wxdyc4n+3kcp2mjeeobhonn2ftzpsoa1rz+lsbvd0tbzupmrsgtr5abrkg7tkgqlxju3kiwcur9vfkoupnwciyc1z8hgdbp2nh5wjkvzydzrsbv670tnc2tneei6c47x9qm3hp/zrhvmx+na6rjc0olhoaxsfau6zjcm0obanxoccypdx6m45oylden7lotw6crpxuu/cfkqfvvchry1caythbjl9klidsmanjazmisc/calckvuvj/ejffb+/pquuk1m9vkuxl/7wgykaz0</latexit> <latexit sha1_base64="g8/sgkr0wuuzx9mbyjbujor1qve=">aaacnnicbzbbt9swfmcdbhslbhtjymwimgcpi5xueztwcogcxcqkse1uoc5lseo4kf0yqyr6qxbz59itfw6gadd9bnyqw4a9ydjfv/97tt8/kzw0ynjcw3mxuvby1fprf2pzzdutzrv3f7aojichkfrhrhjuquknq5so4ko0wpnewwuypv76l9/bwfnoc5yveod8omumbuehxp3tkigj1lvwd9i5jzssmo5y8knhgi8huetjxop2wxdyc4n+3kcp2mjeeobhonn2ftzpsoa1rz+lsbvd0tbzupmrsgtr5abrkg7tkgqlxju3kiwcur9vfkoupnwciyc1z8hgdbp2nh5wjkvzydzrsbv670tnc2tneei6c47x9qm3hp/zrhvmx+na6rjc0olhoaxsfau6zjcm0obanxoccypdx6m45oylden7lotw6crpxuu/cfkqfvvchry1caythbjl9klidsmanjazmisc/calckvuvj/ejffb+/pquuk1m9vkuxl/7wgykaz0</latexit> Find from Brute-Force Algorithm for Timed Pattern Matching w = 1st trial 2nd trial A = high,x<1 start s $,x<1 0 s 1 s 2 s 3 high 0 0.1 0.3 s 3,x<1 high 0.5 0.7 s 0 s 1 s 2 s 1 s 2 s 0 8 >< t 2 [0, 0.1) t >: 0 2 (0.3, 0.5] t 0 t 2 (0, 1) s 3 (pattern) (target) 1.2 t 8 >< t 2 [0, 0.1) t >: 0 2 (0.7, 1.1] t 0 t 2 (0, 1) 3rd trial s 0 s 1 s 2 s 1 8 >< t 2 [0.3, 0.5) s 3 t >: 0 2 (0.7, 1.2] M. t 0 Waga t 2 (0, (NII) 1) 6

<latexit sha1_base64="loncgrluure2kisvschqhwwjl5g=">aaacnhicbzdlssqwfizt79bbqes3wufu0kh1gi4h3qhurnbumjyhzzwzg2laklnhkpnqbnwqnyk4umstz2cmduhtqodn+89jcv4olckg5z05i6nj4xotu9puzozc/ejlcencjjnm0osjtprvxaxioacjaivcprpyhem4jg6oh/7llwgjenwo/rtcmpwu6aro0kj25tsiocduzu0dzuaidysilw/lq/mbqediege2vnqurfthgbaxhfv+phua6ptt7urvq3lf0b/cl0wvlnvovx6ctskzgbryyyxp+v6kyc40ci5h4aazgztxg9adlpwkxwdcvfh6qncs6dbuou1rsav6fsjnsth9olkdmcnr89sbwv+8vobdwzaxks0qfp96qjtjigkdjkg7qgnh2beccs3sxym/zppxtdm7ngt/98p/xcvozbcrn+1v60dlhfnkhaysdekta1inj6rbmosto/jixsirc+88o2/o+1frifpoljmf5xx8aqyzpfk=</latexit> <latexit sha1_base64="loncgrluure2kisvschqhwwjl5g=">aaacnhicbzdlssqwfizt79bbqes3wufu0kh1gi4h3qhurnbumjyhzzwzg2laklnhkpnqbnwqnyk4umstz2cmduhtqodn+89jcv4olckg5z05i6nj4xotu9puzozc/ejlcencjjnm0osjtprvxaxioacjaivcprpyhem4jg6oh/7llwgjenwo/rtcmpwu6aro0kj25tsiocduzu0dzuaidysilw/lq/mbqediege2vnqurfthgbaxhfv+phua6ptt7urvq3lf0b/cl0wvlnvovx6ctskzgbryyyxp+v6kyc40ci5h4aazgztxg9adlpwkxwdcvfh6qncs6dbuou1rsav6fsjnsth9olkdmcnr89sbwv+8vobdwzaxks0qfp96qjtjigkdjkg7qgnh2beccs3sxym/zppxtdm7ngt/98p/xcvozbcrn+1v60dlhfnkhaysdekta1inj6rbmosto/jixsirc+88o2/o+1frifpoljmf5xx8aqyzpfk=</latexit> <latexit sha1_base64="loncgrluure2kisvschqhwwjl5g=">aaacnhicbzdlssqwfizt79bbqes3wufu0kh1gi4h3qhurnbumjyhzzwzg2laklnhkpnqbnwqnyk4umstz2cmduhtqodn+89jcv4olckg5z05i6nj4xotu9puzozc/ejlcencjjnm0osjtprvxaxioacjaivcprpyhem4jg6oh/7llwgjenwo/rtcmpwu6aro0kj25tsiocduzu0dzuaidysilw/lq/mbqediege2vnqurfthgbaxhfv+phua6ptt7urvq3lf0b/cl0wvlnvovx6ctskzgbryyyxp+v6kyc40ci5h4aazgztxg9adlpwkxwdcvfh6qncs6dbuou1rsav6fsjnsth9olkdmcnr89sbwv+8vobdwzaxks0qfp96qjtjigkdjkg7qgnh2beccs3sxym/zppxtdm7ngt/98p/xcvozbcrn+1v60dlhfnkhaysdekta1inj6rbmosto/jixsirc+88o2/o+1frifpoljmf5xx8aqyzpfk=</latexit> <latexit sha1_base64="loncgrluure2kisvschqhwwjl5g=">aaacnhicbzdlssqwfizt79bbqes3wufu0kh1gi4h3qhurnbumjyhzzwzg2laklnhkpnqbnwqnyk4umstz2cmduhtqodn+89jcv4olckg5z05i6nj4xotu9puzozc/ejlcencjjnm0osjtprvxaxioacjaivcprpyhem4jg6oh/7llwgjenwo/rtcmpwu6aro0kj25tsiocduzu0dzuaidysilw/lq/mbqediege2vnqurfthgbaxhfv+phua6ptt7urvq3lf0b/cl0wvlnvovx6ctskzgbryyyxp+v6kyc40ci5h4aazgztxg9adlpwkxwdcvfh6qncs6dbuou1rsav6fsjnsth9olkdmcnr89sbwv+8vobdwzaxks0qfp96qjtjigkdjkg7qgnh2beccs3sxym/zppxtdm7ngt/98p/xcvozbcrn+1v60dlhfnkhaysdekta1inj6rbmosto/jixsirc+88o2/o+1frifpoljmf5xx8aqyzpfk=</latexit> <latexit sha1_base64="8br93aflhb56zwn2tfrpjlld5z8=">aaacnhicbzbbsxtbfmdny2t1rrr12mvquiwqlx0pxkpyi+bfwaiqxcls5cuomz1dzt4kycmh8uih8skfhiritz/bybqh1vtbwj/f/72zef8kv9jigp70gksfpi5/wln11z6vb2w2t7yvbvyyat2rqcxcj9yckhp6kfhbdw6ap4mcq2tyy+5f3ykxmtmxom0htvlyy5euhb0ane+jbmzsl8ldywc+0khq2g87ycd2osjh3qq0w6dbyqglk7spneywpt8cpaynb81wgirv0uxbateidz0nmg/rmbnfchqf4tb2wzhjxhkduiiy+vfhiediwsfqd1lzfgxcvkvp6ddhhnsugxc00or+pvhy1nppmrjoloonfe/n4f+8fogjw7iuoi8qthh7afqoihmdj0ih0obanxwccypdx6m44yylddn7lgt2fuvfcxkqmbfx+ffw0xedxwr5qr6snmgks47ictkjpslihxkkv8mtd+/98p69l7fwhlfp7jb/yvvzcqfnpfo=</latexit> <latexit sha1_base64="8br93aflhb56zwn2tfrpjlld5z8=">aaacnhicbzbbsxtbfmdny2t1rrr12mvquiwqlx0pxkpyi+bfwaiqxcls5cuomz1dzt4kycmh8uih8skfhiritz/bybqh1vtbwj/f/72zef8kv9jigp70gksfpi5/wln11z6vb2w2t7yvbvyyat2rqcxcj9yckhp6kfhbdw6ap4mcq2tyy+5f3ykxmtmxom0htvlyy5euhb0ane+jbmzsl8ldywc+0khq2g87ycd2osjh3qq0w6dbyqglk7spneywpt8cpaynb81wgirv0uxbateidz0nmg/rmbnfchqf4tb2wzhjxhkduiiy+vfhiediwsfqd1lzfgxcvkvp6ddhhnsugxc00or+pvhy1nppmrjoloonfe/n4f+8fogjw7iuoi8qthh7afqoihmdj0ih0obanxwccypdx6m44yylddn7lgt2fuvfcxkqmbfx+ffw0xedxwr5qr6snmgks47ictkjpslihxkkv8mtd+/98p69l7fwhlfp7jb/yvvzcqfnpfo=</latexit> <latexit sha1_base64="8br93aflhb56zwn2tfrpjlld5z8=">aaacnhicbzbbsxtbfmdny2t1rrr12mvquiwqlx0pxkpyi+bfwaiqxcls5cuomz1dzt4kycmh8uih8skfhiritz/bybqh1vtbwj/f/72zef8kv9jigp70gksfpi5/wln11z6vb2w2t7yvbvyyat2rqcxcj9yckhp6kfhbdw6ap4mcq2tyy+5f3ykxmtmxom0htvlyy5euhb0ane+jbmzsl8ldywc+0khq2g87ycd2osjh3qq0w6dbyqglk7spneywpt8cpaynb81wgirv0uxbateidz0nmg/rmbnfchqf4tb2wzhjxhkduiiy+vfhiediwsfqd1lzfgxcvkvp6ddhhnsugxc00or+pvhy1nppmrjoloonfe/n4f+8fogjw7iuoi8qthh7afqoihmdj0ih0obanxwccypdx6m44yylddn7lgt2fuvfcxkqmbfx+ffw0xedxwr5qr6snmgks47ictkjpslihxkkv8mtd+/98p69l7fwhlfp7jb/yvvzcqfnpfo=</latexit> <latexit sha1_base64="8br93aflhb56zwn2tfrpjlld5z8=">aaacnhicbzbbsxtbfmdny2t1rrr12mvquiwqlx0pxkpyi+bfwaiqxcls5cuomz1dzt4kycmh8uih8skfhiritz/bybqh1vtbwj/f/72zef8kv9jigp70gksfpi5/wln11z6vb2w2t7yvbvyyat2rqcxcj9yckhp6kfhbdw6ap4mcq2tyy+5f3ykxmtmxom0htvlyy5euhb0ane+jbmzsl8ldywc+0khq2g87ycd2osjh3qq0w6dbyqglk7spneywpt8cpaynb81wgirv0uxbateidz0nmg/rmbnfchqf4tb2wzhjxhkduiiy+vfhiediwsfqd1lzfgxcvkvp6ddhhnsugxc00or+pvhy1nppmrjoloonfe/n4f+8fogjw7iuoi8qthh7afqoihmdj0ih0obanxwccypdx6m44yylddn7lgt2fuvfcxkqmbfx+ffw0xedxwr5qr6snmgks47ictkjpslihxkkv8mtd+/98p69l7fwhlfp7jb/yvvzcqfnpfo=</latexit> <latexit sha1_base64="g8/sgkr0wuuzx9mbyjbujor1qve=">aaacnnicbzbbt9swfmcdbhslbhtjymwimgcpi5xueztwcogcxcqkse1uoc5lseo4kf0yqyr6qxbz59itfw6gadd9bnyqw4a9ydjfv/97tt8/kzw0ynjcw3mxuvby1fprf2pzzdutzrv3f7aojichkfrhrhjuquknq5so4ko0wpnewwuypv76l9/bwfnoc5yveod8omumbuehxp3tkigj1lvwd9i5jzssmo5y8knhgi8huetjxop2wxdyc4n+3kcp2mjeeobhonn2ftzpsoa1rz+lsbvd0tbzupmrsgtr5abrkg7tkgqlxju3kiwcur9vfkoupnwciyc1z8hgdbp2nh5wjkvzydzrsbv670tnc2tneei6c47x9qm3hp/zrhvmx+na6rjc0olhoaxsfau6zjcm0obanxoccypdx6m45oylden7lotw6crpxuu/cfkqfvvchry1caythbjl9klidsmanjazmisc/calckvuvj/ejffb+/pquuk1m9vkuxl/7wgykaz0</latexit> <latexit sha1_base64="g8/sgkr0wuuzx9mbyjbujor1qve=">aaacnnicbzbbt9swfmcdbhslbhtjymwimgcpi5xueztwcogcxcqkse1uoc5lseo4kf0yqyr6qxbz59itfw6gadd9bnyqw4a9ydjfv/97tt8/kzw0ynjcw3mxuvby1fprf2pzzdutzrv3f7aojichkfrhrhjuquknq5so4ko0wpnewwuypv76l9/bwfnoc5yveod8omumbuehxp3tkigj1lvwd9i5jzssmo5y8knhgi8huetjxop2wxdyc4n+3kcp2mjeeobhonn2ftzpsoa1rz+lsbvd0tbzupmrsgtr5abrkg7tkgqlxju3kiwcur9vfkoupnwciyc1z8hgdbp2nh5wjkvzydzrsbv670tnc2tneei6c47x9qm3hp/zrhvmx+na6rjc0olhoaxsfau6zjcm0obanxoccypdx6m45oylden7lotw6crpxuu/cfkqfvvchry1caythbjl9klidsmanjazmisc/calckvuvj/ejffb+/pquuk1m9vkuxl/7wgykaz0</latexit> <latexit sha1_base64="g8/sgkr0wuuzx9mbyjbujor1qve=">aaacnnicbzbbt9swfmcdbhslbhtjymwimgcpi5xueztwcogcxcqkse1uoc5lseo4kf0yqyr6qxbz59itfw6gadd9bnyqw4a9ydjfv/97tt8/kzw0ynjcw3mxuvby1fprf2pzzdutzrv3f7aojichkfrhrhjuquknq5so4ko0wpnewwuypv76l9/bwfnoc5yveod8omumbuehxp3tkigj1lvwd9i5jzssmo5y8knhgi8huetjxop2wxdyc4n+3kcp2mjeeobhonn2ftzpsoa1rz+lsbvd0tbzupmrsgtr5abrkg7tkgqlxju3kiwcur9vfkoupnwciyc1z8hgdbp2nh5wjkvzydzrsbv670tnc2tneei6c47x9qm3hp/zrhvmx+na6rjc0olhoaxsfau6zjcm0obanxoccypdx6m45oylden7lotw6crpxuu/cfkqfvvchry1caythbjl9klidsmanjazmisc/calckvuvj/ejffb+/pquuk1m9vkuxl/7wgykaz0</latexit> <latexit sha1_base64="g8/sgkr0wuuzx9mbyjbujor1qve=">aaacnnicbzbbt9swfmcdbhslbhtjymwimgcpi5xueztwcogcxcqkse1uoc5lseo4kf0yqyr6qxbz59itfw6gadd9bnyqw4a9ydjfv/97tt8/kzw0ynjcw3mxuvby1fprf2pzzdutzrv3f7aojichkfrhrhjuquknq5so4ko0wpnewwuypv76l9/bwfnoc5yveod8omumbuehxp3tkigj1lvwd9i5jzssmo5y8knhgi8huetjxop2wxdyc4n+3kcp2mjeeobhonn2ftzpsoa1rz+lsbvd0tbzupmrsgtr5abrkg7tkgqlxju3kiwcur9vfkoupnwciyc1z8hgdbp2nh5wjkvzydzrsbv670tnc2tneei6c47x9qm3hp/zrhvmx+na6rjc0olhoaxsfau6zjcm0obanxoccypdx6m45oylden7lotw6crpxuu/cfkqfvvchry1caythbjl9klidsmanjazmisc/calckvuvj/ejffb+/pquuk1m9vkuxl/7wgykaz0</latexit> Find from KMP-Style Algorithm for Timed Pattern Matching w = 1st trial Skip 1 trial!! 2nd trial A = high,x<1 start s $,x<1 0 s 1 s 2 s 3 high 0 0.1 0.3 s 3,x<1 high 0.5 0.7 s 0 s 1 s 2 s 1 s 2 s 0 8 >< t 2 [0, 0.1) t >: 0 2 (0.3, 0.5] t 0 t 2 (0, 1) s 3 (pattern) (target) 1.2 t 8 >< t 2 [0, 0.1) t >: 0 2 (0.7, 1.1] t 0 t 2 (0, 1) 2nd trial s 0 s 1 s 2 s 1 8 >< t 2 [0.3, 0.5) s 3 t >: 0 2 (0.7, 1.2] M. t 0 Waga t 2 (0, (NII) 1) 7

Problems in Skipping for Timed Pattern Matching The length of partial match is unbounded. String Matching Table for length 3 partial match S T R I N G * S T R I N * * S T R I * * * S T R Length 3 partial match in string matching S T R We construct for each length Infinitely many timestamps String Matching 8 Timed Pattern Matching Infinitely Many Tables!! Timed Pattern Matching Length 2 partial match in timed pattern matching 0 high Infinitely many timestamps t

Problems in Skipping for Timed Pattern Matching The length of partial match is unbounded. String Matching Table for length 3 partial match S T R I N G * S T R I N * * S T R I * * * S T R Infinitely many timestamps String Matching Length 3 partial match in string matching S T R Construct for each state Represent by a timed automaton Timed Pattern Matching Table for state s2 partial match 0 0 high 0 Timed Pattern Matching t high t high State s2 partial match in timed pattern matching high,x<1 s start 0 s 1 s 2,x<1 t 9

Problems in Skipping for Timed Pattern Matching The length of partial match is unbounded. Table for length 3 partial match S T R I N G * S T R I N * * S T R I * * * S T R Infinitely many timestamps Length 3 partial match in string matching S T R Construct for each state Represent by a timed automaton Table for state s2 partial match 0 0 high 0 State s2 partial match in timed pattern matching t high t high high,x<1 s start 0 s 1 s 2,x<1 t 10

Skipping for Timed Pattern Matching Table for state s2 partial match high,x<1 s start 0 s 1 s 2 high/x := 0,x<1 start s 1 s 0 s 1 s 2 /x := 0 high,x<1,x<1 We want to compare them high high/x := 0 high,x<1 start s 2 s 1 s 0 s 1 s 2 /x := 0,x<1 11

Skipping for Timed Pattern Matching Table for state s2 partial match high,x<1 s start 0 s 1 s 2 high/x := 0,x<1 start s 1 s 0 s 1 s 2 /x := 0 high,x<1,x<1 Product Emptiness Checking high high/x := 0 high,x<1 start s 2 s 1 s 0 s 1 s 2 /x := 0,x<1 12

Emptiness Checking by Zone Construction Labelled by a set of similar clock valuations represented by a zone s 1 a, x < 1 $,x>1 construct an NFA a s 1 0 <x<1 $ s 3 x>1 start s 0 s 3 start s 0 x =0 b b, x =1/x := 0 s 2 $, x<1 s 2 x =0 $ s 3 0 <x<1 Thm. (soundness and completeness) Zone automata maintain state reachability. 13

Outline 1. Algorithm in MONAA Skipping for timed pattern matching [Waga et al., FORMATS 17] 2. Frontend of MONAA Command line interface (CLI) / C++ API 3. Experiments 14

Input of MONAA (CLI) 15

Output of MONAA (CLI) 16

C++ API (libmonaa) User s Program e.g., online runtime verification C++ API (libmonaa) Get feedback Give Logs Execute timed pattern matching in a user s code Accelerated by Skipping I/O by function/class 17

Better Performance by libmonaa MONAA libmonaa Compile monaa TA/TRE Exec. Result Timed Word libmonaa (TA is hard-coded) libmonaa Compile Monitor TA Exec. Result More optimization!! Timed Word 18

Outline 1. Algorithm in MONAA Skipping for timed pattern matching [Waga et al., FORMATS 17] 2. Frontend of MONAA Command line interface (CLI) / C++ API 3. Experiments 19

Comparison with Montre MONAA Use timed automata We can also construct a TA from a TRE Accelerated by skipping Both command line and C++ interface Existing Tool (Montre) [Ulus, CAV 17] Use timed regular expression (online) On-the-fly construction of a state machine from TRE Only command line interface Our algorithm should work faster because of skipping

Experiments Monitoring of a Simulink model of an automatic transmission in a car. Model and spec. are from an automotive benchmark paper [Hoxha et al., ARCH 15] Events: gears: g1,g2,g3,g4 velocity: v >v, v v RPM: ω > ω, ω ω 21

Experiments Gear changes from g1 to g4 in 10 sec. and RPM changes to high enough, but velocity is still. g 1 g 2, true g 2 g 3, true g 3 g 4,xapple 10 /x := 0 g 4 3 g 1, true start?!!, true!!, true!!, true!!, true $,x>1!!, true? g 1, true g 2, true g 3, true g 1 g 2 g 3 g 4 g 4,xapple 10 /x := 0 22

Result of the Comparison Length of timed word Table 1. Execution time (sec.) MONAA (TRE) MONAA (TA) libmonaa (TA is hard coded) Montre (online) Montre (offline) 306 7.03 0.80 0.20 0.13 0.03 127,552 7.55 1.27 0.31 37.45 1.56 255,750 8.05 1.73 0.42 75.93 3.13 383,168 8.54 2.21 0.53 115.88 4.69 508,756 9.16 2.69 0.64 153.71 6.21 632,484 9.53 3.14 0.75 189.55 7.75 758,500 10.05 3.60 0.85 216.92 9.33 894,692 10.53 4.06 0.97 260.77 10.88 1,011,426 11.05 4.56 1.07 289.63 12.39 Efficient and online B up!! Efficient but offline only 23

Conclusion MONAA can inspect logs with timestamps fast (skipping) simple (text-based I/O) flexible (C++ API) 24

Future Works Theoretical Side: Investigate other techniques for efficient monitoring Practical Side: Case study of timed pattern matching https://github.com/maswag/monaa 25