• Tidak ada hasil yang ditemukan

Logika Temporal Linier (Linear-Time Temporal Logic, LTL)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Logika Temporal Linier (Linear-Time Temporal Logic, LTL)"

Copied!
172
0
0

Teks penuh

(1)

Logika Temporal Linier

(Linear-Time Temporal Logic, LTL)

Kuliah (Pengantar) Metode Formal Semester Ganjil 2015-2016

M. Arzaki Fakultas Informatika

Telkom University

FIF Tel-U

(2)

Acknowledgements

Slide ini disusun berdasarkan materi yang terdapat pada sumber-sumber berikut: Buku:

1 Logic in Computer Science: Modelling and Reasoning about Systems, Edisi 2,

2004,olehM. Huth dan M. Ryan (acuan utama).

2 Mathematical Logic for Computer Science, Edisi 2, 2000,olehM. Ben-Ari. 3 Practical Formal Methods Using Temporal Logics, 2011,olehMichael Fischer.

(3)

Slide kuliah:

1 Slide kuliah Metode Formal dan Topik dalam Logika Komputasional di

Fasilkom UI oleh B. H. Widjaja.

2 Slide kuliah Metode Formal di University of Bozen-Bolzano oleh Enrico

Franconi.

3 Slide kuliah Metode Formal dari Veri…ed Software Systems.

4 Slide kuliah Introduction to Computational Logic di Academia Sinica oleh

Bow-Yaw Wang.

5 Slide kuliah Linear Temporal Logic di California Institute of Technology oleh

Richard M. Murray.

6 Slide kuliah Linear and Branching Temporal Logics di Radboud University

Nijmegen oleh Frits Vaandrager.

7 Beberapa slide kuliah lain.

Beberapa gambar dapat diambil dari sumber-sumber di atas. Slide ini ditujukan untuk keperluan akademis di lingkungan FIF Telkom University. Jika Anda

(4)

Bahasan

1 Logika Temporal: Pendahuluan dan Motivasi

2 Pemodelan Waktu pada LTL

3 Operator Temporal dan Makna Intuitifnya

4 Sintaks Formal LTL

5 Semantik Formal LTL

6 LTL untuk Spesi…kasi Sistem Reaktif

(5)

Bahasan

1 Logika Temporal: Pendahuluan dan Motivasi

2 Pemodelan Waktu pada LTL

3 Operator Temporal dan Makna Intuitifnya

4 Sintaks Formal LTL

5 Semantik Formal LTL

6 LTL untuk Spesi…kasi Sistem Reaktif

7 Formula LTL Berdasarkan Semantiknya

(6)

Pendahuluan dan Motivasi

Dalam logika klasik – contohnya logika proposisi yang telah kita pelajari di awal perkuliahan – nilai kebenaran formula dievaluasi dalam suatu “dunia yang tetap” (…xed world ).

Contohnya, proposisi: “hari ini adalah hari Senin”hanya dapat bernilai benar (true/ T) atau salah (false/ F), tetapi tidak keduanya. Nilai kebenaran proposisi tersebut juga tetap (konstan).

Logika proposisi saja tidak cukup untuk memodelkan dan mengekspresikan proses pada suatu sistem yang dinamis (bukan hanya sistem komputasional). Mengapa kita tidak memakai logika predikat? Ingat kembali bahwasecara umum masalah satis…ability (keterpenuhan) pada logika predikat adalah masalah yang bersifat undecidable (tak terputuskan).

Dalam logika temporal, nilai kebenaran suatu formula dievaluasi dalam “suatu himpunan dunia” (set of worlds), akibatnya suatu formula yang menyatakan “hari ini adalah hari Senin” dapat dipenuhi di suatu dunia, tetapi tidak dipenuhi pada dunia yang lain.

(7)

Pendahuluan dan Motivasi

Dalam logika klasik – contohnya logika proposisi yang telah kita pelajari di awal perkuliahan – nilai kebenaran formula dievaluasi dalam suatu “dunia yang tetap” (…xed world ).

Contohnya, proposisi: “hari ini adalah hari Senin”hanya dapat bernilai benar (true/ T) atau salah (false/ F), tetapi tidak keduanya. Nilai kebenaran proposisi tersebut juga tetap (konstan).

Logika proposisi saja tidak cukup untuk memodelkan dan mengekspresikan proses pada suatu sistem yang dinamis (bukan hanya sistem komputasional). Mengapa kita tidak memakai logika predikat?

Ingat kembali bahwasecara umum masalah satis…ability (keterpenuhan) pada logika predikat adalah masalah yang bersifat undecidable (tak terputuskan).

Dalam logika temporal, nilai kebenaran suatu formula dievaluasi dalam “suatu himpunan dunia” (set of worlds), akibatnya suatu formula yang menyatakan “hari ini adalah hari Senin” dapat dipenuhi di suatu dunia, tetapi tidak dipenuhi pada dunia yang lain.

(8)

Pendahuluan dan Motivasi

Dalam logika klasik – contohnya logika proposisi yang telah kita pelajari di awal perkuliahan – nilai kebenaran formula dievaluasi dalam suatu “dunia yang tetap” (…xed world ).

Contohnya, proposisi: “hari ini adalah hari Senin”hanya dapat bernilai benar (true/ T) atau salah (false/ F), tetapi tidak keduanya. Nilai kebenaran proposisi tersebut juga tetap (konstan).

Logika proposisi saja tidak cukup untuk memodelkan dan mengekspresikan proses pada suatu sistem yang dinamis (bukan hanya sistem komputasional). Mengapa kita tidak memakai logika predikat? Ingat kembali bahwasecara umum masalah satis…ability (keterpenuhan) pada logika predikat adalah masalah yang bersifat undecidable (tak terputuskan).

Dalam logika temporal, nilai kebenaran suatu formula dievaluasi dalam “suatu himpunan dunia” (set of worlds), akibatnya suatu formula yang menyatakan “hari ini adalah hari Senin” dapat dipenuhi di suatu dunia, tetapi tidak dipenuhi pada dunia yang lain.

(9)

Pendahuluan dan Motivasi

Dalam logika klasik – contohnya logika proposisi yang telah kita pelajari di awal perkuliahan – nilai kebenaran formula dievaluasi dalam suatu “dunia yang tetap” (…xed world ).

Contohnya, proposisi: “hari ini adalah hari Senin”hanya dapat bernilai benar (true/ T) atau salah (false/ F), tetapi tidak keduanya. Nilai kebenaran proposisi tersebut juga tetap (konstan).

Logika proposisi saja tidak cukup untuk memodelkan dan mengekspresikan proses pada suatu sistem yang dinamis (bukan hanya sistem komputasional). Mengapa kita tidak memakai logika predikat? Ingat kembali bahwasecara umum masalah satis…ability (keterpenuhan) pada logika predikat adalah masalah yang bersifat undecidable (tak terputuskan).

Dalam logika temporal, nilai kebenaran suatu formula dievaluasi dalam “suatu himpunan dunia” (set of worlds), akibatnya suatu formula yang menyatakan “hari ini adalah hari Senin” dapat dipenuhi di suatu dunia, tetapi

(10)

Bagaimana cara kita berpindah dari satu dunia ke dunia lain bergantung pada cara kita melihat keterkaitan antar waktu.

Waktu akan dimodelkan dengan accessibility relation antar dunia. Logika temporal memperluas gagasan pada logika proposisi dengan

menambahkan operator temporal (temporal operators) yang diperlukan untuk berpindah dari satu dunia ke dunia lain.

Pemodelan waktu pada logika temporal dapat berupa:

1 pemodelan waktu-linier (linear-time) atau waktu-bercabang

(branching-time): waktu-linier biasanya dipakai untuk memodelkan sistem deterministik, sedangkan waktu-bercabang biasanya dipakai untuk

memodelkan sistem non-deterministik.

2 pemodelan waktu-kontinu (continuous-time) atau waktu-diskret

(discrete-time): waktu-kontinu biasanya dipakai pada komputer analog atau pada sistem yang terkait dengan sistem waktu-nyata (real-time system) yang memerlukan presisi tinggi terkait waktu, sedangkan waktu-diskret biasanya dipakai pada sistem yang tidak memerlukan pengawasan secara kontinu terus menerus atau presisi terkait waktunya agak longgar.

Logika temporal linier (linear-time temporal logic/ linear temporal logic, LTL) adalah suatu kerangka logika yang dapat dipakai untuk memodelkan suatu sistem dengan model waktu-linier dan bersifat diskrit. Salah satu sistem sederhana yang dapat dimodelkan dengan LTL adalah lampu lalu lintas jalan (tra¢ c light).

(11)

Bagaimana cara kita berpindah dari satu dunia ke dunia lain bergantung pada cara kita melihat keterkaitan antar waktu.

Waktu akan dimodelkan dengan accessibility relation antar dunia. Logika temporal memperluas gagasan pada logika proposisi dengan

menambahkan operator temporal (temporal operators) yang diperlukan untuk berpindah dari satu dunia ke dunia lain.

