跳到主要内容
10.1145/2384716.2384767acm会议文章/章节视图摘要出版物页面泼洒会议记录会议集合
研究论文

mbeddr地址:嵌入式系统可扩展的基于C的编程语言和IDE

出版:2012年10月19日 出版历史

摘要

虽然C编程语言为编写高效的低级代码提供了良好的支持,但它不足以定义与嵌入式软件相关的高级抽象。在本文中,我们提出了mbeddr技术堆栈,该堆栈支持C的扩展,其结构适合嵌入式系统。在mbeddr中,可以使用C中的众所周知的概念编写高效的低级程序。通过对语法、类型系统、语义和IDE进行模块化语言扩展,可以将高级领域特定抽象无缝集成到C中。在本文中,我们展示了语言扩展如何解决嵌入式软件开发的挑战,并报告了我们构建这些扩展的经验。我们表明,语言工作台实现了显著减少语言工程和相应IDE构建工作量的承诺。mbeddr构建在JetBrains MPS语言工作台之上。MPS和mbeddr都是开源软件。

工具书类

[1]
E.Axelsson、K.Claessen、G.Devai、Z.Horvath、K.Keijzer、B.Lyckegard、A.Persson、M.Sheeran、J.Sveningsson和A.Vajda。Feldspar:数字信号处理算法的领域特定语言。在MEMOCODE 2010中。
[2]
Y.Ben-Asher、D.G.Feitelson和L.Rudolph。ParC—用于共享内存并行处理的C的扩展。《软件:实践与经验》,26(5),1996年。
[3]
F.Boussinot。无功C:C的一个扩展,用于编程无功系统。《软件:实践与经验》,21(4),1991年。
[4]
G.布拉查。可插拔型系统。在OOPSLA’04动态语言复兴研讨会上,2004年。
[5]
M.Bravenboer和E.Visser。对象的具体语法:无限制的DSL嵌入和同化。SIGPLAN否。,2004年10月39日。
[6]
M.Bravenboer和E.Visser。为语言库设计语法嵌入和同化。在MoDELS 2007中,LNCS第5002卷。施普林格,2007年。
[7]
M.Broy、S.Kirstan、H.Krcmar和B.Schätz。汽车行业中基于模型的嵌入式软件系统设计的好处是什么?在软件模型进化和维护的新兴技术中。ICI,2011年。
[8]
R.Cox、T.Bergan、A.T.Clements、M.F.Kaashoek和E.Kohler。Xoc是一种面向扩展的系统编程编译器。在ASPLOS 2008中。
[9]
W.Damm、R.Achatz、K.Beetz、M.Broy、H.Dämbkes、K.Grimm和P.Liggesmeyer。国家路线图嵌入式系统。施普林格,2010年3月。
[10]
David H.Lorenz,Boaz Rosenan。Cedalion:面向语言编程的语言。在OOPSLA/SPLAASH会议记录2011、2011中。
[11]
T.Dinkelaker、M.Eichberg和M.Mezini。嵌入式语言的增量具体语法。2011年应用计算研讨会论文集。
[12]
M.Dwyer、G.Avrunin和J.Corbett。用于有限状态验证的属性规范中的模式。在ICSE 1999中。
[13]
A.D.Eisenberg和G.Kiczales。通过演示文稿扩展的表达性程序。AOSD 2007年会议记录。
[14]
T.Ekman和G.Hedin。Jastadd可扩展Java编译器。2007年OOPSLA会议记录。
[15]
S.Erdweg、L.C.Kats、T.Rendel、C.Kästner、K.Ostermann和E.Visser。2011年GPCE’11。
[16]
M.D.Ernst、G.J.Badros和D.Notkin。C预处理器使用的实证分析。IEEE传输。柔和。工程,2002年12月28日。
[17]
A.S.Gokhale、K.Balasubramanian、A.S.Krishna、J.Balasubramanian、G.Edwards、G.Deng、E.Turkay、J.Parsons和D.C.Schmidt。模型驱动中间件:开发分布式实时和嵌入式系统的新范例。《计算机程序设计科学》,73(1),2008年。
[18]
K·哈蒙德和G·迈克尔森。休谟:一种用于实时嵌入式系统的领域特定语言。在GPCE 03和GPCE'03中。
[19]
P.哈达克。模块化领域特定语言和工具。1998年6月,《1998年国际科学研究报告》。
[20]
F.Ivanicic、I.Shlyakhter、A.Gupta和M.K.Ganai。使用F-SOFT对C程序进行模型检查。在ICCD’05中。
[21]
T.Jim、J.G.Morrisett、D.Grossman、M.W.Hicks、J.Cheney和Y.Wang。飓风:2002年美国埃尼克斯岛C的安全方言。USENIX协会。
[22]
G.L.S.Jr.发展语言。《高阶和符号计算》,12(3),1999年。
[23]
S.Karthik和H.G.Jayakumar。静态分析:可靠安全编程的C代码错误检查。在2005年国际Enformatika会议上。
[24]
P.克林特。生成编程环境的元环境。ACM软件工程方法汇刊,2(2),1993年。
[25]
R.T.Lindeman、L.C.L.Kats和E.Visser。声明性定义特定于域的语言调试器。在GPCE 2011、2011中。
[26]
A.我的。嵌入式关键并行C程序运行时错误的静态分析。在2011年ESOP中,LNCS第6602卷。施普林格,2011年。
[27]
MISRA公司。关键系统中C语言的使用指南。
[28]
L.Palopoli、P.Ancilotti和G.C.Buttazzo。用于实时应用程序编程的C语言扩展。第六届实时计算与应用国际研讨会(RTCSA 99)。IEEE标准。
[29]
A.普凯蒂。使用Frama-C.J.UCS对XEN内核进行静态分析,16(4),2010年。
[30]
L.Renggli、T.Girba和O.Nierstrasz。在不破坏工具的情况下嵌入语言。在ECOOP’10中。
[31]
T.W.Reps和T.Teitelbaum。合成器生成器。在第一届ACM SIGSOFT/SIGPLAN软件工程研讨会上,讨论了实用软件开发环境。ACM,1984年。
[32]
C.Simonyi、M.Christerson和S.Clifford。意向性软件。在OOPSLA 2006中。ACM,2006年。
[33]
M.Tatsubori、S.Chiba、K.Itano和M.-O.Killijian。OpenJava:一个基于类的Java宏系统。《反作用与软件工程第一次研讨会》,OOPSLA’99,LNCS第1826卷。
[34]
P.R.节俭。通用Lisp关系:用于逻辑编程的Lisp的扩展。1988年计算机语言国际会议。电气与电子工程师协会。
[35]
M.Voelter先生。语言和IDE开发,模块化和与MPS组合。在GTTSE 2011中,LNCS。施普林格,2011年。
[36]
H.Wu、J.G.Gray、S.Roychoudhury和M.Mernik。将调试方面编织到特定领域的语言语法中。H.Haddad、L.M.Liebrock、A.Omicini和R.L.Wainwright,SAC 2005编辑。

