{"updated":"2025-01-19T20:11:18.734035+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00204474","sets":["934:935:9993:10176"]},"path":["10176"],"owner":"44499","recid":"204474","title":["組込みシステム向けFRP言語における状態依存動作のための抽象化機構"],"pubdate":{"attribute_name":"公開日","attribute_value":"2020-04-27"},"_buckets":{"deposit":"ae0f8656-f884-4425-ade6-04d6c7facd57"},"_deposit":{"id":"204474","pid":{"type":"depid","value":"204474","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"組込みシステム向けFRP言語における状態依存動作のための抽象化機構","author_link":["506381","506384","506383","506382"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"組込みシステム向けFRP言語における状態依存動作のための抽象化機構"},{"subitem_title":"An Abstraction Mechanism for Modeling Stateful Behaviors in an FRP Language for Embedded Systems","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[通常論文] 関数リアクティブプログラミング,組込みシステム","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2020-04-27","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"東京工業大学情報理工学院情報工学系"},{"subitem_text_value":"東京工業大学情報理工学院情報工学系"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Department of Computer Science, School of Computing, Tokyo Institute of Technology","subitem_text_language":"en"},{"subitem_text_value":"Department of Computer Science, School of Computing, Tokyo Institute of Technology","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/204474/files/IPSJ-TPRO1302003.pdf","label":"IPSJ-TPRO1302003.pdf"},"date":[{"dateType":"Available","dateValue":"2022-04-27"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO1302003.pdf","filesize":[{"value":"1.8 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"330","billingrole":"5"},{"tax":["include_tax"],"price":"660","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"dcc67ef4-cb44-48e7-bd23-48b36184b9a0","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2020 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"松村, 有倫"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"渡部, 卓雄"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Arimichi, Matsumura","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Takuo, Watanabe","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_3_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AA11464814","subitem_source_identifier_type":"NCID"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_6501","resourcetype":"journal article"}]},"item_3_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7802","subitem_source_identifier_type":"ISSN"}]},"item_3_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"組込みシステムは,外部からの入力に対して自身の状態を更新しながら応答を続けるリアクティブシステムの典型例である.組込みシステムの多くは状態遷移を含み,状態に応じて振舞いを変化させる必要があるためプログラムが複雑になる.本研究では,小規模組込みシステムを対象とした関数リアクティブプログラミング(FRP)言語であるEmfrpに対し,システムの状態に応じて計算の動的な切替えを行うための抽象化機構を導入するswitch拡張を提案する.本拡張は状態ごとに時変値と次に遷移する状態の計算を記述するための機構を提供し,FRPの枠組みの中で状態遷移を扱うことを可能にする.これによって状態遷移を含むリアクティブシステムを宣言的に記述することができる.小規模組込みシステムの開発はマイクロコントローラなどの計算資源が限られた環境を対象としている.このような環境ではリソースの不足による実行時エラーを防ぐため静的にメモリ消費量を見積もる必要がある.提案する手法では遷移する状態の集合を静的に限定し,動的なメモリの確保を行うことなく実行時の計算の切替えを実現させている.switch拡張の処理系は純粋なEmfrpへの変換器として実装されている.提案する拡張によって,状態に応じて振舞いが動的に変化するコンポーネントの記述が容易になることを例を通して示す.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Embedded systems are classified as reactive systems, which respond to external input and update their states. Developing such systems tend to be complicated because many of those systems change their behavior depending on the internal states. To support developing embedded reactive systems, we propose an abstraction mechanism that provides a method to express state-dependent behaviors in the style of Functional Reactive Programming (FRP). Specifically, we introduce a variant of switch-extension to Emfrp, an FRP language designed for small-scale embedded system. This extension provides a mechanism to define time-varying values and state transitions for each state. It enables us to describe stateful reactive systems in a declarative way. Also, the language targets small-scale embedded systems such as microcontrollers. Thus, dynamic memory allocation is not desirable because it may cause runtime error due to unpredictable memory consumption. The proposed extension statically defines the set of states included in transitions to limit possible behaviors. We implement the switch-extension as the source-code translation to pure Emfrp codes. We show an example to demonstrate that the extension adequately modularizes stateful components.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"13","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2020-04-27","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"2","bibliographicVolumeNumber":"13"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"created":"2025-01-19T01:06:44.762990+00:00","id":204474,"links":{}}