Pemodelan waktu pada logika temporal dapat berupa:

1 pemodelan waktu-linier (linear-time) atau waktu-bercabang

(branching-time): waktu-linier biasanya dipakai untuk memodelkan sistem deterministik, sedangkan waktu-bercabang biasanya dipakai untuk

memodelkan sistem non-deterministik.

2 pemodelan waktu-kontinu (continuous-time) atau waktu-diskret

(discrete-time): waktu-kontinu biasanya dipakai pada komputer analog atau pada sistem yang terkait dengan sistem waktu-nyata (real-time system) yang memerlukan presisi tinggi terkait waktu, sedangkan waktu-diskret biasanya dipakai pada sistem yang tidak memerlukan pengawasan secara kontinu terus menerus atau presisi terkait waktunya agak longgar.

Logika temporal linier (linear-time temporal logic/ linear temporal logic, LTL) adalah suatu kerangka logika yang dapat dipakai untuk memodelkan suatu sistem dengan model waktu-linier dan bersifat diskrit. Salah satu sistem sederhana yang dapat dimodelkan dengan LTL adalah lampu lalu lintas jalan (tra¢ c light).

(12)

Bagaimana cara kita berpindah dari satu dunia ke dunia lain bergantung pada cara kita melihat keterkaitan antar waktu.

Waktu akan dimodelkan dengan accessibility relation antar dunia. Logika temporal memperluas gagasan pada logika proposisi dengan

menambahkan operator temporal (temporal operators) yang diperlukan untuk berpindah dari satu dunia ke dunia lain.

Pemodelan waktu pada logika temporal dapat berupa:

1 pemodelan waktu-linier (linear-time) atau waktu-bercabang

(branching-time): waktu-linier biasanya dipakai untuk memodelkan sistem deterministik, sedangkan waktu-bercabang biasanya dipakai untuk

memodelkan sistem non-deterministik.

2 pemodelan waktu-kontinu (continuous-time) atau waktu-diskret

(discrete-time): waktu-kontinu biasanya dipakai pada komputer analog atau pada sistem yang terkait dengan sistem waktu-nyata (real-time system) yang memerlukan presisi tinggi terkait waktu, sedangkan waktu-diskret biasanya dipakai pada sistem yang tidak memerlukan pengawasan secara kontinu terus menerus atau presisi terkait waktunya agak longgar.

Logika temporal linier (linear-time temporal logic/ linear temporal logic, LTL) adalah suatu kerangka logika yang dapat dipakai untuk memodelkan suatu sistem dengan model waktu-linier dan bersifat diskrit. Salah satu sistem sederhana yang dapat dimodelkan dengan LTL adalah lampu lalu lintas jalan (tra¢ c light).

(13)

Bagaimana cara kita berpindah dari satu dunia ke dunia lain bergantung pada cara kita melihat keterkaitan antar waktu.

Waktu akan dimodelkan dengan accessibility relation antar dunia. Logika temporal memperluas gagasan pada logika proposisi dengan

menambahkan operator temporal (temporal operators) yang diperlukan untuk berpindah dari satu dunia ke dunia lain.

Pemodelan waktu pada logika temporal dapat berupa:

1 pemodelan waktu-linier (linear-time) atau waktu-bercabang

(branching-time): waktu-linier biasanya dipakai untuk memodelkan sistem deterministik, sedangkan waktu-bercabang biasanya dipakai untuk

memodelkan sistem non-deterministik.

2 pemodelan waktu-kontinu (continuous-time) atau waktu-diskret

(discrete-time): waktu-kontinu biasanya dipakai pada komputer analog atau pada sistem yang terkait dengan sistem waktu-nyata (real-time system) yang memerlukan presisi tinggi terkait waktu, sedangkan waktu-diskret biasanya dipakai pada sistem yang tidak memerlukan pengawasan secara kontinu terus menerus atau presisi terkait waktunya agak longgar.

Logika temporal linier (linear-time temporal logic/ linear temporal logic, LTL) adalah suatu kerangka logika yang dapat dipakai untuk memodelkan suatu sistem dengan model waktu-linier dan bersifat diskrit. Salah satu sistem sederhana yang dapat dimodelkan dengan LTL adalah lampu lalu lintas jalan (tra¢ c light).

(14)

Bagaimana cara kita berpindah dari satu dunia ke dunia lain bergantung pada cara kita melihat keterkaitan antar waktu.

Waktu akan dimodelkan dengan accessibility relation antar dunia. Logika temporal memperluas gagasan pada logika proposisi dengan

menambahkan operator temporal (temporal operators) yang diperlukan untuk berpindah dari satu dunia ke dunia lain.

Pemodelan waktu pada logika temporal dapat berupa:

1 pemodelan waktu-linier (linear-time) atau waktu-bercabang

(branching-time): waktu-linier biasanya dipakai untuk memodelkan sistem deterministik, sedangkan waktu-bercabang biasanya dipakai untuk

memodelkan sistem non-deterministik.

2 pemodelan waktu-kontinu (continuous-time) atau waktu-diskret

(discrete-time): waktu-kontinu biasanya dipakai pada komputer analog atau pada sistem yang terkait dengan sistem waktu-nyata (real-time system) yang memerlukan presisi tinggi terkait waktu, sedangkan waktu-diskret biasanya dipakai pada sistem yang tidak memerlukan pengawasan secara kontinu terus

(15)

Bahasan

1 Logika Temporal: Pendahuluan dan Motivasi

2 Pemodelan Waktu pada LTL

3 Operator Temporal dan Makna Intuitifnya

4 Sintaks Formal LTL

5 Semantik Formal LTL

6 LTL untuk Spesi…kasi Sistem Reaktif

7 Formula LTL Berdasarkan Semantiknya

(16)

Pemodelan Waktu pada LTL

Pada LTL, waktu dimodelkan secara diskrit dan linier.

Pada gambar di atas, 0; 1; 2; 3; : : : merepresentasikan state pada LTL. Secara umum, model waktu untuk LTL akan serupa (isomor…k) dengan himpunan bilangan asli N.

Catatan

(17)

Pandang ilustrasi berikut:

Misalkan terdapat himpunan proposisi P = fMonday; T uesday; : : : ; Sundayg dan himpunan state S = f0; 1; 2; : : :g, kita memiliki:

M onday bernilai T pada state 0;

7; 14; : : :, atau secara umum pada state ke-7k, k 2 N0

T uesday bernilai T pada state 1; 8; 15; : : :, atau secara umum pada state ke-7k + 1, k 2 N0

(18)

Pandang ilustrasi berikut:

Misalkan terdapat himpunan proposisi P = fMonday; T uesday; : : : ; Sundayg dan himpunan state S = f0; 1; 2; : : :g, kita memiliki:

M onday bernilai T pada state 0; 7;

14; : : :, atau secara umum pada state ke-7k, k 2 N0

T uesday bernilai T pada state 1; 8; 15; : : :, atau secara umum pada state ke-7k + 1, k 2 N0

(19)

Pandang ilustrasi berikut:

Misalkan terdapat himpunan proposisi P = fMonday; T uesday; : : : ; Sundayg dan himpunan state S = f0; 1; 2; : : :g, kita memiliki:

M onday bernilai T pada state 0; 7; 14; : : :, atau secara umum pada state

ke-7k, k 2 N0

T uesday bernilai T pada state 1; 8; 15; : : :, atau secara umum pada state ke-7k + 1, k 2 N0

(20)

Pandang ilustrasi berikut:

Misalkan terdapat himpunan proposisi P = fMonday; T uesday; : : : ; Sundayg dan himpunan state S = f0; 1; 2; : : :g, kita memiliki:

M onday bernilai T pada state 0; 7; 14; : : :, atau secara umum pada state ke-7k, k 2 N0

T uesday bernilai T pada state 1;

8; 15; : : :, atau secara umum pada state ke-7k + 1, k 2 N0

(21)

Pandang ilustrasi berikut:

Misalkan terdapat himpunan proposisi P = fMonday; T uesday; : : : ; Sundayg dan himpunan state S = f0; 1; 2; : : :g, kita memiliki:

M onday bernilai T pada state 0; 7; 14; : : :, atau secara umum pada state ke-7k, k 2 N0

T uesday bernilai T pada state 1; 8;

15; : : :, atau secara umum pada state ke-7k + 1, k 2 N0

(22)

Pandang ilustrasi berikut:

Misalkan terdapat himpunan proposisi P = fMonday; T uesday; : : : ; Sundayg dan himpunan state S = f0; 1; 2; : : :g, kita memiliki:

M onday bernilai T pada state 0; 7; 14; : : :, atau secara umum pada state ke-7k, k 2 N0

T uesday bernilai T pada state 1; 8; 15; : : :, atau secara umum pada state

ke-7k + 1, k 2 N0

(23)

Pandang ilustrasi berikut:

Misalkan terdapat himpunan proposisi P = fMonday; T uesday; : : : ; Sundayg dan himpunan state S = f0; 1; 2; : : :g, kita memiliki:

M onday bernilai T pada state 0; 7; 14; : : :, atau secara umum pada state ke-7k, k 2 N0

T uesday bernilai T pada state 1; 8; 15; : : :, atau secara umum pada state ke-7k + 1, k 2 N0

(24)

Bahasan

1 Logika Temporal: Pendahuluan dan Motivasi

2 Pemodelan Waktu pada LTL

3 Operator Temporal dan Makna Intuitifnya

4 Sintaks Formal LTL

5 Semantik Formal LTL

6 LTL untuk Spesi…kasi Sistem Reaktif

(25)

Operator Temporal dan Makna Intuitifnya

Operator temporal pada LTL terdiri dari: operator uner: X; F; G

(26)

Misalkan dan adalah dua formula LTL, berikut adalah makna intutif dari formula-formula dengan operator utama yang berupa operator temporal

X : benar pada state berikutnya,

is true in the neXt moment of time. Operator X disebut dengan operator next atau operator “X”

F : benar pada suatu state (saat ini atau suatu state berikutnya), is true in the Future (or present) moment of time atau is Finally true. Operator F disebut dengan operator future atau operator “F”. G : benar pada semua state (saat ini dan semua state berikutnya), holds Globally in the moment of time. Operator G disebut dengan operator global atau operator “G”.

U : benar hingga suatu state ketika benar, is true Until some future moment when is true. Operator U disebut dengan operator until atau operator “U”.

W : akan selalu benar, kecuali bila benar maka boleh tidak benar Operator W disebut dengan operator “Weak-until” atau operaror “W”.

R : akan selau benar hingga dan pada state ketika benar untuk kali pertama; bila tidak pernah benar, maka harus selamanya benar, the truth of Releases the truth of . Operator R disebut dengan operator release atau operator “R”.

(27)

Misalkan dan adalah dua formula LTL, berikut adalah makna intutif dari formula-formula dengan operator utama yang berupa operator temporal

X : benar pada state berikutnya, is true in the neXt moment of time. Operator X disebut dengan operator next atau operator “X”

F : benar pada suatu state (saat ini atau suatu state berikutnya),

is true in the Future (or present) moment of time atau is Finally true. Operator F disebut dengan operator future atau operator “F”. G : benar pada semua state (saat ini dan semua state berikutnya), holds Globally in the moment of time. Operator G disebut dengan operator global atau operator “G”.

U : benar hingga suatu state ketika benar, is true Until some future moment when is true. Operator U disebut dengan operator until atau operator “U”.

W : akan selalu benar, kecuali bila benar maka boleh tidak benar Operator W disebut dengan operator “Weak-until” atau operaror “W”.

R : akan selau benar hingga dan pada state ketika benar untuk kali pertama; bila tidak pernah benar, maka harus selamanya benar, the truth of Releases the truth of . Operator R disebut dengan operator release atau operator “R”.

(28)

Misalkan dan adalah dua formula LTL, berikut adalah makna intutif dari formula-formula dengan operator utama yang berupa operator temporal

X : benar pada state berikutnya, is true in the neXt moment of time. Operator X disebut dengan operator next atau operator “X”

F : benar pada suatu state (saat ini atau suatu state berikutnya), is true in the Future (or present) moment of time atau is Finally true. Operator F disebut dengan operator future atau operator “F”. G : benar pada semua state (saat ini dan semua state berikutnya),

holds Globally in the moment of time. Operator G disebut dengan operator global atau operator “G”.

U : benar hingga suatu state ketika benar, is true Until some future moment when is true. Operator U disebut dengan operator until atau operator “U”.

W : akan selalu benar, kecuali bila benar maka boleh tidak benar Operator W disebut dengan operator “Weak-until” atau operaror “W”.

R : akan selau benar hingga dan pada state ketika benar untuk kali pertama; bila tidak pernah benar, maka harus selamanya benar, the truth of Releases the truth of . Operator R disebut dengan operator release atau operator “R”.

(29)

Misalkan dan adalah dua formula LTL, berikut adalah makna intutif dari formula-formula dengan operator utama yang berupa operator temporal

X : benar pada state berikutnya, is true in the neXt moment of time. Operator X disebut dengan operator next atau operator “X”

F : benar pada suatu state (saat ini atau suatu state berikutnya), is true in the Future (or present) moment of time atau is Finally true. Operator F disebut dengan operator future atau operator “F”. G : benar pada semua state (saat ini dan semua state berikutnya), holds Globally in the moment of time. Operator G disebut dengan operator global atau operator “G”.

U : benar hingga suatu state ketika benar,

is true Until some future moment when is true. Operator U disebut dengan operator until atau operator “U”.

W : akan selalu benar, kecuali bila benar maka boleh tidak benar Operator W disebut dengan operator “Weak-until” atau operaror “W”.

R : akan selau benar hingga dan pada state ketika benar untuk kali pertama; bila tidak pernah benar, maka harus selamanya benar, the truth of Releases the truth of . Operator R disebut dengan operator release atau operator “R”.

(30)

Misalkan dan adalah dua formula LTL, berikut adalah makna intutif dari formula-formula dengan operator utama yang berupa operator temporal

X : benar pada state berikutnya, is true in the neXt moment of time. Operator X disebut dengan operator next atau operator “X”

F : benar pada suatu state (saat ini atau suatu state berikutnya), is true in the Future (or present) moment of time atau is Finally true. Operator F disebut dengan operator future atau operator “F”. G : benar pada semua state (saat ini dan semua state berikutnya), holds Globally in the moment of time. Operator G disebut dengan operator global atau operator “G”.

U : benar hingga suatu state ketika benar, is true Until some future moment when is true. Operator U disebut dengan operator until atau operator “U”.

W : akan selalu benar, kecuali bila benar maka boleh tidak benar

Operator W disebut dengan operator “Weak-until” atau operaror “W”. R : akan selau benar hingga dan pada state ketika benar untuk kali pertama; bila tidak pernah benar, maka harus selamanya benar, the truth of Releases the truth of . Operator R disebut dengan operator release atau operator “R”.

(31)

Misalkan dan adalah dua formula LTL, berikut adalah makna intutif dari formula-formula dengan operator utama yang berupa operator temporal

X : benar pada state berikutnya, is true in the neXt moment of time. Operator X disebut dengan operator next atau operator “X”

F : benar pada suatu state (saat ini atau suatu state berikutnya), is true in the Future (or present) moment of time atau is Finally true. Operator F disebut dengan operator future atau operator “F”. G : benar pada semua state (saat ini dan semua state berikutnya), holds Globally in the moment of time. Operator G disebut dengan operator global atau operator “G”.

U : benar hingga suatu state ketika benar, is true Until some future moment when is true. Operator U disebut dengan operator until atau operator “U”.

W : akan selalu benar, kecuali bila benar maka boleh tidak benar Operator W disebut dengan operator “Weak-until” atau operaror “W”.

R : akan selau benar hingga dan pada state ketika benar untuk kali

the truth of Releases the truth of . Operator R disebut dengan operator release atau operator “R”.

(32)

Misalkan dan adalah dua formula LTL, berikut adalah makna intutif dari formula-formula dengan operator utama yang berupa operator temporal

X : benar pada state berikutnya, is true in the neXt moment of time. Operator X disebut dengan operator next atau operator “X”

F : benar pada suatu state (saat ini atau suatu state berikutnya), is true in the Future (or present) moment of time atau is Finally true. Operator F disebut dengan operator future atau operator “F”. G : benar pada semua state (saat ini dan semua state berikutnya), holds Globally in the moment of time. Operator G disebut dengan operator global atau operator “G”.

U : benar hingga suatu state ketika benar, is true Until some future moment when is true. Operator U disebut dengan operator until atau operator “U”.

W : akan selalu benar, kecuali bila benar maka boleh tidak benar Operator W disebut dengan operator “Weak-until” atau operaror “W”.

(33)
(34)

Notasi Lain

Beberapa literatur juga memakai notasi-notasi berikut: untuk menyatakan X untuk menyatakan F untuk menyatakan G U( ; ) untuk menyatakan U W( ; ) untuk menyatakan W R( ; ) untuk menyatakan R

(35)

Contoh Translasi Sederhana

Berikut adalah beberapa contoh translasi sederhana yang melibatkan operator temporal pada LTL.

1 If a message is sent to a receiver, then the message will eventually be received

atau dalam bahasa Indonesia: jika pesan dikirimkan ke suatu penerima, maka suatu saat pesan akan diterima. Misalkan proposisi yang digunakan adalah send_msg : pesan dikrimkan ke suatu penerima dan receive_msg : pesan diterima, maka translasinya menjadi:

(send_msg) ! F (receive_msg).

2 It is always the case that, if either ‘have_passport’or ‘have_ticket’is

false, then in the next moment in time ‘board_f ligt’will also be false ditranslasikan menjadi:

G((:have_passport) _ (:have_ticket) ! X (:board_flight)).

3 If something is born, then it is living up until the point in time that it

(36)

Contoh Translasi Sederhana

