An Entity of Type: programming language, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org:8891

Automata-based programming is a programming paradigm in which the program or part of it is thought of as a model of a finite-state machine (FSM) or any other (often more complicated) formal automaton (see automata theory). Sometimes a potentially infinite set of possible states is introduced, and such a set can have a complicated structure, not just an enumeration. The following properties are key indicators for automata-based programming: The whole execution of the automata-based code is a cycle of the automaton steps.

Property Value
dbo:abstract
  • Automata-based programming is a programming paradigm in which the program or part of it is thought of as a model of a finite-state machine (FSM) or any other (often more complicated) formal automaton (see automata theory). Sometimes a potentially infinite set of possible states is introduced, and such a set can have a complicated structure, not just an enumeration. Finite-state machine-based programming is generally the same, but, formally speaking, does not cover all possible variants, as FSM stands for finite-state machine, and automata-based programming does not necessarily employ FSMs in the strict sense. The following properties are key indicators for automata-based programming: * The time period of the program's execution is clearly separated down to the automaton steps. Each step is effectively an execution of a code section (same for all the steps) which has a single entry point. That section might be divided down to subsections to be executed depending on different states, although this is not necessary. * Any communication between the automaton steps is only possible via the explicitly noted set of variables named the automaton state. Between any two steps, the program cannot have implicit components of its state, such as local variables' values, return addresses, the current instruction pointer, etc. That is, the state of the whole program, taken at any two moments of entering an automaton step, can only differ in the values of the variables being considered as the automaton state. The whole execution of the automata-based code is a cycle of the automaton steps. Another reason for using the notion of automata-based programming is that the programmer's style of thinking about the program in this technique is very similar to the style of thinking used to solve mathematical tasks using Turing machines, Markov algorithms, etc. (en)
  • Автома́тное программи́рование — это парадигма программирования, при использовании которой программа или её фрагмент осмысливается как модель какого-либо формального автомата. Известна также и другая «парадигма автоматного программирования, состоящая в представлении сущностей со сложным поведением в виде автоматизированных объектов управления, каждый из которых представляет собой объект управления и автомат». При этом о программе, как в автоматическом управлении, предлагается думать, как о системе автоматизированных объектов управления. В зависимости от конкретной задачи в автоматном программировании могут использоваться как конечные автоматы, так и автоматы с более сложным строением. Определяющими для автоматного программирования являются следующие особенности: 1. * временной период выполнения программы разбивается на шаги автомата, каждый из которых представляет собой выполнение определённой (одной и той же для каждого шага) секции кода с единственной точкой входа; такая секция может быть оформлена, например, в виде отдельной функции и может быть разделена на подсекции, соответствующие отдельным состояниям или категориям состояний 2. * передача информации между шагами автомата осуществляется только через явно обозначенное множество переменных, называемых состоянием автомата; между шагами автомата программа (или её часть, оформленная в автоматном стиле) не может содержать неявных элементов состояния, таких как значения локальных переменных в стеке, адреса возврата из функций, значение текущего счётчика команд и т. п.; иначе говоря, состояние программы на любые два момента входа в шаг автомата могут различаться между собой только значениями переменных, составляющих состояние автомата (причём такие переменные должны быть явно обозначены в качестве таковых). Полностью выполнение кода в автоматном стиле представляет собой цикл (возможно, неявный) шагов автомата. Название автоматное программирование оправдывается ещё и тем, что стиль мышления (восприятия процесса исполнения) при программировании в этой технике практически точно воспроизводит стиль мышления при составлении формальных автоматов (таких как машина Тьюринга, автомат Маркова и др.) (ru)
  • Programação orientada a autômatos é um paradigma de programação no qual o programa (ou partes dele) é pensado como um modelo de uma máquina de estados finitos (FSM, do inglês, finite state machine) ou qualquer outro (geralmente mais complicado) autômato formal (ver teoria de autômatos). Algumas vezes um conjunto potencialmente infinito de possíveis estados é introduzido, e tal conjunto pode ter uma estrutura complicada, não sendo apenas uma enumeração. A programação orientada a máquinas de estados finitos é geralmente semelhante mas, formalmente falando, não cobre todas as possíveis variantes que uma FSM representa, e a programação orientada a autômatos não necessariamente emprega FSM de forma estrita. As propriedades seguintes são indicadores chaves de uma programação orientada à autômatos: 1. * O período de tempo da execução do programa é claramente separado em passos do autômato. Cada um dos passos é a efetiva execução de uma seção de código (igual para todos os passos), no qual existe um único ponto de entrada. Tal seção pode ser uma função ou uma rotina, ou apenas um corpo cíclico. A etapa da seção pode ser dividida em subseções para serem executadas a depender dos diferentes estados, ainda que isto não seja necessário. 2. * Qualquer comunicação entre os passos só é possível mediante um conjunto explicitamente conhecido de variáveis nomeadas estado. Entre dois passos, o programa (ou suas partes criadas usando a técnica baseada em autômatos) pode não ter componentes implícitos de seu estado, tal como valores de (pilha) variáveis locais, endereços de retorno, ponteiro de instrução atual etc. Isto é, dados quaisquer dois momentos de iniciação do passo do autômato, eles diferem apenas nos valores das variáveis, sendo considerados como o estado do autômato. A completa execução do código orientado a autômatos é um ciclo (possivelmente explícito) de passos de um autômato. Outra razão para usar a noção de programação orientada a autômatos é que o estilo de raciocínio do programador, nessa técnica, é muito similar ao estilo de raciocínio usado para resolver problemas relacionados matemáticos usando máquina de Turing, algoritmo de Markov etc. (pt)
  • Автоматне програмування — парадигма програмування, відповідно до якої програма або її фрагмент розглядаються як модель деякого формального автомата, а вибір операції обробки вхідних даних визначається не тільки поточним значенням даних, але й поточним значенням стану автомата. Залежно від конкретної задачі в автоматному програмуванні можуть використовуватися як скінченні автомати, так і автомати складнішої структури. Визначальними для автоматного програмування є такі особливості: 1. * Послідовність операцій виконання програми розбивається на кроки автомата, кожен з яких являє собою виконання певної (однієї і тієї ж для кожного кроку) секції коду з єдиною точкою входу; таку секцію можна оформити, наприклад, у вигляді окремої функції і, в свою чергу, можна розділити на підсекції, відповідно до окремих станів або категорій станів; 2. * Збереження інформації про стан між кроками автомата здійснюється виключно через явно визначений набір змінних, призначених для зберігання стану автомата, таких, що стани програми на будь-якому окремому моменті входу в крок автомата можуть різнитися між собою виключно значеннями цих і тільки цих змінних. 3. * Зміна станів автомата зазвичай відбувається в циклі (можливо, неявно заданому) виконання кроків автомата. Техніка автоматного програмування та сама назва є дискусійними. Найраніші випадки застосування парадигми автоматного програмування стосуються предметних галузей, у яких напрацьована алгоритмічна теорія, заснована на теорії автоматів, і насамперед — до аналізу текстів на формальних мовах. Одну з найраніших робіт на цю тему представлено в статті 1968 року. (uk)
  • 自动机编程(英語:Automata-based programming)是編程範式中的一種,是指程式或其中的部份是以有限狀態機(FSM)為模型的程式,有些程式則會用其他型式(也更複雜)的自動機為其模型。 有限狀態機編程(英語:FSM-based programming)大致上等同於自动机编程,但有限狀態機編程專指以有限狀態機為模型的程式。 自动机编程有以下的二項特徵: 1. * 程式執行的時間中可以清楚劃分成數個自動機的步驟(step),每一個步驟即為一個程式區段,有單一的進入點,可以是一個函數或其他程序。若有需要時,程式區段可以再依其狀態的不同,劃分為子區段。 2. * 不同步驟的程式區段只能透過一組清楚標示的變數交換資訊,這些變數稱為狀態(state),使用自動機編程的程式不能用其他不顯然可見的方式標示狀態,例如區域變數的數值、回傳位址、目前程式指標的位置等。因此一程式在任二個不同時間下的差異,只有狀態數值的不同,其餘都相同。 自动机编程的執行過程是一個由自动机步驟形成的循環。 自动机编程中處理問題的思考方式很類似在利用圖靈機、马尔可夫算法處理問題時的思考方式。 (zh)
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 3377755 (xsd:integer)
dbo:wikiPageLength
  • 25013 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1077795284 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • 自动机编程(英語:Automata-based programming)是編程範式中的一種,是指程式或其中的部份是以有限狀態機(FSM)為模型的程式,有些程式則會用其他型式(也更複雜)的自動機為其模型。 有限狀態機編程(英語:FSM-based programming)大致上等同於自动机编程,但有限狀態機編程專指以有限狀態機為模型的程式。 自动机编程有以下的二項特徵: 1. * 程式執行的時間中可以清楚劃分成數個自動機的步驟(step),每一個步驟即為一個程式區段,有單一的進入點,可以是一個函數或其他程序。若有需要時,程式區段可以再依其狀態的不同,劃分為子區段。 2. * 不同步驟的程式區段只能透過一組清楚標示的變數交換資訊,這些變數稱為狀態(state),使用自動機編程的程式不能用其他不顯然可見的方式標示狀態,例如區域變數的數值、回傳位址、目前程式指標的位置等。因此一程式在任二個不同時間下的差異,只有狀態數值的不同,其餘都相同。 自动机编程的執行過程是一個由自动机步驟形成的循環。 自动机编程中處理問題的思考方式很類似在利用圖靈機、马尔可夫算法處理問題時的思考方式。 (zh)
  • Automata-based programming is a programming paradigm in which the program or part of it is thought of as a model of a finite-state machine (FSM) or any other (often more complicated) formal automaton (see automata theory). Sometimes a potentially infinite set of possible states is introduced, and such a set can have a complicated structure, not just an enumeration. The following properties are key indicators for automata-based programming: The whole execution of the automata-based code is a cycle of the automaton steps. (en)
  • Programação orientada a autômatos é um paradigma de programação no qual o programa (ou partes dele) é pensado como um modelo de uma máquina de estados finitos (FSM, do inglês, finite state machine) ou qualquer outro (geralmente mais complicado) autômato formal (ver teoria de autômatos). Algumas vezes um conjunto potencialmente infinito de possíveis estados é introduzido, e tal conjunto pode ter uma estrutura complicada, não sendo apenas uma enumeração. As propriedades seguintes são indicadores chaves de uma programação orientada à autômatos: (pt)
  • Автома́тное программи́рование — это парадигма программирования, при использовании которой программа или её фрагмент осмысливается как модель какого-либо формального автомата. Известна также и другая «парадигма автоматного программирования, состоящая в представлении сущностей со сложным поведением в виде автоматизированных объектов управления, каждый из которых представляет собой объект управления и автомат». При этом о программе, как в автоматическом управлении, предлагается думать, как о системе автоматизированных объектов управления. (ru)
  • Автоматне програмування — парадигма програмування, відповідно до якої програма або її фрагмент розглядаються як модель деякого формального автомата, а вибір операції обробки вхідних даних визначається не тільки поточним значенням даних, але й поточним значенням стану автомата. Залежно від конкретної задачі в автоматному програмуванні можуть використовуватися як скінченні автомати, так і автомати складнішої структури. Визначальними для автоматного програмування є такі особливості: Техніка автоматного програмування та сама назва є дискусійними. (uk)
rdfs:label
  • Automata-based programming (en)
  • Programação orientada a autômatos (pt)
  • Автоматное программирование (ru)
  • Автоматне програмування (uk)
  • 自动机编程 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License