Negara Diagram

From Wikipedia, the free encyclopedia Dari Wikipedia, ensiklopedia bebas

Jump to: navigation , search Langsung ke: navigasi, cari

A State Diagram for a door that can only be opened and closed Suatu Negara Diagram untuk pintu yang hanya dapat dibuka dan ditutup

A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. Sebuah negara diagram adalah jenis diagram yang digunakan dalam ilmu komputer dan bidang-bidang terkait untuk menggambarkan perilaku sistem. State diagrams require that the system described is composed of a finite number of states ; sometimes, this is indeed the case, while at other times this is a reasonable abstraction . Negara diagram sistem mengharuskan dijelaskan terdiri dari jumlah terbatas negara, kadang-kadang, ini memang kasus, sementara di lain waktu yang masuk akal ini adalah abstraksi. There are many forms of state diagrams, which differ slightly and have different semantics . Ada banyak bentuk diagram negara, yang sedikit berbeda dan memiliki berbagai semantik.

Contents Isi

  • 1 Overview 1 Tinjauan
  • 2 Directed graph 2 Sutradara grafik
    • 2.1 Example: DFA, NFA, GNFA, or Moore machine 2,1 Contoh: DFA, NFA, GNFA, atau mesin Moore
    • 2.2 Example: Mealy machine 2,2 Contoh: Mealy mesin
  • 3 Harel statechart 3 Harel statechart
  • 4 UML state diagram 4 negara UML diagram
  • 5 State diagrams versus flowcharts 5 Negara versus diagram diagram alur
  • 6 Other extensions 6 ekstensi Lainnya
  • 7 See also 7 Lihat juga
  • 8 References 8 Referensi
  • 9 External links 9 Pranala luar

Overview

Sekilas

State diagrams are used to give an abstract description of the behavior of a system . Negara diagram digunakan untuk memberikan deskripsi abstrak tentang perilaku dari suatu sistem. This behavior is analyzed and represented in series of events, that could occur in one or more possible states. Perilaku ini dianalisis dan direpresentasikan dalam serangkaian acara, yang dapat terjadi dalam satu atau lebih mungkin negara. Hereby “each diagram usually represents objects of a single class and track the different states of its objects through the system”. [ 1 ] Dengan ini “setiap diagram biasanya mewakili objek dari satu kelas dan melacak negara bagian yang berbeda dari objek melalui sistem”. [1]

State diagrams can be used to graphically represent finite state machines . Diagram negara dapat digunakan untuk grafis mewakili mesin negara yang terbatas. This was introduced by Taylor Booth in his 1967 book “Sequential Machines and Automata Theory”. Hal ini diperkenalkan oleh Taylor Booth dalam buku 1967 “Sequential Machines dan Automata Theory”. Another possible representation is the State transition table . Kemungkinan lain representasi adalah tabel transisi Negara.

[ edit ] Directed graph [Sunting] Sutradara grafik

A directed graph . Sebuah diarahkan grafik.

A classic form of a state diagram for a finite state machine is a directed graph with the following elements (Q,Σ,Z,δ,q 0 ,F): [ 2 ] [ 3 ] Bentuk klasik diagram negara untuk mesin negara yang terbatas adalah grafik diarahkan dengan unsur-unsur berikut (Q, Σ, Z, δ, q 0, F): [2] [3]

  • States Q : a finite set of vertices normally represented by circles and labelled with unique designator symbols or words written inside them; Serikat Q: himpunan yang terbatas vertices biasanya diwakili oleh lingkaran dan diberi label dengan penanda unik simbol-simbol atau kata-kata yang tertulis di dalamnya;
  • Input symbols Σ : a finite collection of input symbols or designators; Input simbol Σ: koleksi terbatas masukan simbol atau designators;
  • Output symbols Z : a finite collection of output symbols or designators; Output simbol Z: koleksi terbatas output simbol atau designators;