Berikut adalah beberapa contoh translasi sederhana yang melibatkan operator temporal pada LTL.

1 If a message is sent to a receiver, then the message will eventually be received

atau dalam bahasa Indonesia: jika pesan dikirimkan ke suatu penerima, maka suatu saat pesan akan diterima. Misalkan proposisi yang digunakan adalah send_msg : pesan dikrimkan ke suatu penerima dan receive_msg : pesan diterima, maka translasinya menjadi: (send_msg) ! F (receive_msg).

2 It is always the case that, if either ‘have_passport’or ‘have_ticket’is

false, then in the next moment in time ‘board_f ligt’will also be false ditranslasikan menjadi:

G((:have_passport) _ (:have_ticket) ! X (:board_flight)).

3 If something is born, then it is living up until the point in time that it

(37)

Contoh Translasi Sederhana

Berikut adalah beberapa contoh translasi sederhana yang melibatkan operator temporal pada LTL.

1 If a message is sent to a receiver, then the message will eventually be received

atau dalam bahasa Indonesia: jika pesan dikirimkan ke suatu penerima, maka suatu saat pesan akan diterima. Misalkan proposisi yang digunakan adalah send_msg : pesan dikrimkan ke suatu penerima dan receive_msg : pesan diterima, maka translasinya menjadi: (send_msg) ! F (receive_msg).

2 It is always the case that, if either ‘have_passport’or ‘have_ticket’is

false, then in the next moment in time ‘board_f ligt’will also be false ditranslasikan menjadi:

G((:have_passport) _ (:have_ticket) ! X (:board_flight)).

3 If something is born, then it is living up until the point in time that it

becomes dead ditranslasikan menjadi:

(38)

Contoh Translasi Sederhana

Berikut adalah beberapa contoh translasi sederhana yang melibatkan operator temporal pada LTL.

1 If a message is sent to a receiver, then the message will eventually be received

atau dalam bahasa Indonesia: jika pesan dikirimkan ke suatu penerima, maka suatu saat pesan akan diterima. Misalkan proposisi yang digunakan adalah send_msg : pesan dikrimkan ke suatu penerima dan receive_msg : pesan diterima, maka translasinya menjadi: (send_msg) ! F (receive_msg).

2 It is always the case that, if either ‘have_passport’or ‘have_ticket’is

false, then in the next moment in time ‘board_f ligt’will also be false ditranslasikan menjadi:

G((:have_passport) _ (:have_ticket) ! X (:board_flight)).

(39)

Bahasan

1 Logika Temporal: Pendahuluan dan Motivasi

2 Pemodelan Waktu pada LTL

3 Operator Temporal dan Makna Intuitifnya

4 Sintaks Formal LTL

5 Semantik Formal LTL

6 LTL untuk Spesi…kasi Sistem Reaktif

7 Formula LTL Berdasarkan Semantiknya

(40)

Sintaks Formal LTL

BNF untuk LTL

Misalkan P = fp j p proposisi atomg menyatakan himpunan seluruh proposisi atom yang ditinjau dan p 2 P. Formula dide…nisikan dengan BNF berikut

: := p j : j ^ j _ j ! j X j F j G j U j W j R

Formula dengan operator logika proposisi lain seperti dan $ dapat dipandang sebagai ringkasan dari formula-formula dengan operator-operator yang terdapat pada BNF. Kita akan menulis > sebagai ringkasan dari _ : atau : _ . Kemudian kita juga akan menulis ? sebagai ringkasan dari ^ : atau : ^ .

(41)

Formula yang Terbentuk dengan Baik (Well-Formed

Formula, WFF)

De…nisi (Formula yang terbentuk dengan baik (well-formed formula,

WFF))

Suatu formula LTL dikatakan sebagai formula yang terbentuk dengan baik (well-formed formula) bila dapat dikonstruksi dengan berhingga langkah (…nite step) berdasarkan BNF untuk LTL yang telah dijelaskan sebelumnya.

Catatan

Untuk selanjutnya, istilah formula akan selalu berarti well-formed formula, kecuali bila disebutkan selain itu.

Sebagai contoh, Up dan pGq bukan formula LTL karena

Uadalah operator biner dan G adalah operator uner.

(42)

Formula yang Terbentuk dengan Baik (Well-Formed

Formula, WFF)

De…nisi (Formula yang terbentuk dengan baik (well-formed formula,

WFF))

Suatu formula LTL dikatakan sebagai formula yang terbentuk dengan baik (well-formed formula) bila dapat dikonstruksi dengan berhingga langkah (…nite step) berdasarkan BNF untuk LTL yang telah dijelaskan sebelumnya.

Catatan

Untuk selanjutnya, istilah formula akan selalu berarti well-formed formula, kecuali bila disebutkan selain itu.

(43)

Presedens (Hirarki) Operator Logika pada LTL

Tabel urutan pengerjaan (presendens) operator logika pada LTL adalah Urutan Urutan operator berdasarkan

prioritas dari kiri ke kanan

1 :; X; F; G

2 U; R; W

3 ^; _; ; !; $

Kita dapat menggunakan tanda kurung “(” dan “)” untuk memperjelas operasi yang harus didahulukan. Suatu formula dikatakan dalam fully parenthesized expression (FPE) bila urutan pengerjaan operator dan operand dalam formula tersebut sudah diperjelas dengan pemberian tanda kurung.

(44)

Latihan

Jika p; q; r; s adalah proposisi-proposisi atom, tentukan FPE dari formula-formula berikut: 1 Fp ^ Gq ! pWr 2 F(p ! Gr) _ :qUp 3 FpW (qWr) 4 GFp ! F (Xq _ s) Kita memiliki: (1) ((Fp) ^ (Gq)) ! (pWr), (2) F (p ! Gr) _ ((:q) Up), (3) (Fp) W (qWr), (4) G (Fp) ! F (X (q) _ s)

(45)

Latihan

Jika p; q; r; s adalah proposisi-proposisi atom, tentukan FPE dari formula-formula berikut: 1 Fp ^ Gq ! pWr 2 F(p ! Gr) _ :qUp 3 FpW (qWr) 4 GFp ! F (Xq _ s) Kita memiliki: (1) ((Fp) ^ (Gq)) ! (pWr), (2) F (p ! Gr) _ ((:q) Up), (3) (Fp) W (qWr), (4) G (Fp) ! F (X (q) _ s)

(46)

Latihan

Jika p; q; r; s adalah proposisi-proposisi atom, tentukan FPE dari formula-formula berikut:

1 Fp ^ Gq ! pWr 2 F(p ! Gr) _ :qUp 3 FpW (qWr) 4 GFp ! F (Xq _ s)

Kita memiliki: (1) ((Fp) ^ (Gq)) ! (pWr), (2) F (p ! Gr) _ ((:q) Up),

(3) (Fp) W (qWr), (4) G (Fp) ! F (X (q) _ s)

(47)

Latihan

Jika p; q; r; s adalah proposisi-proposisi atom, tentukan FPE dari formula-formula berikut:

1 Fp ^ Gq ! pWr 2 F(p ! Gr) _ :qUp 3 FpW (qWr) 4 GFp ! F (Xq _ s)

Kita memiliki: (1) ((Fp) ^ (Gq)) ! (pWr), (2) F (p ! Gr) _ ((:q) Up), (3) (Fp) W (qWr),

(48)

Latihan

Jika p; q; r; s adalah proposisi-proposisi atom, tentukan FPE dari formula-formula berikut:

1 Fp ^ Gq ! pWr 2 F(p ! Gr) _ :qUp 3 FpW (qWr) 4 GFp ! F (Xq _ s)

Kita memiliki: (1) ((Fp) ^ (Gq)) ! (pWr), (2) F (p ! Gr) _ ((:q) Up), (3) (Fp) W (qWr), (4) G (Fp)! F (X (q) _ s)

(49)

Subformula LTL

Subformula LTL

1 Sebuah formula adalah subformula dari itu sendiri.

2 Jika dan adalah dua formula logika predikat yang dipakai untuk

membangun formula yang lebih kompleks, maka dan dikatakan subformula sejati (atau subformula murni) dari .

3 Subformula bersifat transitif: jika subformula dari dan subformula dari

, maka subformula dari .

Contoh

Misalkan adalah formulapW (qUr), maka subformula dari adalah (1)

(50)

Subformula LTL

Subformula LTL

1 Sebuah formula adalah subformula dari itu sendiri.

2 Jika dan adalah dua formula logika predikat yang dipakai untuk

membangun formula yang lebih kompleks, maka dan dikatakan subformula sejati (atau subformula murni) dari .

3 Subformula bersifat transitif: jika subformula dari dan subformula dari

, maka subformula dari .

Contoh

Misalkan adalah formulapW (qUr), maka subformula dari adalah (1) pW (qUr),(2)

(51)

Subformula LTL

Subformula LTL

1 Sebuah formula adalah subformula dari itu sendiri.

2 Jika dan adalah dua formula logika predikat yang dipakai untuk

