{"id":6446,"date":"2022-05-27T09:17:39","date_gmt":"2022-05-27T09:17:39","guid":{"rendered":"https:\/\/www.booksofall.com\/?post_type=product&#038;p=6446"},"modified":"2022-06-15T03:27:06","modified_gmt":"2022-06-15T03:27:06","slug":"uml-handout-statecharts","status":"publish","type":"product","link":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/","title":{"rendered":"UML Handout: Statecharts"},"content":{"rendered":"<p>A\u00a0<b>state diagram<\/b>\u00a0is a type of\u00a0<a title=\"Diagram\" href=\"https:\/\/en.wikipedia.org\/wiki\/Diagram\">diagram<\/a>\u00a0used in\u00a0<a title=\"Computer science\" href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_science\">computer science<\/a>\u00a0and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of\u00a0<a title=\"State (computer science)\" href=\"https:\/\/en.wikipedia.org\/wiki\/State_(computer_science)\">states<\/a>; sometimes, this is indeed the case, while at other times this is a reasonable\u00a0<a title=\"Abstraction (computer science)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Abstraction_(computer_science)\">abstraction<\/a>. Many forms of state diagrams exist, which differ slightly and have different\u00a0<a title=\"Semantics\" href=\"https:\/\/en.wikipedia.org\/wiki\/Semantics#Computer_science\">semantics<\/a>.<\/p>\n<h4><span id=\"Overview\" class=\"mw-headline\">Overview<\/span><\/h4>\n<p>State diagrams are used to give an abstract description of the\u00a0<a title=\"Behavior\" href=\"https:\/\/en.wikipedia.org\/wiki\/Behavior\">behavior<\/a>\u00a0of a\u00a0<a title=\"System\" href=\"https:\/\/en.wikipedia.org\/wiki\/System\">system<\/a>. This behavior is analyzed and represented by a series of events that can occur in one or more possible states. Hereby &#8220;each diagram usually represents objects of a single class and track the different states of its objects through the system&#8221;.<sup id=\"cite_ref-1\" class=\"reference\"><\/sup><\/p>\n<p>State diagrams can be used to graphically represent\u00a0<a title=\"Finite-state machine\" href=\"https:\/\/en.wikipedia.org\/wiki\/Finite-state_machine\">finite-state machines<\/a>\u00a0(also called finite automata). This was introduced by\u00a0<a title=\"Claude Shannon\" href=\"https:\/\/en.wikipedia.org\/wiki\/Claude_Shannon\">Claude Shannon<\/a>\u00a0and\u00a0<a title=\"Warren Weaver\" href=\"https:\/\/en.wikipedia.org\/wiki\/Warren_Weaver\">Warren Weaver<\/a>\u00a0in their 1949 book\u00a0<a title=\"A Mathematical Theory of Communication\" href=\"https:\/\/en.wikipedia.org\/wiki\/A_Mathematical_Theory_of_Communication\"><i>The Mathematical Theory of Communication<\/i><\/a>. Another source is\u00a0<a title=\"Taylor Booth (mathematician)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Taylor_Booth_(mathematician)\">Taylor Booth<\/a>\u00a0in his 1967 book\u00a0<i>Sequential Machines and Automata Theory<\/i>. Another possible representation is the\u00a0<a title=\"State-transition table\" href=\"https:\/\/en.wikipedia.org\/wiki\/State-transition_table\">state-transition table<\/a>.<\/p>\n<h4><span id=\"Directed_graph\" class=\"mw-headline\">Directed graph<\/span><\/h4>\n<p>A classic form of state diagram for a\u00a0<a title=\"Deterministic finite automaton\" href=\"https:\/\/en.wikipedia.org\/wiki\/Deterministic_finite_automaton\">finite automaton<\/a>\u00a0(FA) is a\u00a0<a title=\"Directed graph\" href=\"https:\/\/en.wikipedia.org\/wiki\/Directed_graph\">directed graph<\/a>\u00a0with the following elements (Q, \u03a3, Z, \u03b4, q<sub>0<\/sub>, F):<sup id=\"cite_ref-Boo67_2-0\" class=\"reference\"><\/sup><sup id=\"cite_ref-HoU79_3-0\" class=\"reference\"><\/sup><\/p>\n<ul>\n<li><b>Vertices Q<\/b>: a finite set of states, normally represented by circles and labeled with unique designator symbols or words written inside them<\/li>\n<li><b>Input symbols \u03a3<\/b>: a finite collection of input symbols or designators<\/li>\n<li><b>Output symbols Z<\/b>: a finite collection of output symbols or designators<\/li>\n<\/ul>\n<p>The output function \u03c9 represents the mapping of ordered pairs of input symbols and states onto output symbols, denoted mathematically as\u00a0<b>\u03c9<\/b>\u00a0:\u00a0<b>\u03a3<\/b>\u00a0\u00d7\u00a0<b>Q<\/b>\u2192\u00a0<b>Z<\/b>.<\/p>\n<ul>\n<li><b>Edges \u03b4<\/b>: represent transitions from one state to another as caused by the input (identified by their symbols drawn on the edges). An edge is usually drawn as an arrow directed from the present state to the next state. This mapping describes the state transition that is to occur on input of a particular symbol. This is written mathematically as\u00a0<b>\u03b4<\/b>\u00a0:\u00a0<b>Q<\/b>\u00a0\u00d7\u00a0<b>\u03a3<\/b>\u00a0\u2192\u00a0<b>Q<\/b>, so \u03b4 (the transition function) in the definition of the FA is given by both the pair of vertices connected by an edge and the symbol on an edge in a diagram representing this FA. Item\u00a0<b>\u03b4(q, a) = p<\/b>\u00a0in the definition of the FA means that from the state named\u00a0<b>q<\/b>\u00a0under input symbol\u00a0<b>a<\/b>, the transition to the state\u00a0<b>p<\/b>\u00a0occurs in this machine. In the diagram representing this FA, this is represented by an edge labeled by\u00a0<b>a<\/b>\u00a0pointing from the vertex labeled by\u00a0<b>q<\/b>\u00a0to the vertex labeled by\u00a0<b>p<\/b>.<\/li>\n<li><b>Start state q<sub>0<\/sub><\/b>: (not shown in the examples below). The start state q<sub>0<\/sub> \u2208 Q is usually represented by an arrow with no origin pointing to the state. In older texts,\u00a0<sup id=\"cite_ref-Boo67_2-1\" class=\"reference\"><\/sup><sup id=\"cite_ref-McC65_4-0\" class=\"reference\"><\/sup>the start state is not shown and must be inferred from the text.<\/li>\n<li><b>Accepting state(s) F<\/b>: If used, for example for accepting automata, F \u2208 Q is the\u00a0<a class=\"mw-redirect\" title=\"Accept state\" href=\"https:\/\/en.wikipedia.org\/wiki\/Accept_state\">accepting state<\/a>. It is usually drawn as a double circle. Sometimes the accept state(s) function as &#8220;<b>F<\/b>inal&#8221; (halt, trapped) states.<sup id=\"cite_ref-HoU79_3-1\" class=\"reference\"><\/sup><\/li>\n<\/ul>\n<p>For a\u00a0<a title=\"Deterministic finite automaton\" href=\"https:\/\/en.wikipedia.org\/wiki\/Deterministic_finite_automaton\">deterministic finite automaton<\/a>\u00a0(DFA),\u00a0<a title=\"Nondeterministic finite automaton\" href=\"https:\/\/en.wikipedia.org\/wiki\/Nondeterministic_finite_automaton\">nondeterministic finite automaton<\/a>\u00a0(NFA),\u00a0<a title=\"Generalized nondeterministic finite automaton\" href=\"https:\/\/en.wikipedia.org\/wiki\/Generalized_nondeterministic_finite_automaton\">generalized nondeterministic finite automaton<\/a>\u00a0(GNFA), or\u00a0<a title=\"Moore machine\" href=\"https:\/\/en.wikipedia.org\/wiki\/Moore_machine\">Moore machine<\/a>, the input is denoted on each edge. For a\u00a0<a title=\"Mealy machine\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mealy_machine\">Mealy machine<\/a>, input and output are signified on each edge, separated with a slash &#8220;\/&#8221;: &#8220;1\/0&#8221; denotes the state change upon encountering the symbol &#8220;1&#8221; causing the symbol &#8220;0&#8221; to be output. For a\u00a0<a title=\"Moore machine\" href=\"https:\/\/en.wikipedia.org\/wiki\/Moore_machine\">Moore machine<\/a>\u00a0the state&#8217;s output is usually written inside the state&#8217;s circle, also separated from the state&#8217;s designator with a slash &#8220;\/&#8221;. There are also variants that combine these two notations.<\/p>\n<p>For example, if a state has a number of outputs (e.g. &#8220;a= motor counter-clockwise=1, b= caution light inactive=0&#8221;) the diagram should reflect this\u00a0: e.g. &#8220;q5\/1,0&#8221; designates state q5 with outputs a=1, b=0. This designator will be written inside the state&#8217;s circle.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><iframe style=\"width: 100%; height: 480px; border: none;\" src=\"https:\/\/online.visual-paradigm.com\/share\/book\/uml-handout--statecharts-yu60fj3uu?enforceShowPromotionBar=true\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"featured_media":6454,"template":"","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems."},"product_brand":[],"product_cat":[213],"product_tag":[201],"class_list":{"0":"post-6446","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-computer-uml","7":"product_tag-lecture-notes","9":"first","10":"instock","11":"shipping-taxable","12":"product-type-simple"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>UML Handout: Statecharts - BooksOfAll French<\/title>\n<meta name=\"description\" content=\"A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"UML Handout: Statecharts - BooksOfAll French\" \/>\n<meta property=\"og:description\" content=\"A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/\" \/>\n<meta property=\"og:site_name\" content=\"BooksOfAll French\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-15T03:27:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg\" \/><meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"596\" \/>\n\t<meta property=\"og:image:height\" content=\"842\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/\",\"url\":\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/\",\"name\":\"UML Handout: Statecharts - BooksOfAll French\",\"isPartOf\":{\"@id\":\"https:\/\/www.booksofall.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg\",\"datePublished\":\"2022-05-27T09:17:39+00:00\",\"dateModified\":\"2022-06-15T03:27:06+00:00\",\"description\":\"A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#primaryimage\",\"url\":\"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg\",\"contentUrl\":\"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg\",\"width\":\"596\",\"height\":\"842\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.booksofall.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Categories\",\"item\":\"https:\/\/www.booksofall.com\/fr\/categories\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"UML Handout: Statecharts\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.booksofall.com\/fr\/#website\",\"url\":\"https:\/\/www.booksofall.com\/fr\/\",\"name\":\"BooksOfAll French\",\"description\":\"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.\",\"publisher\":{\"@id\":\"https:\/\/www.booksofall.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.booksofall.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.booksofall.com\/fr\/#organization\",\"name\":\"BooksOfAll French\",\"url\":\"https:\/\/www.booksofall.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.booksofall.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/booksofall-logo-2.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/booksofall-logo-2.png\",\"width\":166,\"height\":30,\"caption\":\"BooksOfAll French\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/fr\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"UML Handout: Statecharts - BooksOfAll French","description":"A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/","og_locale":"fr_FR","og_type":"article","og_title":"UML Handout: Statecharts - BooksOfAll French","og_description":"A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems.","og_url":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/","og_site_name":"BooksOfAll French","article_modified_time":"2022-06-15T03:27:06+00:00","og_image":[{"url":"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg","type":"","width":"","height":""},{"width":596,"height":842,"url":"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/","url":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/","name":"UML Handout: Statecharts - BooksOfAll French","isPartOf":{"@id":"https:\/\/www.booksofall.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#primaryimage"},"image":{"@id":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg","datePublished":"2022-05-27T09:17:39+00:00","dateModified":"2022-06-15T03:27:06+00:00","description":"A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems.","breadcrumb":{"@id":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#primaryimage","url":"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg","contentUrl":"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/img_62a18d0c7be44.jpeg","width":"596","height":"842"},{"@type":"BreadcrumbList","@id":"https:\/\/www.booksofall.com\/fr\/uml-handout-statecharts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.booksofall.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Categories","item":"https:\/\/www.booksofall.com\/fr\/categories\/"},{"@type":"ListItem","position":3,"name":"UML Handout: Statecharts"}]},{"@type":"WebSite","@id":"https:\/\/www.booksofall.com\/fr\/#website","url":"https:\/\/www.booksofall.com\/fr\/","name":"BooksOfAll French","description":"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.","publisher":{"@id":"https:\/\/www.booksofall.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.booksofall.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.booksofall.com\/fr\/#organization","name":"BooksOfAll French","url":"https:\/\/www.booksofall.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.booksofall.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/booksofall-logo-2.png","contentUrl":"https:\/\/www.booksofall.com\/fr\/wp-content\/uploads\/sites\/6\/2022\/06\/booksofall-logo-2.png","width":166,"height":30,"caption":"BooksOfAll French"},"image":{"@id":"https:\/\/www.booksofall.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.booksofall.com\/fr\/wp-json\/wp\/v2\/product\/6446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.booksofall.com\/fr\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.booksofall.com\/fr\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.booksofall.com\/fr\/wp-json\/wp\/v2\/media\/6454"}],"wp:attachment":[{"href":"https:\/\/www.booksofall.com\/fr\/wp-json\/wp\/v2\/media?parent=6446"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.booksofall.com\/fr\/wp-json\/wp\/v2\/product_brand?post=6446"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.booksofall.com\/fr\/wp-json\/wp\/v2\/product_cat?post=6446"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.booksofall.com\/fr\/wp-json\/wp\/v2\/product_tag?post=6446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}