引用人

查看全部
  • (2022)用于算法图形处理的多目标、多通道DSL编译器第十五届ACM SIGPLAN软件语言工程国际会议论文集10.1145/3567512.3567513(2-15)在线发布日期:2022年11月29日
  • (2022)基于领域特定语言的新型IEC 61499开发工具IFAC在线论文2016年10月10日/j.ifacol.2022.04.23355:2(439-444)在线发布日期:2022年
  • (2022)语言分解的方法:语言产品线的质量评估经验软件工程2007年10月10日/10664-021-10074-627:4在线发布日期:2022年7月1日
  • 显示更多引用者

索引术语

  1. mbeddr:一种可扩展的基于C的嵌入式系统编程语言和IDE

    建议

    评论

    信息和贡献者

    问询处

    发布于

    封面图片ACM会议
    SPLASH’12:关于系统、编程和应用:人性化软件的第三届年度会议记录
    2012年10月
    252页
    国际标准图书编号:9781450315630
    内政部:10.1145/2384716
    如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

    赞助商

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2012年10月19日

    权限

    请求对此文章的权限。

    检查更新

    作者标记

    1. 开发环境
    2. 数字用户线
    3. 嵌入式软件
    4. 形式化方法
    5. 语言扩展

    限定符

    • 研究文章

    会议

    喷溅'12
    SPLASH’12:系统、编程和应用会议:人性化软件
    2012年10月19日至26日
    美国图森州亚利桑那州

    即将召开的会议

    24年飞溅
    ACM SIGPLAN系统、编程、语言和应用国际会议:人文软件
    2024年10月20日至25日
    帕萨迪纳,加利福尼亚州,美国

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

    • 下载次数(过去12个月)25
    • 下载次数(最近6周)2
    反映截至2024年9月19日的下载量

    其他指标

    引文

    引用人

    查看全部
    • (2022)用于算法图形处理的多目标、多通道DSL编译器第十五届ACM SIGPLAN软件语言工程国际会议论文集10.1145/3567512.3567513(2-15)在线发布日期:2022年11月29日
    • (2022)基于领域特定语言的新型IEC 61499开发工具IFAC在线论文2016年10月10日/j.ifacol.2022.04.23355:2(439-444)在线发布日期:2022年
    • (2022)语言分解的方法:语言产品线的质量评估经验软件工程2007年10月10日/10664-021-10074-627:4在线发布日期:2022年7月1日
    • (2021)实现软件工件之间的一致性,以实现软件适应和进化2021年IEEE第18届软件架构国际会议(ICSA)10.1109/ICSA51549.2021.00009(1-12)在线发布日期:2021年3月
    • (2021)分析工具的集成和编排组合基于模型的分析工具10.1007/978-3-030-81915-6_5(71-95)在线发布日期:2021年7月18日
    • (2021)基于面向对象技术的具有分析和构造基础结构的组合建模语言——MontiCore方法组合基于模型的分析工具10.1007/978-3-030-81915-6_10(217-234)在线发布日期:2021年7月18日
    • (2021)将保险计算规则描述从Word迁移到MPS实践中的领域特定语言10.1007/978-3-030-73758-0_6(165-194)在线发布日期:2021年4月15日
    • (2021)使用MPS释放领域专家的创造力:语言工程是行业创新的关键促成因素实践中的领域特定语言10.1007/978-3-030-73758-0_2(25-52)在线发布日期:2021年4月15日
    • (2020)MeLa:一种新的多学科海洋浮标编程语言传感器10.3390/s2021608120:21(6081)在线发布日期:2020年10月26日
    • (2020)向文本代码添加交互式可视语法美国计算机学会程序设计语言会议录10.1145/34282904:OOPSLA公司(1-28)在线发布日期:2020年11月13日
    • 显示更多引用者

    视图选项

    获取访问权限

    登录选项

    完全访问权限

    查看选项

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用联机查看电子阅读器.

    电子阅读器

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享