membangun formula yang lebih kompleks, maka dan dikatakan subformula sejati (atau subformula murni) dari .

3 Subformula bersifat transitif: jika subformula dari dan subformula dari

, maka subformula dari .

Contoh

Misalkan adalah formulapW (qUr), maka subformula dari adalah (1) pW (qUr),(2)qUr,(3)

(52)

Subformula LTL

Subformula LTL

1 Sebuah formula adalah subformula dari itu sendiri.

2 Jika dan adalah dua formula logika predikat yang dipakai untuk

membangun formula yang lebih kompleks, maka dan dikatakan subformula sejati (atau subformula murni) dari .

3 Subformula bersifat transitif: jika subformula dari dan subformula dari

, maka subformula dari .

Contoh

Misalkan adalah formulapW (qUr), maka subformula dari adalah (1) pW (qUr),(2)qUr,(3)p,(4)

(53)

Subformula LTL

Subformula LTL

1 Sebuah formula adalah subformula dari itu sendiri.

2 Jika dan adalah dua formula logika predikat yang dipakai untuk

membangun formula yang lebih kompleks, maka dan dikatakan subformula sejati (atau subformula murni) dari .

3 Subformula bersifat transitif: jika subformula dari dan subformula dari

, maka subformula dari .

Contoh

Misalkan adalah formulapW (qUr), maka subformula dari adalah (1) pW (qUr),(2)qUr,(3)p,(4)q,dan (5)

(54)

Subformula LTL

Subformula LTL

1 Sebuah formula adalah subformula dari itu sendiri.

2 Jika dan adalah dua formula logika predikat yang dipakai untuk

membangun formula yang lebih kompleks, maka dan dikatakan subformula sejati (atau subformula murni) dari .

3 Subformula bersifat transitif: jika subformula dari dan subformula dari

, maka subformula dari .

Contoh

Misalkan adalah formulapW (qUr), maka subformula dari adalah (1) pW (qUr),(2)qUr,(3)p,(4)q,dan (5)r.

(55)

Pohon Urai (Parse Tree) untuk Formula LTL

Pohon urai (parse tree) dapat digunakan untuk menggambarkan struktur suatu formula LTL.

(56)

Pohon Urai (Parse Tree) untuk Formula LTL

Pohon urai (parse tree) dapat digunakan untuk menggambarkan struktur suatu formula LTL.

(57)

Bahasan

1 Logika Temporal: Pendahuluan dan Motivasi

2 Pemodelan Waktu pada LTL

3 Operator Temporal dan Makna Intuitifnya

4 Sintaks Formal LTL

5 Semantik Formal LTL

6 LTL untuk Spesi…kasi Sistem Reaktif

7 Formula LTL Berdasarkan Semantiknya

(58)

Model (Sistem Transisi) untuk LTL

Semantik formula LTL ditinjau pada sebuahmodelyang juga disebut sebagai sistem transisi/ transition system (beberapa literatur juga menyebutnya dengan struktur Kripke/ Kripke structure).

De…nisi (Model/ Sistem Transisi untuk LTL)

Sebuah model atau sistem transisi untuk LTL dengan himpunan proposisi atom P adalah tripelM = (S; !; L)dengan:

1 S adalah himpunan state

2 ! adalah relasi biner pada S,dengan perkataan lain ! S S yang

memenuhi sifat: untuk setiap s 2 S terdapat s0 2 S sehingga (s; s0) 2!, hal

ini juga dapat ditulis: untuk setiap s 2 S terdapat s02 S sehingga s ! s0

(dalam matematika diskret kita mengenal istilah bahwa ! adalah relasi total pada S)

(59)

Contoh Model Sederhana

Misalkan M = (S; !; L) adalah tripel yang ditinjau atas himpunan propososi atom P = fp; q; rg dengan

S = fs0; s1; s2g

!= f(s0; s1) ; (s0; s2) ; (s1; s0) ; (s1; s2) ; (s2; s2)g, hal ini juga dapat ditulis

dengan s0! s1, s0! s2, s1! s0, s1! s2, s2! s2

L : S ! 2P dengan L (s0) = fp; qg, L (s1) = fq; rg, L (s2) = r, hal ini juga

dapat dinyatakan dalam tabel berikut:

si s0 s1 s2

L (si) fp; qg fq; rg r

Label ini berarti proposisi p dan q benar di s0, proposisi q dan r benar di s1,

dan proposisi r benar di s2. Kemudian karena r 62 L (s0) maka r salah di s0,

(60)

Tripel M adalah model LTL yang dapat digambarkan dalam graf berarah dengan label-label berikut

Relasi transisi ! pada M harus bersifat total, apabila self loop pada s2

dihilangkan, maka M tidak lagi menjadi model LTL. Jika kita menemukan suatu tripel M yang relasi transisinya tidak bersifat total, maka kita dapat

(61)
(62)
(63)

Lintasan (Path) pada Model

De…nisi (Lintasan (path) pada model LTL)

Sebuath lintasan (path) pada model M = (S; !; L) adalah barisan tak berhingga state 1; 2; 3; : : :dengan sifat:

1

i2 S untuk setiap i 1 2

i! i+1 untuk setiap i 1

Selanjutnya lintasan (path) pada model tersebut akan dinotasikan dengan

1! 2! 3! . Suatu lintasan akan dinotasikan dengan .

(64)

Salah satu lintasan pada model tersebut adalah = 1! 2! 3!

= s1! s0! s1! s0! s2! s2! s2!

De…nisi (Su…ks i untuk lintasan,

i

)

Misalkan = 1! 2! 3! adalah sebuah lintasan pada model LTL M

dan i 2maka i adalah lintasan yang dimulai dari state

i, yaitu

i=

i! i+1 ! i+1! ,

sehingga kita memiliki

1 = 1! 2! 3! = , 2 2! 3! 4! , 3 = 3! 4! 5! , dan seterusnya

(65)

Salah satu lintasan pada model tersebut adalah = 1! 2! 3!

= s1! s0! s1! s0! s2! s2! s2!

De…nisi (Su…ks i untuk lintasan,

i

)

Misalkan = 1! 2! 3! adalah sebuah lintasan pada model LTL M

dan i 2maka i adalah lintasan yang dimulai dari state

i, yaitu

i=

i! i+1 ! i+1! ,

sehingga kita memiliki

1 = 1! 2! 3! = , 2 = 2! 3! 4! , 3 3! 4! 5! , dan seterusnya

(66)

Salah satu lintasan pada model tersebut adalah = 1! 2! 3!

= s1! s0! s1! s0! s2! s2! s2!

De…nisi (Su…ks i untuk lintasan,

i

)

Misalkan = 1! 2! 3! adalah sebuah lintasan pada model LTL M

dan i 2maka i adalah lintasan yang dimulai dari state

i, yaitu

i=

i! i+1 ! i+1! ,

sehingga kita memiliki

1 =

1! 2! 3! = ,

(67)

Contoh

Bila = s1! s0! s1! s0! s2! s2! s2! , maka kita memiliki

2 = s0! s1! s0! s2! s2! s2! 4 = s 0! s2! s2! s2! 5 = s 2! s2! s2! = 6= = n untuk n 5

(68)

Contoh

Bila = s1! s0! s1! s0! s2! s2! s2! , maka kita memiliki

2 = s 0! s1! s0! s2! s2! s2! 4 = s0! s2! s2! s2! 5 = s 2! s2! s2! = 6= = n untuk n 5

(69)

Contoh

Bila = s1! s0! s1! s0! s2! s2! s2! , maka kita memiliki

2 = s 0! s1! s0! s2! s2! s2! 4 = s 0! s2! s2! s2! 5 = s2! s2! s2! = 6= = n untuk n 5

(70)

Contoh

Bila = s1! s0! s1! s0! s2! s2! s2! , maka kita memiliki

2 = s 0! s1! s0! s2! s2! s2! 4 = s 0! s2! s2! s2! 5 = s 2! s2! s2! = 6= = n untuk n 5

(71)

Pada model LTL sebelumnya, semua lintasan pada M dapat direpresentasikan dalam pohon (tree) berikut

(72)

Semantik LTL pada Sebuah Lintasan

De…nisi ( j= )

Misalkan M = (S; !; L) adalah sebuah model LTL dan

= 1! 2! 3! adalah sebuah lintasan pada M. Untuk setiap formula

LTL , notasi j= berarti lintasan memenuhi formula . Relasi j= dide…nisikan sebagai berikut

De…nisi terkait operator logika proposisi:

j= > (ini berarti > selalu benar/ dipenuhi pada sembarang lintasan apapun).

6j= ? (ini berarti ? selalu salah/ tak dipenuhi pada sembarang lintasan apapun).

j= p jikka p 2 L ( 1).

(73)

De…nisi tekait operator temporal: j= X jikka 2j=

j= F jikka terdapat i 1 yang memenuhi ij=

j= G jikka untuk semua i 1 berlaku ij=

j= U jikka terdapat i 1 sehingga ij= dan setiap 1 j i 1