The output function ω represents the mapping of input symbols into output symbols, denoted mathematically as ω : Σ × QZ . Fungsi output ω mewakili simbol pemetaan input menjadi output simbol, dilambangkan sebagai ω matematis: Σ × QZ.

  • Edges δ : represent the “transitions” between two states as caused by the input (identified by their symbols drawn on the “edges”). Tepi δ: mewakili “transisi” antara dua negara seperti yang disebabkan oleh input (diidentifikasi dengan simbol mereka yang digambar di atas “pinggiran”). An ‘edge’ is usually drawn as an arrow directed from the present-state toward the next-state. Sebuah ‘tepi’ biasanya digambarkan sebagai panah diarahkan dari sekarang ke arah negara-negara berikutnya. This mapping describes the state transitions that is to occur on input of a particular symbol. Pemetaan ini menggambarkan keadaan transisi yang terjadi pada masukan dari simbol tertentu. This is written mathematically as δ : Σ × QZ Ini matematis ditulis sebagai δ: Σ × QZ
  • Start state q 0 : (not shown in the examples below). Negara mulai q 0: (tidak ditampilkan dalam contoh di bawah). The start state q 0 ∈ Q is usually represented by an arrow with no origin pointing to the state. Negara awal q 0 ∈ Q biasanya diwakili oleh anak panah tanpa asal menunjuk ke negara. In older texts [ 2 ] [ 4 ] , the start state is not shown and must be inferred from the text. Dalam teks-teks yang lebih tua [2] [4], negara awal tidak ditampilkan dan harus disimpulkan dari teks.
  • Accepting state(s) F : If used, for example for accepting automata, F ∈ Q is the accepting state . Negara penerima (s) F: Jika digunakan, misalnya untuk menerima automata, M ∈ Q adalah negara penerima. It is usually drawn as a double circle. Biasanya digambarkan sebagai sebuah lingkaran ganda. Sometimes the accept state(s) function as ” F inal” (halt, trapped) states [ 3 ] . Kadang-kadang negara menerima (s) berfungsi sebagai “F inal” (berhenti, terjebak) menyatakan [3].

For a deterministic finite state machine (DFA), nondeterministic finite state machine (NFA), generalized nondeterministic finite state machine (GNFA), or Moore machine , the input is denoted on each edge. Untuk mesin negara berhingga deterministik (DFA), mesin negara yang terbatas nondeterministic (NFA), umum nondeterministic mesin negara yang terbatas (GNFA), atau mesin Moore, input dilambangkan pada setiap sisinya. For a Mealy machine , input and output are signified on each edge, separated with a slash “/”: “1/0” denotes the state change upon encountering the symbol “1” causing the symbol “0” to be output. Untuk mesin Mealy, input dan output yang ditandakan pada setiap sisinya, dipisahkan dengan garis miring “/”: “1 / 0” menunjukkan negara menghadapi perubahan atas simbol “1” yang menyebabkan simbol “0” untuk output. For a Moore machine the state’s output is usually written inside the state’s circle, also separated from the state’s designator with a slash “/”. Untuk mesin Moore keluaran negara biasanya ditulis di dalam lingkaran negara, juga dipisahkan dari negara penanda dengan sebuah garis miring “/”. There are also variants that combine these two notations. Ada juga varian yang menggabungkan kedua notasi.

For example, if a state has a number of outputs (eg “a= motor counter-clockwise=1, b= caution light inactive=0”) the diagram should reflect this : eg “q5/1,0” designates state q5 with outputs a=1, b=0. Sebagai contoh, jika sebuah negara memiliki sejumlah output (misalnya “a = motor berlawanan arah jarum jam = 1, b = lampu hati-hati tidak aktif = 0”) diagram harus mencerminkan ini: misalnya “Q5 / 1,0” negara menunjuk Q5 dengan output a = 1, b = 0. This designator will be written inside the state’s circle. Ini penanda akan ditulis di dalam lingkaran negara.

[ edit ] Example: DFA, NFA, GNFA, or Moore machine [Sunting] Contoh: DFA, NFA, GNFA, atau mesin Moore

S 1 and S 2 are states and S 1 is an accepting state or a final state . S 1 dan S 2 adalah negara dan S 1 adalah sebuah negara bagian atau menerima keadaan akhir. Each edge is labeled with the input. Setiap sisi dilabeli dengan input. This example shows an acceptor for strings over {0,1} that contain an even number of zeros. Contoh ini menunjukkan akseptor untuk string di atas (0,1) yang berisi bahkan jumlah nol.

DFAexample.svg

[ edit ] Example: Mealy machine [Sunting] Contoh: Mealy mesin

S 0 , S 1 , and S 2 are states. S 0, S 1, dan S 2 adalah negara. Each edge is labeled with ” j / k ” where j is the input and k is the output. Setiap sisi dilabeli dengan “j / k” dimana j adalah masukan dan k adalah output.

State Diagram sederhana mesin Mealy

[ edit ] Harel statechart [Sunting] Harel statechart

Harel statecharts [ 5 ] are gaining widespread usage since a variant has become part of the Unified Modeling Language . Harel statecharts [5] yang memperoleh penggunaan luas sejak varian telah menjadi bagian dari Unified Modeling Language. The diagram type allows the modeling of superstates , orthogonal regions , and activities as part of a state. Jenis diagram memungkinkan modeling superstates, ortogonal daerah, dan kegiatan-kegiatan sebagai bagian dari negara.

