{"id":"https://openalex.org/W2130836549","doi":"https://doi.org/10.1145/1411318.1411320","title":"A functional model-view-controller software architecture for command-oriented programs","display_name":"A functional model-view-controller software architecture for command-oriented programs","publication_year":2008,"publication_date":"2008-09-20","ids":{"openalex":"https://openalex.org/W2130836549","doi":"https://doi.org/10.1145/1411318.1411320","mag":"2130836549"},"language":"en","primary_location":{"id":"doi:10.1145/1411318.1411320","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1411318.1411320","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN workshop on Generic programming","raw_type":"proceedings-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/A5108187292","display_name":"Alley Stoughton","orcid":null},"institutions":[{"id":"https://openalex.org/I189590672","display_name":"Kansas State University","ror":"https://ror.org/05p1j8758","country_code":"US","type":"education","lineage":["https://openalex.org/I189590672"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Alley Stoughton","raw_affiliation_strings":["Kansas State University, Manhattan, KS, USA","Kansas State University, Manhattan, KS, USA;"],"affiliations":[{"raw_affiliation_string":"Kansas State University, Manhattan, KS, USA","institution_ids":["https://openalex.org/I189590672"]},{"raw_affiliation_string":"Kansas State University, Manhattan, KS, USA;","institution_ids":["https://openalex.org/I189590672"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5108187292"],"corresponding_institution_ids":["https://openalex.org/I189590672"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.10149074,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"12"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"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"}},{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9984999895095825,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.8528187274932861},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5789589881896973},{"id":"https://openalex.org/keywords/controller","display_name":"Controller (irrigation)","score":0.549883246421814},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.533301830291748},{"id":"https://openalex.org/keywords/parameterized-complexity","display_name":"Parameterized complexity","score":0.42450472712516785},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.41886335611343384},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4115990400314331}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8528187274932861},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5789589881896973},{"id":"https://openalex.org/C203479927","wikidata":"https://www.wikidata.org/wiki/Q5165939","display_name":"Controller (irrigation)","level":2,"score":0.549883246421814},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.533301830291748},{"id":"https://openalex.org/C165464430","wikidata":"https://www.wikidata.org/wiki/Q1570441","display_name":"Parameterized complexity","level":2,"score":0.42450472712516785},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.41886335611343384},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4115990400314331},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.0},{"id":"https://openalex.org/C6557445","wikidata":"https://www.wikidata.org/wiki/Q173113","display_name":"Agronomy","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1411318.1411320","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1411318.1411320","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN workshop on Generic programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":16,"referenced_works":["https://openalex.org/W53176000","https://openalex.org/W65521838","https://openalex.org/W1495087637","https://openalex.org/W1502255244","https://openalex.org/W1534063233","https://openalex.org/W1576530968","https://openalex.org/W1584951182","https://openalex.org/W1727609483","https://openalex.org/W1996974848","https://openalex.org/W2043261859","https://openalex.org/W2072722514","https://openalex.org/W2116335447","https://openalex.org/W2129538696","https://openalex.org/W2134342348","https://openalex.org/W6634356056","https://openalex.org/W6679822280"],"related_works":["https://openalex.org/W2051058708","https://openalex.org/W1494268238","https://openalex.org/W154868527","https://openalex.org/W1983207144","https://openalex.org/W2490706771","https://openalex.org/W2480116122","https://openalex.org/W4255576661","https://openalex.org/W1516574938","https://openalex.org/W2625725254","https://openalex.org/W2563912921"],"abstract_inverted_index":{"Command-oriented":[0],"functional":[1,47,58],"programs":[2,43],"are":[3,181],"currently":[4],"structured":[5,63],"in":[6,209],"an":[7,132],"ad":[8],"hoc":[9],"way":[10,179],"that":[11,44,150],"makes":[12,23],"the":[13,105,172,178,187,217],"development":[14],"of":[15,86,89,167,186,204],"multiple":[16],"user-interfaces":[17],"difficult":[18,25],"and":[19,22,72,100,126,142,157,192,212,216],"error":[20],"prone,":[21],"it":[24,107],"to":[26,78,96,101,104,111,183,189],"abstractly":[27],"understand":[28,156],"a":[29,38,51,60,65,81,87,118,129,160,165,201,205],"program's":[30,161],"command-oriented":[31,162],"behavior.":[32],"To":[33,115],"rectify":[34],"this,":[35],"we":[36,45,180],"propose":[37],"software":[39],"architecture":[40],"for":[41],"such":[42],"call":[46],"model-view-controller":[48],"(MVC),":[49],"by":[50,123,169,194],"rough":[52],"analogy":[53],"with":[54,200],"object-oriented":[55,79],"MVC.":[56],"In":[57,76],"MVC,":[59,80],"program":[61],"is":[62,83,177],"as":[64],"model":[66,110,125,188],"(domain-specific":[67],"aspects),":[68],"view":[69,95],"(abstract":[70],"user)":[71],"controller":[73,82,119],"(command":[74],"loops).":[75],"contrast":[77],"active,":[84],"consisting":[85],"number":[88],"recursive":[90],"functions.":[91],"It":[92],"calls":[93,108],"its":[94,109,124],"get":[97],"user":[98],"input":[99],"display":[102],"results":[103],"user;":[106],"do":[112,151],"domain-specific":[113],"work.":[114],"increase":[116],"adaptability,":[117],"should":[120],"be":[121,190],"parameterized":[122],"view,":[127],"using":[128,213],"function":[130],"or":[131],"ML-style":[133],"functor.":[134],"With":[135],"this":[136],"approach,":[137],"one":[138,145],"can":[139,146,155],"write":[140,148],"terminal":[141],"graphical":[143],"views;":[144],"also":[147],"views":[149],"abstract":[152],"scripting.":[153],"One":[154],"reason":[158],"about":[159],"aspects":[163],"at":[164],"high-level":[166],"abstraction":[168],"focusing":[170],"on":[171],"controller.":[173],"Of":[174],"particular":[175],"note":[176],"able":[182],"allow":[184],"computations":[185],"monitored":[191],"aborted":[193],"view.":[195],"We":[196],"illustrate":[197],"our":[198],"approach":[199],"case":[202],"study":[203],"complete":[206],"program,":[207],"written":[208],"Standard":[210],"ML,":[211],"Concurrent":[214],"ML":[215],"eXene":[218],"X":[219],"window":[220],"system":[221],"toolkit.":[222]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