memenuhi jj= j= W jikka:

I terdapat i 1sehingga i

j= dan setiap 1 j i 1memenuhi j

j= , atau

I untuk setiap i 1berlaku i

j=

j= R jikka:

I terdapat i 1sehingga ij= dan setiap 1 j imemenuhi jj= , atau

I untuk setiap i 1berlaku i

(74)

De…nisi Operator Temporal dengan Logika Predikat

Misalkan domain untuk i dan j adalah N = f1; 2; 3; : : :g. j= X jikka 2j= . j= F jikka 9i ij= . j= G jikka 8i ij= . j= U jikka 9i ij= ^8j (1 j i 1) ! jj= . j= W jikka 9i i j= ^8j (1 j i 1) ! jj= _ 8i i j= . j= R jikka 9i i j= ^8j (1 j i) ! jj= _ 8i ij= .

(75)
(76)

Makna Operator U dan W

Perhatikan bahwa baik operator U maupun operator W tidak menjelaskan apa yang harus terjadi setelah “until ” tercapai. Hal ini dapat berbeda dengan “until ” yang terdapat pada bahasa alami.

Contoh

Perhatikan kalimat berikut:

“John smoked until he was 22 years old ” berarti bahwa: “John continually smoked up until he was 22 years old ” “John gave up smoking after his 22nd birthday ”

Jika s adalah proposisi “John smoke” dan t adalah proposisi “John is 22 years old ” maka translasi yang tepat dari “John smoked until he was 22 years old ” adalah:

sU (t ^ G:s), bukan sUt karena formula sUt juga dapat benar ketika “John smoked until he was 22 years old, yet he stopped before he died in 80.”

(77)

Makna Operator U dan W

Perhatikan bahwa baik operator U maupun operator W tidak menjelaskan apa yang harus terjadi setelah “until ” tercapai. Hal ini dapat berbeda dengan “until ” yang terdapat pada bahasa alami.

Contoh

Perhatikan kalimat berikut:

“John smoked until he was 22 years old ” berarti bahwa: “John continually smoked up until he was 22 years old ” “John gave up smoking after his 22nd birthday ”

Jika s adalah proposisi “John smoke” dan t adalah proposisi “John is 22 years old ” maka translasi yang tepat dari “John smoked until he was 22 years old ” adalah: sU (t ^ G:s), bukan sUt karena formula sUt juga dapat benar ketika “John smoked until he was 22 years old, yet he stopped before he died in 80.”

(78)

Semantik LTL pada Sebuah Model

De…nisi

Misalkan M = (S; !; L) adalah model LTL, s 2 S, dan adalah sebuah formula LTL. Kita katakan terpenuhi (satis…able) pada state s, ditulis

M; s j= ,

(79)

Latihan

Dari model LTL berikut:

Periksa apakah: 1 M; s 0j= p ^ q 2 M; s 0j= :r 3 M; s 0j= > 4 M; s0j= Xr

(80)

1 M; s

0j= p ^ q karena untuk setiap lintasan = s0! kita memiliki

p; q 2 L (s0), akibatnya j= p ^ q, sehingga M; s0j= p ^ q.

2 M; s

0j= :r karena untuk setiap lintasan = s0! kita memiliki

r 62 L (s0), akibatnya 6j= r, sehingga j= :r, sehingga M; s0j= :r.

3 M; s

0j= >, karena berdasarkan de…nisi setiap lintasan memenuhi j= >,

akibatnya M; s0j= >.

4 M; s

0j= Xr, karena lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! , hanya memiliki dua kemungkinan untuk 1, yaitu: I = s0! s1! , karena r 2 L (s1), maka 2j= r, akibatnya j= Xr,

I = s0! s2! , karena r 2 L (s2), maka 2j= r, akibatnya j= Xr.

Karena setiap lintasan yang dimulai dari s0memenuhi j= Xr, maka berlaku

M; s0j= Xr.

5 M; s

06j= X (q ^ r), atau dapat ditulis M; s0j= :X (q ^ r). Tinjau lintasan

= s0! s2! s2! , kita memiliki q 62 L (s2), akibatnya 2j= :q,

sehingga j= X:q. Akibatnya tidak mungkin M; s0j= X (q ^ r). Jadi

(81)

1 M; s

0j= p ^ q karena untuk setiap lintasan = s0! kita memiliki

p; q 2 L (s0), akibatnya j= p ^ q, sehingga M; s0j= p ^ q.

2 M; s

0j= :r karena untuk setiap lintasan = s0! kita memiliki

r 62 L (s0), akibatnya 6j= r, sehingga j= :r, sehingga M; s0j= :r.

3 M; s

0j= >, karena berdasarkan de…nisi setiap lintasan memenuhi j= >,

akibatnya M; s0j= >.

4 M; s

0j= Xr, karena lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! , hanya memiliki dua kemungkinan untuk 1, yaitu: I = s0! s1! , karena r 2 L (s1), maka 2j= r, akibatnya j= Xr,

I = s0! s2! , karena r 2 L (s2), maka 2j= r, akibatnya j= Xr.

Karena setiap lintasan yang dimulai dari s0memenuhi j= Xr, maka berlaku

M; s0j= Xr.

5 M; s

06j= X (q ^ r), atau dapat ditulis M; s0j= :X (q ^ r). Tinjau lintasan

= s0! s2! s2! , kita memiliki q 62 L (s2), akibatnya 2j= :q,

sehingga j= X:q. Akibatnya tidak mungkin M; s0j= X (q ^ r). Jadi

(82)

1 M; s

0j= p ^ q karena untuk setiap lintasan = s0! kita memiliki

p; q 2 L (s0), akibatnya j= p ^ q, sehingga M; s0j= p ^ q.

2 M; s

0j= :r karena untuk setiap lintasan = s0! kita memiliki

r 62 L (s0), akibatnya 6j= r, sehingga j= :r, sehingga M; s0j= :r.

3 M; s

0j= >, karena berdasarkan de…nisi setiap lintasan memenuhi j= >,

akibatnya M; s0j= >.

4 M; s

0j= Xr, karena lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! , hanya memiliki dua kemungkinan untuk 1, yaitu: I = s0! s1! , karena r 2 L (s1), maka 2j= r, akibatnya j= Xr,

I = s0! s2! , karena r 2 L (s2), maka 2j= r, akibatnya j= Xr.

Karena setiap lintasan yang dimulai dari s0memenuhi j= Xr, maka berlaku

M; s0j= Xr.

5 M; s

06j= X (q ^ r), atau dapat ditulis M; s0j= :X (q ^ r). Tinjau lintasan

= s0! s2! s2! , kita memiliki q 62 L (s2), akibatnya 2j= :q,

sehingga j= X:q. Akibatnya tidak mungkin M; s0j= X (q ^ r). Jadi

(83)

1 M; s

0j= p ^ q karena untuk setiap lintasan = s0! kita memiliki

p; q 2 L (s0), akibatnya j= p ^ q, sehingga M; s0j= p ^ q.

2 M; s

0j= :r karena untuk setiap lintasan = s0! kita memiliki

r 62 L (s0), akibatnya 6j= r, sehingga j= :r, sehingga M; s0j= :r.

3 M; s

0j= >, karena berdasarkan de…nisi setiap lintasan memenuhi j= >,

akibatnya M; s0j= >.

4 M; s

0j= Xr, karena lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! , hanya memiliki dua kemungkinan untuk 1, yaitu: I = s0! s1! , karena r 2 L (s1), maka 2j= r, akibatnya j= Xr,

I = s0! s2! , karena r 2 L (s2), maka 2j= r, akibatnya j= Xr.

Karena setiap lintasan yang dimulai dari s0memenuhi j= Xr, maka berlaku

M; s0j= Xr.

5 M; s

06j= X (q ^ r), atau dapat ditulis M; s0j= :X (q ^ r). Tinjau lintasan

= s0! s2! s2! , kita memiliki q 62 L (s2), akibatnya 2j= :q,

sehingga j= X:q. Akibatnya tidak mungkin M; s0j= X (q ^ r). Jadi

(84)

1 M; s

0j= p ^ q karena untuk setiap lintasan = s0! kita memiliki

p; q 2 L (s0), akibatnya j= p ^ q, sehingga M; s0j= p ^ q.

2 M; s

0j= :r karena untuk setiap lintasan = s0! kita memiliki

r 62 L (s0), akibatnya 6j= r, sehingga j= :r, sehingga M; s0j= :r.

3 M; s

0j= >, karena berdasarkan de…nisi setiap lintasan memenuhi j= >,

akibatnya M; s0j= >.

4 M; s

0j= Xr, karena lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! , hanya memiliki dua kemungkinan untuk 1, yaitu: I = s0! s1! , karena r 2 L (s1), maka 2j= r, akibatnya j= Xr,

I = s0! s2! , karena r 2 L (s2), maka 2j= r, akibatnya j= Xr.

Karena setiap lintasan yang dimulai dari s0memenuhi j= Xr, maka berlaku

M; s0j= Xr.