Classic state diagrams require the creation of distinct nodes for every valid combination of parameters that define the state. Negara klasik diagram memerlukan penciptaan node yang berbeda untuk setiap kombinasi yang valid parameter yang mendefinisikan negara. This can lead to a very large number of nodes and transitions between nodes for all but the simplest of systems ( state and transition explosion ). Hal ini dapat mengakibatkan jumlah yang sangat besar dari simpul dan transisi di antara node untuk semua tapi yang paling sederhana sistem (negara dan transisi ledakan). This complexity reduces the readability of the state diagram. Ini mengurangi kompleksitas pembacaan diagram negara. With Harel statecharts it is possible to model multiple cross-functional state diagrams within the statechart. Dengan statecharts Harel adalah mungkin untuk model beberapa negara lintas fungsional diagram dalam statechart. Each of these cross-functional state machines can transition internally without affecting the other state machines in the statechart. Masing-masing negara lintas fungsional mesin dapat transisi internal tanpa mempengaruhi negara lain mesin di statechart. The current state of each cross-functional state machine in the statechart defines the state of the system. Keadaan saat ini setiap lintas fungsional mesin negara dalam mendefinisikan statechart keadaan dari sistem. The Harel statechart is equivalent to a state diagram but it improves the readability of the resulting diagram. Harel statechart yang setara dengan diagram negara tetapi meningkatkan pembacaan diagram yang dihasilkan.

[ edit ] UML state diagram [Sunting] UML diagram negara

Main article: UML state machine Artikel utama: mesin negara UML

Example UML State diagram. Contoh Negara UML diagram.

The UML state diagram is essentially a Harel statechart with standardized notation [ 6 ] [ 7 ] , which can describe many systems, from computer programs to business processes. UML Diagram negara yang pada dasarnya adalah sebuah standar Harel statechart dengan notasi [6] [7], yang dapat menggambarkan banyak sistem, dari program-program komputer untuk proses bisnis. The following are the basic notational elements that can be used to make up a diagram: Berikut ini adalah elemen notasi dasar yang dapat digunakan untuk membuat sebuah diagram:

  • Filled circle, pointing to the initial state Terisi lingkaran, menunjuk ke keadaan awal
  • Hollow circle containing a smaller filled circle, indicating the final state (if any) Lingkaran berongga berisi penuh lingkaran yang lebih kecil, yang menunjukkan keadaan akhir (jika ada)
  • Rounded rectangle, denoting a state. Bulat persegi panjang, yang menunjukkan negara. Top of the rectangle contains a name of the state. Top of the persegi panjang berisi nama negara. Can contain a horizontal line in the middle, below which the activities that are done in that state are indicated Dapat berisi garis horizontal di tengah, di bawah ini dimana kegiatan-kegiatan yang dilakukan di negara yang ditandai
  • Arrow, denoting transition. Arrow, yang menunjukkan transisi. The name of the event (if any) causing this transition labels the arrow body. Nama peristiwa tersebut (jika ada) menyebabkan transisi ini label panah tubuh. A guard expression may be added before a “/” and enclosed in square-brackets ( eventName [guardExpression] ), denoting that this expression must be true for the transition to take place. Seorang penjaga ekspresi dapat ditambahkan sebelum “/” dan diapit oleh tanda kurung persegi (eventName [guardExpression]), menunjukkan bahwa ungkapan ini pasti benar untuk transisi berlangsung. If an action is performed during this transition, it is added to the label following a “/” ( eventName [guardExpression]/action ). Jika tindakan ini dilakukan selama masa transisi ini, itu akan ditambahkan ke label setelah “/” (eventName [guardExpression] / tindakan).
  • Thick horizontal line with either x>1 lines entering and 1 line leaving or 1 line entering and x>1 lines leaving. Tebal garis horizontal dengan baik x> 1 baris 1 baris memasuki dan meninggalkan atau 1 baris memasuki dan x> 1 baris pergi. These denote join/fork, respectively. Ini menunjukkan bergabung / garpu, masing-masing.

[ edit ] State diagrams versus flowcharts [Sunting] Negara versus diagram diagram alur

Newcomers to the state machine formalism often confuse state diagrams with flowcharts . Pendatang baru mesin negara formalisme sering membingungkan diagram negara dengan flowchart. For a long time, the UML specification wasn’t helping in this respect because it used to lump activity graphs in the state machine package (the new UML 2 [ 6 ] has finally separated activity diagrams from state machines). Untuk waktu yang lama, yang UML spesifikasi tidak membantu dalam hal ini karena benjolan digunakan untuk kegiatan grafik di paket mesin negara (UML baru 2 [6] akhirnya kegiatan terpisah diagram dari mesin negara). Activity diagrams are essentially elaborate flowcharts. Activity diagram diagram alur pada dasarnya rumit.

