Enhancing embedded systems development with TS
The lack of flexibility and safety in C language development has been criticized for a long time, causing detriments to the development cycle and software quality in the embedded systems domain. TypeScript, as an optionally-typed dynamic language, offers the flexibility and safety that developers de...
Gespeichert in:
Veröffentlicht in: | Automated software engineering 2024-05, Vol.31 (1), p.6, Article 6 |
---|---|
Hauptverfasser: | , , , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | |
---|---|
container_issue | 1 |
container_start_page | 6 |
container_title | Automated software engineering |
container_volume | 31 |
creator | Yu, Xingzi Tang, Wei Xiong, Tianlei Chen, Wengang He, Jie Yang, Bin Qi, Zhengwei |
description | The lack of flexibility and safety in C language development has been criticized for a long time, causing detriments to the development cycle and software quality in the embedded systems domain. TypeScript, as an optionally-typed dynamic language, offers the flexibility and safety that developers desire. With the advancement of Ahead-of-Time (AOT) compilation technologies for TypeScript and JavaScript, it has become feasible to write embedded applications using TypeScript. Despite the availability of writing AOT compiled programs with TypeScript, implementing a compiler toolchain for this purpose requires substantial effort. To simplify the design of languages and compilers, this paper presents a new compiler toolchain design methodology called TS
-
, which advocates the generation of target intermediate language code (such as C) from TypeScript rather than the construction of higher-level compiler tools and type systems on top of the intermediate language. TS
-
not only simplifies the design of the system but also provides developers with a quasi-native TypeScript development experience. This paper also presents
Ts2Wasm
, a prototype that implements TS
-
and allows compiling a language subset of TypeScript to WebAssembly (WASM). The tests in the TypeScript repository show that
Ts2Wasm
provides 3.8× as many features compared to the intermediate language (AssemblyScript). Regarding performance,
Ts2Wasm
offers a significant speed-up of 1.4× to 19×. Meanwhile, it imposes over 65% less memory overhead compared to Node.js in most cases. |
doi_str_mv | 10.1007/s10515-023-00404-x |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2918205268</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2918205268</sourcerecordid><originalsourceid>FETCH-LOGICAL-c270t-1528ddc723bd3385b24694dc89f4ae4dd9b8b5fc873634d2daf3bed688a9e723</originalsourceid><addsrcrecordid>eNp9kMtOwzAURC0EEqXwA6wisXa5fiX2ElXlIVViQfZWEt-0qZoHdgrt32MIEjtWs5kzIx1CbhksGEB2HxgopihwQQEkSHo8IzOmMkEzJdQ5mYHhmmrD4JJchbADAJMaMyOLVbctuqrpNgm2JTqHLgmnMGIbEocfuO-HFrsx-WzGbZK_XZOLutgHvPnNOckfV_nyma5fn16WD2ta8QxGyhTXzlUZF6UTQquSy9RIV2lTywKlc6bUpaornYlUSMddUYt4nmpdGIzUnNxNs4Pv3w8YRrvrD76Lj5YbpjkonurY4lOr8n0IHms7-KYt_MkysN9a7KTFRi32R4s9RkhMUIjlboP-b_of6gtVGmU5</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2918205268</pqid></control><display><type>article</type><title>Enhancing embedded systems development with TS</title><source>SpringerLink Journals</source><creator>Yu, Xingzi ; Tang, Wei ; Xiong, Tianlei ; Chen, Wengang ; He, Jie ; Yang, Bin ; Qi, Zhengwei</creator><creatorcontrib>Yu, Xingzi ; Tang, Wei ; Xiong, Tianlei ; Chen, Wengang ; He, Jie ; Yang, Bin ; Qi, Zhengwei</creatorcontrib><description>The lack of flexibility and safety in C language development has been criticized for a long time, causing detriments to the development cycle and software quality in the embedded systems domain. TypeScript, as an optionally-typed dynamic language, offers the flexibility and safety that developers desire. With the advancement of Ahead-of-Time (AOT) compilation technologies for TypeScript and JavaScript, it has become feasible to write embedded applications using TypeScript. Despite the availability of writing AOT compiled programs with TypeScript, implementing a compiler toolchain for this purpose requires substantial effort. To simplify the design of languages and compilers, this paper presents a new compiler toolchain design methodology called TS
-
, which advocates the generation of target intermediate language code (such as C) from TypeScript rather than the construction of higher-level compiler tools and type systems on top of the intermediate language. TS
-
not only simplifies the design of the system but also provides developers with a quasi-native TypeScript development experience. This paper also presents
Ts2Wasm
, a prototype that implements TS
-
and allows compiling a language subset of TypeScript to WebAssembly (WASM). The tests in the TypeScript repository show that
Ts2Wasm
provides 3.8× as many features compared to the intermediate language (AssemblyScript). Regarding performance,
Ts2Wasm
offers a significant speed-up of 1.4× to 19×. Meanwhile, it imposes over 65% less memory overhead compared to Node.js in most cases.</description><identifier>ISSN: 0928-8910</identifier><identifier>EISSN: 1573-7535</identifier><identifier>DOI: 10.1007/s10515-023-00404-x</identifier><language>eng</language><publisher>New York: Springer US</publisher><subject>Artificial Intelligence ; Compilers ; Computer Science ; Embedded systems ; Flexibility ; Intermediate languages ; Language ; Safety ; Software Engineering/Programming and Operating Systems</subject><ispartof>Automated software engineering, 2024-05, Vol.31 (1), p.6, Article 6</ispartof><rights>The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2023. Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c270t-1528ddc723bd3385b24694dc89f4ae4dd9b8b5fc873634d2daf3bed688a9e723</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s10515-023-00404-x$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/s10515-023-00404-x$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>314,780,784,27924,27925,41488,42557,51319</link.rule.ids></links><search><creatorcontrib>Yu, Xingzi</creatorcontrib><creatorcontrib>Tang, Wei</creatorcontrib><creatorcontrib>Xiong, Tianlei</creatorcontrib><creatorcontrib>Chen, Wengang</creatorcontrib><creatorcontrib>He, Jie</creatorcontrib><creatorcontrib>Yang, Bin</creatorcontrib><creatorcontrib>Qi, Zhengwei</creatorcontrib><title>Enhancing embedded systems development with TS</title><title>Automated software engineering</title><addtitle>Autom Softw Eng</addtitle><description>The lack of flexibility and safety in C language development has been criticized for a long time, causing detriments to the development cycle and software quality in the embedded systems domain. TypeScript, as an optionally-typed dynamic language, offers the flexibility and safety that developers desire. With the advancement of Ahead-of-Time (AOT) compilation technologies for TypeScript and JavaScript, it has become feasible to write embedded applications using TypeScript. Despite the availability of writing AOT compiled programs with TypeScript, implementing a compiler toolchain for this purpose requires substantial effort. To simplify the design of languages and compilers, this paper presents a new compiler toolchain design methodology called TS
-
, which advocates the generation of target intermediate language code (such as C) from TypeScript rather than the construction of higher-level compiler tools and type systems on top of the intermediate language. TS
-
not only simplifies the design of the system but also provides developers with a quasi-native TypeScript development experience. This paper also presents
Ts2Wasm
, a prototype that implements TS
-
and allows compiling a language subset of TypeScript to WebAssembly (WASM). The tests in the TypeScript repository show that
Ts2Wasm
provides 3.8× as many features compared to the intermediate language (AssemblyScript). Regarding performance,
Ts2Wasm
offers a significant speed-up of 1.4× to 19×. Meanwhile, it imposes over 65% less memory overhead compared to Node.js in most cases.</description><subject>Artificial Intelligence</subject><subject>Compilers</subject><subject>Computer Science</subject><subject>Embedded systems</subject><subject>Flexibility</subject><subject>Intermediate languages</subject><subject>Language</subject><subject>Safety</subject><subject>Software Engineering/Programming and Operating Systems</subject><issn>0928-8910</issn><issn>1573-7535</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><recordid>eNp9kMtOwzAURC0EEqXwA6wisXa5fiX2ElXlIVViQfZWEt-0qZoHdgrt32MIEjtWs5kzIx1CbhksGEB2HxgopihwQQEkSHo8IzOmMkEzJdQ5mYHhmmrD4JJchbADAJMaMyOLVbctuqrpNgm2JTqHLgmnMGIbEocfuO-HFrsx-WzGbZK_XZOLutgHvPnNOckfV_nyma5fn16WD2ta8QxGyhTXzlUZF6UTQquSy9RIV2lTywKlc6bUpaornYlUSMddUYt4nmpdGIzUnNxNs4Pv3w8YRrvrD76Lj5YbpjkonurY4lOr8n0IHms7-KYt_MkysN9a7KTFRi32R4s9RkhMUIjlboP-b_of6gtVGmU5</recordid><startdate>20240501</startdate><enddate>20240501</enddate><creator>Yu, Xingzi</creator><creator>Tang, Wei</creator><creator>Xiong, Tianlei</creator><creator>Chen, Wengang</creator><creator>He, Jie</creator><creator>Yang, Bin</creator><creator>Qi, Zhengwei</creator><general>Springer US</general><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>JQ2</scope></search><sort><creationdate>20240501</creationdate><title>Enhancing embedded systems development with TS</title><author>Yu, Xingzi ; Tang, Wei ; Xiong, Tianlei ; Chen, Wengang ; He, Jie ; Yang, Bin ; Qi, Zhengwei</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c270t-1528ddc723bd3385b24694dc89f4ae4dd9b8b5fc873634d2daf3bed688a9e723</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Artificial Intelligence</topic><topic>Compilers</topic><topic>Computer Science</topic><topic>Embedded systems</topic><topic>Flexibility</topic><topic>Intermediate languages</topic><topic>Language</topic><topic>Safety</topic><topic>Software Engineering/Programming and Operating Systems</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Yu, Xingzi</creatorcontrib><creatorcontrib>Tang, Wei</creatorcontrib><creatorcontrib>Xiong, Tianlei</creatorcontrib><creatorcontrib>Chen, Wengang</creatorcontrib><creatorcontrib>He, Jie</creatorcontrib><creatorcontrib>Yang, Bin</creatorcontrib><creatorcontrib>Qi, Zhengwei</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Computer Science Collection</collection><jtitle>Automated software engineering</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Yu, Xingzi</au><au>Tang, Wei</au><au>Xiong, Tianlei</au><au>Chen, Wengang</au><au>He, Jie</au><au>Yang, Bin</au><au>Qi, Zhengwei</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Enhancing embedded systems development with TS</atitle><jtitle>Automated software engineering</jtitle><stitle>Autom Softw Eng</stitle><date>2024-05-01</date><risdate>2024</risdate><volume>31</volume><issue>1</issue><spage>6</spage><pages>6-</pages><artnum>6</artnum><issn>0928-8910</issn><eissn>1573-7535</eissn><abstract>The lack of flexibility and safety in C language development has been criticized for a long time, causing detriments to the development cycle and software quality in the embedded systems domain. TypeScript, as an optionally-typed dynamic language, offers the flexibility and safety that developers desire. With the advancement of Ahead-of-Time (AOT) compilation technologies for TypeScript and JavaScript, it has become feasible to write embedded applications using TypeScript. Despite the availability of writing AOT compiled programs with TypeScript, implementing a compiler toolchain for this purpose requires substantial effort. To simplify the design of languages and compilers, this paper presents a new compiler toolchain design methodology called TS
-
, which advocates the generation of target intermediate language code (such as C) from TypeScript rather than the construction of higher-level compiler tools and type systems on top of the intermediate language. TS
-
not only simplifies the design of the system but also provides developers with a quasi-native TypeScript development experience. This paper also presents
Ts2Wasm
, a prototype that implements TS
-
and allows compiling a language subset of TypeScript to WebAssembly (WASM). The tests in the TypeScript repository show that
Ts2Wasm
provides 3.8× as many features compared to the intermediate language (AssemblyScript). Regarding performance,
Ts2Wasm
offers a significant speed-up of 1.4× to 19×. Meanwhile, it imposes over 65% less memory overhead compared to Node.js in most cases.</abstract><cop>New York</cop><pub>Springer US</pub><doi>10.1007/s10515-023-00404-x</doi></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0928-8910 |
ispartof | Automated software engineering, 2024-05, Vol.31 (1), p.6, Article 6 |
issn | 0928-8910 1573-7535 |
language | eng |
recordid | cdi_proquest_journals_2918205268 |
source | SpringerLink Journals |
subjects | Artificial Intelligence Compilers Computer Science Embedded systems Flexibility Intermediate languages Language Safety Software Engineering/Programming and Operating Systems |
title | Enhancing embedded systems development with TS |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-01T15%3A16%3A45IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Enhancing%20embedded%20systems%20development%20with%20TS&rft.jtitle=Automated%20software%20engineering&rft.au=Yu,%20Xingzi&rft.date=2024-05-01&rft.volume=31&rft.issue=1&rft.spage=6&rft.pages=6-&rft.artnum=6&rft.issn=0928-8910&rft.eissn=1573-7535&rft_id=info:doi/10.1007/s10515-023-00404-x&rft_dat=%3Cproquest_cross%3E2918205268%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2918205268&rft_id=info:pmid/&rfr_iscdi=true |