5 M; s

06j= X (q ^ r), atau dapat ditulis M; s0j= :X (q ^ r). Tinjau lintasan

(85)

Latihan

Dari model LTL berikut:

Periksa apakah: 1 M; s 0j= G: (p ^ r) 2 M; s 0j= GFr 3 M; s 0j= GFp ! GFr 4 M; s0j= GFr ! GFp

(86)

1 M; s

0j= G: (p ^ r) karena setiap lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! , hanya memiliki kemungkinan bahwa

i2 fs0; s1; s2g dan tidak ada state pada fs0; s1; s2g dengan sifat p dan r

keduanya benar pada state tersebut.

2 M; s

0j= GFr, karena untuk setiap lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! kita memiliki j= GFr. Hal ini dapat dijelaskan

sebagai berikut. Kita dapat mengklasi…kasikan menjadi dua kategori:

I memuat s2, akibatnya akan berlaku j= GFr karena jika memuat s2 pastilah berbentuk = ! s2! s2! s2! dan r 2 L (s2)

I tidak memuat s2, akibatnya akan berlaku j= GFr karena pasti berbetuk: = ! s0! s1! s0! s1! dan r 2 L (s1).

3 M; s

0j= GFp ! GFr, karena untuk setiap lintasan yang dimulai dari s0,

yaitu = s0! 1! 2! kita memiliki j= GFp ! GFr. Hal ini

dapat dijelaskan sebagai berikut. Kita dapat mengklasi…kasikan menjadi dua kategori:

I memuat s2, akibatnya akan berlaku j= GFr, jadi j= GFp ! GFr I tidak memuat s2, akibatnya akan berlaku j= GFr, jadi

j= GFp ! GFr.

4 M; s

06j= GFr ! GFp atau dapat ditulis M; s0j= : (GFr ! GFp).

Tinjau lintasan = s0! s2! s2! , kita memiliki j= GFr tetapi

(87)

1 M; s

0j= G: (p ^ r) karena setiap lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! , hanya memiliki kemungkinan bahwa

i2 fs0; s1; s2g dan tidak ada state pada fs0; s1; s2g dengan sifat p dan r

keduanya benar pada state tersebut.

2 M; s

0j= GFr, karena untuk setiap lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! kita memiliki j= GFr. Hal ini dapat dijelaskan

sebagai berikut. Kita dapat mengklasi…kasikan menjadi dua kategori:

I memuat s2, akibatnya akan berlaku j= GFr karena jika memuat s2 pastilah berbentuk = ! s2! s2 ! s2! dan r 2 L (s2)

I tidak memuat s2, akibatnya akan berlaku j= GFr karena pasti berbetuk: = ! s0! s1! s0! s1! dan r 2 L (s1).

3 M; s

0j= GFp ! GFr, karena untuk setiap lintasan yang dimulai dari s0,

yaitu = s0! 1! 2! kita memiliki j= GFp ! GFr. Hal ini

dapat dijelaskan sebagai berikut. Kita dapat mengklasi…kasikan menjadi dua kategori:

I memuat s2, akibatnya akan berlaku j= GFr, jadi j= GFp ! GFr I tidak memuat s2, akibatnya akan berlaku j= GFr, jadi

j= GFp ! GFr.

4 M; s

06j= GFr ! GFp atau dapat ditulis M; s0j= : (GFr ! GFp).

Tinjau lintasan = s0! s2! s2! , kita memiliki j= GFr tetapi

(88)

1 M; s

0j= G: (p ^ r) karena setiap lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! , hanya memiliki kemungkinan bahwa

i2 fs0; s1; s2g dan tidak ada state pada fs0; s1; s2g dengan sifat p dan r

keduanya benar pada state tersebut.

2 M; s

0j= GFr, karena untuk setiap lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! kita memiliki j= GFr. Hal ini dapat dijelaskan

sebagai berikut. Kita dapat mengklasi…kasikan menjadi dua kategori:

I memuat s2, akibatnya akan berlaku j= GFr karena jika memuat s2 pastilah berbentuk = ! s2! s2 ! s2! dan r 2 L (s2)

I tidak memuat s2, akibatnya akan berlaku j= GFr karena pasti berbetuk: = ! s0! s1! s0! s1! dan r 2 L (s1).

3 M; s

0j= GFp ! GFr, karena untuk setiap lintasan yang dimulai dari s0,

yaitu = s0! 1! 2! kita memiliki j= GFp ! GFr. Hal ini

dapat dijelaskan sebagai berikut. Kita dapat mengklasi…kasikan menjadi dua kategori:

I memuat s2, akibatnya akan berlaku j= GFr, jadi j= GFp ! GFr I tidak memuat s , akibatnya akan berlaku j= GFr, jadi

4 M; s

06j= GFr ! GFp atau dapat ditulis M; s0j= : (GFr ! GFp).

Tinjau lintasan = s0! s2! s2! , kita memiliki j= GFr tetapi

(89)

1 M; s

0j= G: (p ^ r) karena setiap lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! , hanya memiliki kemungkinan bahwa

i2 fs0; s1; s2g dan tidak ada state pada fs0; s1; s2g dengan sifat p dan r

keduanya benar pada state tersebut.

2 M; s

0j= GFr, karena untuk setiap lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! kita memiliki j= GFr. Hal ini dapat dijelaskan

sebagai berikut. Kita dapat mengklasi…kasikan menjadi dua kategori:

I memuat s2, akibatnya akan berlaku j= GFr karena jika memuat s2 pastilah berbentuk = ! s2! s2 ! s2! dan r 2 L (s2)

I tidak memuat s2, akibatnya akan berlaku j= GFr karena pasti berbetuk: = ! s0! s1! s0! s1! dan r 2 L (s1).

3 M; s

0j= GFp ! GFr, karena untuk setiap lintasan yang dimulai dari s0,

yaitu = s0! 1! 2! kita memiliki j= GFp ! GFr. Hal ini

dapat dijelaskan sebagai berikut. Kita dapat mengklasi…kasikan menjadi dua kategori:

I memuat s2, akibatnya akan berlaku j= GFr, jadi j= GFp ! GFr I tidak memuat s2, akibatnya akan berlaku j= GFr, jadi

(90)

5 M; s0j= pUr, karena untuk setiap lintasan yang dimulai dari s0, yaitu

= s0! 1! 2! kita memiliki j= pUr. Hal ini dapat dijelaskan

sebagai berikut. Kita dapat mengklasi…kasikan menjadi dua kategori:

1 F = s0! s1! , karena p 2 L (s0)dan r 2 L (s1), maka berlaku j= pUr,

(91)

Bahasan

1 Logika Temporal: Pendahuluan dan Motivasi

2 Pemodelan Waktu pada LTL

3 Operator Temporal dan Makna Intuitifnya

4 Sintaks Formal LTL

5 Semantik Formal LTL

6 LTL untuk Spesi…kasi Sistem Reaktif

7 Formula LTL Berdasarkan Semantiknya

(92)

LTL untuk Spesi…kasi Sistem Reaktif

Dalam computer science dan software engineering, logika temporal digunakan untuk membuat formalisasi dari sistem reaktif-konkuren (concurrent reactive systems), salah satu contohnya adalah lampu lalu lintas (tra¢ c light). Untuk mendesain sistem-sistem tersebut secara formal, perlu ditinjau beberapa sifat yang harus dipenuhi oleh sistem tersebut, yaitu:

1 Sifat keamanan (safety properties). 2 Sifat ketercapaian (liveness properties).

3 Karakterisasi “selalu terjadi secara berkala” (in…nitely often). 4 Sifat keadilan (fairness properties).

(93)

Sifat Keamanan (Safety Properties)

Sifat keamanan (safety properties) berarti: sesuatu hal yang buruk tidak boleh pernah terjadi (something bad will not happen).

Misalkan merepresentasikan suatu hal buruk, maka safety properties biasanya dituliskan dalam formula LTL sebagai G: .

Contoh

Pada lampu lalu lintas, lampu merah, kuning, dan hijau tidak boleh menyala bersamaan:

G: (red ^ yellow ^ green).

Pada suatu reaktor nuklir, suhu reaktor tidak boleh lebih dari 1000 C : G: (reactor_temp: > 1000).

Pada suatu sistem tidak boleh ada pembagian dengan 0 : G: ((x = 0) ^ X (y = a=0)).

(94)

Sifat Ketercapaian (Liveness Properties)

Sifat keamanan (safety properties) berarti: sesuatu hal yang baik harus dapat terjadi (something good will happen).

Misalkan merepresentasikan suatu hal baik, maka liveness properties biasanya dituliskan dalam formula LTL sebagai F .

Contoh

Pada lampu lalu lintas, jika lampu merah menyala maka suatu saat lampu hijau akan menyala:

G(red ! Fgreen).

Pada suatu sistem, jika proses dijalankan maka suatu saat proses akan berhenti: G(start ! Fterminate).

Pada suatu sistem, jika pesan dikirimkan, maka pesan sautu saat pesan akan diterima:

(95)

