{"id":"https://openalex.org/W2295105386","doi":"https://doi.org/10.1109/ms.2002.1049380","title":"State machines","display_name":"State machines","publication_year":2002,"publication_date":"2002-11-01","ids":{"openalex":"https://openalex.org/W2295105386","doi":"https://doi.org/10.1109/ms.2002.1049380","mag":"2295105386"},"language":"en","primary_location":{"id":"doi:10.1109/ms.2002.1049380","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ms.2002.1049380","pdf_url":null,"source":{"id":"https://openalex.org/S6725529","display_name":"IEEE Software","issn_l":"0740-7459","issn":["0740-7459","1937-4194"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Software","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103069565","display_name":"D. A. Thomas","orcid":"https://orcid.org/0000-0003-1864-5344"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"D. Thomas","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5110205063","display_name":"A. Hunt","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"A. Hunt","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.6141,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":{"value":0.69128669,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":"19","issue":"6","first_page":"10","last_page":"12"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.8859000205993652,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.8859000205993652,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.8144999742507935,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.7842000126838684,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7981534004211426},{"id":"https://openalex.org/keywords/finite-state-machine","display_name":"Finite-state machine","score":0.6870431900024414},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.665560245513916},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.6091604828834534},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5615127682685852},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5607123970985413},{"id":"https://openalex.org/keywords/machine-code","display_name":"Machine code","score":0.49952054023742676},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.4778811037540436},{"id":"https://openalex.org/keywords/protocol","display_name":"Protocol (science)","score":0.45361945033073425},{"id":"https://openalex.org/keywords/event","display_name":"Event (particle physics)","score":0.44632455706596375},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.43893855810165405},{"id":"https://openalex.org/keywords/abstract-machine","display_name":"Abstract machine","score":0.4209473133087158},{"id":"https://openalex.org/keywords/abstract-state-machines","display_name":"Abstract state machines","score":0.4107329845428467},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3312914967536926},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.32484543323516846},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.08590993285179138}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7981534004211426},{"id":"https://openalex.org/C167822520","wikidata":"https://www.wikidata.org/wiki/Q176452","display_name":"Finite-state machine","level":2,"score":0.6870431900024414},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.665560245513916},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.6091604828834534},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5615127682685852},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5607123970985413},{"id":"https://openalex.org/C115168132","wikidata":"https://www.wikidata.org/wiki/Q55813","display_name":"Machine code","level":3,"score":0.49952054023742676},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.4778811037540436},{"id":"https://openalex.org/C2780385302","wikidata":"https://www.wikidata.org/wiki/Q367158","display_name":"Protocol (science)","level":3,"score":0.45361945033073425},{"id":"https://openalex.org/C2779662365","wikidata":"https://www.wikidata.org/wiki/Q5416694","display_name":"Event (particle physics)","level":2,"score":0.44632455706596375},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.43893855810165405},{"id":"https://openalex.org/C88977235","wikidata":"https://www.wikidata.org/wiki/Q787114","display_name":"Abstract machine","level":2,"score":0.4209473133087158},{"id":"https://openalex.org/C145243422","wikidata":"https://www.wikidata.org/wiki/Q333385","display_name":"Abstract state machines","level":3,"score":0.4107329845428467},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3312914967536926},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.32484543323516846},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.08590993285179138},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C204787440","wikidata":"https://www.wikidata.org/wiki/Q188504","display_name":"Alternative medicine","level":2,"score":0.0},{"id":"https://openalex.org/C142724271","wikidata":"https://www.wikidata.org/wiki/Q7208","display_name":"Pathology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/ms.2002.1049380","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ms.2002.1049380","pdf_url":null,"source":{"id":"https://openalex.org/S6725529","display_name":"IEEE Software","issn_l":"0740-7459","issn":["0740-7459","1937-4194"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Software","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":1,"referenced_works":["https://openalex.org/W1596790865"],"related_works":["https://openalex.org/W2098353690","https://openalex.org/W4251237796","https://openalex.org/W2371707945","https://openalex.org/W2348641362","https://openalex.org/W2154046960","https://openalex.org/W2522533476","https://openalex.org/W2481999021","https://openalex.org/W2090255520","https://openalex.org/W2372504643","https://openalex.org/W1495759803"],"abstract_inverted_index":{"We":[0],"are":[1,18,53,124],"surrounded":[2],"by":[3],"real-world":[4],"state":[5,40,51,139],"machines:":[6],"ballpoint":[7],"pen":[8],"retractor":[9],"mechanisms,":[10],"vending":[11],"machines,":[12],"washing-machine":[13],"controllers,":[14],"digital":[15],"watches.":[16],"They":[17,107],"a":[19,43],"trivial":[20],"but":[21],"underused":[22],"technology":[23],"that":[24,31,50],"can":[25,73,117,145],"simplify":[26],"how":[27,34],"we":[28],"implement":[29],"programs":[30],"must":[32],"track":[33],"they":[35,81,144],"got":[36],"to":[37,92,100,129],"their":[38],"current":[39],"before":[41],"handling":[42],"new":[44],"event.":[45],"However,":[46],"many":[47],"programmers":[48],"feel":[49],"machines":[52,72,96],"only":[54],"useful":[55],"when":[56],"they're":[57],"developing":[58],"communication":[59],"protocol":[60],"stacks,":[61],"which":[62],"is":[63,69],"not":[64],"an":[65],"everyday":[66],"activity.":[67],"This":[68],"unfortunate.":[70],"State":[71,95],"be":[74],"appropriate":[75],"in":[76,84],"surprising":[77],"circumstances.":[78],"Correctly":[79],"applied,":[80],"will":[82],"result":[83],"faster,":[85],"more":[86,112],"modular,":[87],"less":[88],"coupled,":[89],"and":[90,120,142],"easier":[91],"maintain":[93],"code.":[94],"make":[97],"it":[98],"easy":[99],"eliminate":[101],"duplication,":[102],"honoring":[103],"the":[104],"DRY":[105],"principle.":[106],"also":[108],"let":[109],"you":[110,116],"write":[111],"expressive":[113],"code,":[114],"because":[115],"specify":[118],"intent":[119],"implementation":[121],"independently.":[122],"These":[123],"all":[125],"good,":[126],"pragmatic,":[127],"reasons":[128],"investigate":[130],"them":[131],"further,":[132],"so":[133],"let's":[134],"look":[135],"at":[136],"some":[137],"simple":[138],"machine":[140],"implementations":[141],"problems":[143],"solve.":[146]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2016-06-24T00:00:00"}