The figure below shows a comparison of a state diagram with a flowchart. Gambar di bawah ini menunjukkan perbandingan dari sebuah diagram negara dengan diagram alur. A state machine (panel (a)) performs actions in response to explicit events. Sebuah mesin negara (panel (a)) melakukan tindakan-tindakan sebagai tanggapan atas peristiwa eksplisit. In contrast, the flowchart (panel (b)) does not need explicit events but rather transitions from node to node in its graph automatically upon completion of activities [ 8 ] . Sebaliknya, diagram alur (panel (b)) tidak memerlukan peristiwa eksplisit melainkan transisi dari node ke node dalam grafik secara otomatis setelah selesainya kegiatan [8].

State diagram (a) dan diagram alur (b)

Graphically, compared to state diagrams, flowcharts reverse the sense of vertices and arcs. Grafis, dibandingkan dengan negara diagram, flowchart membalikkan rasa simpul dan busur. In a state diagram, the processing is associated with the arcs (transitions), whereas in a flowchart, it is associated with the vertices. Dalam keadaan diagram, pengolahan dikaitkan dengan busur (transisi), sedangkan dalam sebuah diagram alur, hal itu dikaitkan dengan simpul. A state machine is idle when it sits in a state waiting for an event to occur. Sebuah mesin keadaan idle ketika duduk dalam keadaan menunggu peristiwa terjadi. A flowchart is busy executing activities when it sits in a node. Sebuah diagram alur sibuk melaksanakan kegiatan ketika duduk di sebuah simpul. The figure above attempts to show that reversal of roles by aligning the arcs of the state diagrams with the processing stages of the flowchart. Gambar di atas upaya untuk menunjukkan bahwa pembalikan peran oleh menyelaraskan busur diagram negara dengan tahap-tahap pengolahan diagram alur.

You can compare a flowchart to an assembly line in manufacturing because the flowchart describes the progression of some task from beginning to end (eg, transforming source code input into object code output by a compiler). Anda dapat membandingkan sebuah diagram alur ke jalur perakitan dalam manufaktur karena menggambarkan diagram alur perkembangan beberapa tugas dari awal hingga akhir (misalnya, mengubah kode sumber masukan ke dalam kode obyek output oleh kompilator). A state machine generally has no notion of such a progression. Sebuah mesin negara umumnya tidak memiliki pengertian seperti kemajuan. The door state machine shown at the top of this article, for example, is not in a more advanced stage when it is in the “closed” state, compared to being in the “opened” state; it simply reacts differently to the open/close events. Pintu mesin negara ditampilkan di bagian atas artikel ini, misalnya, tidak dalam tahap yang lebih maju bila di “tertutup” negara, dibandingkan dengan berada di dalam “membuka” negara bagian, tetapi hanya bereaksi berbeda yang terbuka / dekat peristiwa. A state in a state machine is an efficient way of specifying a particular behavior, rather than a stage of processing. Sebuah negara dalam keadaan mesin adalah cara yang efisien untuk menentukan perilaku tertentu, bukan tahap pengolahan.

The distinction between state machines and flowcharts is especially important because these two concepts represent two diametrically opposed programming paradigms: event-driven programming (state diagrams) and structured programming (flowcharts). Perbedaan antara negara dan diagram alur mesin sangat penting karena kedua konsep ini bertentangan menggambarkan dua paradigma pemrograman: event-driven programming (negara diagram) dan terstruktur pemrograman (flowchart). You cannot devise effective UML state machines without constantly thinking about the available events. Anda tidak dapat merencanakan efektif mesin negara UML tanpa terus memikirkan tentang peristiwa yang tersedia. In contrast, events are only a secondary concern (if at all) for flowcharts. Sebaliknya, peristiwa hanya kekhawatiran sekunder (jika sama sekali) untuk diagram alur.

Other extensions

Lain ekstensi

An interesting extension is to allow arcs to flow from any number of states to any number of states. Ekstensi yang menarik adalah untuk memungkinkan busur mengalir dari sejumlah negara untuk sejumlah negara. This only makes sense if the system is allowed to be in multiple states at once, which implies that an individual state only describes a condition or other partial aspect of the overall, global state. Hal ini hanya masuk akal jika sistem diperbolehkan berada di beberapa negara sekaligus, yang berarti bahwa negara individu hanya menjelaskan kondisi atau aspek parsial dari keseluruhan, negara global. The resulting formalism is known as a Petri net . Formalisme yang dihasilkan dikenal sebagai Petri net.

Another extension allows the integration of flowcharts within Harel statecharts. Ekstensi lain memungkinkan integrasi diagram alur dalam statecharts Harel. This extension supports the development of software that is both event driven and workflow driven. Perpanjangan ini mendukung pengembangan perangkat lunak yang bersifat event driven dan alur kerja yang digerakkan.

Download Negara Diagram