Selalu Terjadi Secara Berkala (In…nitely Often)

Misalkan adalah sebuah formula LTL, kombinasi dari operator G dan F sebagai GF dapat ditranslasikan sebagai: “ selalu terjadi secara berkala”. Perhatikan bahwa

1 M; s j= GF berarti setiap lintasan yang dimulai dari memenuhi

j= GF .

2 j= GF berarti untuk setiap i 1 berlaku ij= F . 3 ij= F berarti terdapat j isehingga jj= .

4 Akibatnya j= GF berarti untuk setiap i 1 terdapat j isehingga

jj= .

5 Ini berarti akan terjadi secara terus menerus (“secara berkala, namun tidak

(96)

Selalu Terjadi Secara Berkala (In…nitely Often)

Misalkan adalah sebuah formula LTL, kombinasi dari operator G dan F sebagai GF dapat ditranslasikan sebagai: “ selalu terjadi secara berkala”. Perhatikan bahwa

1 M; s j= GF berarti setiap lintasan yang dimulai dari memenuhi

j= GF .

2 j= GF berarti untuk setiap i 1 berlaku ij= F .

3 ij= F berarti terdapat j isehingga jj= .

4 Akibatnya j= GF berarti untuk setiap i 1 terdapat j isehingga

jj= .

5 Ini berarti akan terjadi secara terus menerus (“secara berkala, namun tidak

(97)

Selalu Terjadi Secara Berkala (In…nitely Often)

Misalkan adalah sebuah formula LTL, kombinasi dari operator G dan F sebagai GF dapat ditranslasikan sebagai: “ selalu terjadi secara berkala”. Perhatikan bahwa

1 M; s j= GF berarti setiap lintasan yang dimulai dari memenuhi

j= GF .

2 j= GF berarti untuk setiap i 1 berlaku ij= F . 3 ij= F berarti terdapat j isehingga jj= .

4 Akibatnya j= GF berarti untuk setiap i 1 terdapat j isehingga

jj= .

5 Ini berarti akan terjadi secara terus menerus (“secara berkala, namun tidak

(98)

Selalu Terjadi Secara Berkala (In…nitely Often)

Misalkan adalah sebuah formula LTL, kombinasi dari operator G dan F sebagai GF dapat ditranslasikan sebagai: “ selalu terjadi secara berkala”. Perhatikan bahwa

1 M; s j= GF berarti setiap lintasan yang dimulai dari memenuhi

j= GF .

2 j= GF berarti untuk setiap i 1 berlaku ij= F . 3 ij= F berarti terdapat j isehingga jj= .

4 Akibatnya j= GF berarti untuk setiap i 1 terdapat j isehingga

jj= .

5 Ini berarti akan terjadi secara terus menerus (“secara berkala, namun tidak

(99)

Selalu Terjadi Secara Berkala (In…nitely Often)

Misalkan adalah sebuah formula LTL, kombinasi dari operator G dan F sebagai GF dapat ditranslasikan sebagai: “ selalu terjadi secara berkala”. Perhatikan bahwa

1 M; s j= GF berarti setiap lintasan yang dimulai dari memenuhi

j= GF .

2 j= GF berarti untuk setiap i 1 berlaku ij= F . 3 ij= F berarti terdapat j isehingga jj= .

4 Akibatnya j= GF berarti untuk setiap i 1 terdapat j isehingga

jj= .

5 Ini berarti akan terjadi secara terus menerus (“secara berkala, namun tidak

(100)

Contoh

Pada lampu lalu lintas, lampu kuning menyala secara berkala: GFyellow.

Pada perlintasan kereta api, portal ditutup secara berkala: GF(gate = closed).

Catatan

(101)

Sifat Keadilan (Fairness)

Ada beberapa jenis sifat keadilan (fairness properties) dalam pemodelan sistem reaktif. Misalkan attempt dan succeed adalah dua proposisi yang ditinjau.

1 GFattempt ! GFsucceed : if we attempt something in…nitely often, then

we will succeed in…nitely often (disebut juga sebagai keadilan kuat/ strong fairness)

2 GFattempt ! Fsucceed : if we attempt something in…nitely often, then we

will succeed at least one

3 Gattempt ! GFsucceed : if we attempt something continuosly, then we will

succeed in…nitely often

4 Gattempt ! Fsucceed : if we attempt something continuosly, then we will

succeed at least one

Contoh

(102)

Bahasan

1 Logika Temporal: Pendahuluan dan Motivasi

2 Pemodelan Waktu pada LTL

3 Operator Temporal dan Makna Intuitifnya

4 Sintaks Formal LTL

5 Semantik Formal LTL

6 LTL untuk Spesi…kasi Sistem Reaktif

(103)

Sifat-sifat Formula Berdasarkan Semantiknya

De…nisi

Misalkan adalah sebuah formula LTL:

1 formula dikatakan absah (valid ) atau tautologi apabila M; s j= untuk

sembarang status s pada sembarang model M.

2 formula dikatakan terpenuhi (satis…able) apabila M; s j= untuk suatu

status s pada suatu model M.

3 formula dikatakan kontradiksi (contradictory ) apabila M; s 6j= untuk

sembarang status s pada sembarang model M.

4 formula dikatakan tersalahkan (falsi…able) apabila M; s 6j= untuk suatu

status s pada suatu model M.

5 formula dikatakan kontingensi (contingency ) apabila bukan formula yang

(104)

Beberapa Teorema Penting

Teorema

Misalkan adalah sebuah formula LTL, maka berlaku:

1 formula absah (valid ) jika dan hanya jika : kontradiksi,

2 formula terpenuhi (satis…able) jika dan hanya jika : tersalahkan

(falsi…able),

3 formula terpenuhi (satis…able) jika dan hanya jika : tidak absah (tidak

valid ),

(105)

Konsekuensi Logis dan Kesetaraan Logika

De…nisi

Misalkan dan adalah dua formula LTL:

Formula dan dikatakansetaraatauekuivalen (logically equivalent)jika formula

$

merupakantautologi. Hal ini dituliskan dengan atau , .

Formula dikatakan sebagaikonsekuensi logis (logical consequence)dari jika formula

!

(106)

Beberapa Ekuivalensi Terkait Operator Temporal

Teorema

Misalkan adalah formula LTL, maka berlaku:

1 :G F:

2 :F G:

3 :X X:

Ini berarti operator F dan G saling dual dan X bersifat dual dengan dirinya sendiri.

Teorema

(107)

Teorema

Misalkan dan adalah dua formula LTL, maka berlaku:

1 F( _ ) F _ F 2 G( ^ ) G ^ G

Teorema

Misalkan adalah formula LTL, maka berlaku:

1 F >U

2 G ?R

Teorema

Misalkan dan adalah dua formula LTL, maka berlaku:

1 U W ^ F

(108)

Beberapa Bukti Formal Ekuivalensi Terkait Operator

Temporal

Bukti (:G

F

: )

Misalkan M adalah sembarang model dan = 1! 2! sembarang

lintasan pada M.

1 j= :G , 6j= G

2 Kita memiliki j= G , untuk setiap i 1 berlaku ij= . 3 Ini berarti 6j= G , terdapat i 1 sehingga tidak berlaku ij= . 4 Ini berarti 6j= G , terdapat i 1 sehingga berlaku i6j= . 5 Ini berarti 6j= G , terdapat i 1 sehingga ij= : . 6 Ini berarti 6j= G , berlaku j= F: .

7 Ini berarti j= G , berlaku j= F:

(109)

Beberapa Bukti Formal Ekuivalensi Terkait Operator

Temporal

Bukti (:G

F

: )

Misalkan M adalah sembarang model dan = 1! 2! sembarang

lintasan pada M.

1 j= :G , 6j= G

2 Kita memiliki j= G , untuk setiap i 1 berlaku i j= .

3 Ini berarti 6j= G , terdapat i 1 sehingga tidak berlaku ij= . 4 Ini berarti 6j= G , terdapat i 1 sehingga berlaku i6j= . 5 Ini berarti 6j= G , terdapat i 1 sehingga ij= : . 6 Ini berarti 6j= G , berlaku j= F: .

7 Ini berarti j= G , berlaku j= F:

(110)

Beberapa Bukti Formal Ekuivalensi Terkait Operator

Temporal

Bukti (:G

F

: )

Misalkan M adalah sembarang model dan = 1! 2! sembarang

lintasan pada M.

1 j= :G , 6j= G

2 Kita memiliki j= G , untuk setiap i 1 berlaku i j= . 3 Ini berarti 6j= G , terdapat i 1 sehingga tidak berlaku ij= .

4 Ini berarti 6j= G , terdapat i 1 sehingga berlaku i6j= . 5 Ini berarti 6j= G , terdapat i 1 sehingga ij= : . 6 Ini berarti 6j= G , berlaku j= F: .

7 Ini berarti j= G , berlaku j= F:

Gambar

Ilustrasi untuk Operator X, F, dan G.
Ilustrasi Intuitif

Referensi

Dokumen terkait