Java作为一种“全球语言” 用于嵌入式解决方案

JAXenter于今年春天在嵌入式世界会见了嵌入式系统解决方案提供商IS2T的首席运营官RégisLatawiec,除其他事项外,讨论了嵌入式技术的发展,为什么Java是其在设备内软件解决方案中的首选语言以及公司的宗旨。展望了物联网的未来。

JAX:贵公司提供什么样的服务?

Latawiec: IS2T是一个软件编辑器,为嵌入式系统软件开发提供解决方案。 我们的旗舰产品是MicroEJ®虚拟平台,该平台可为嵌入式世界的各种处理器提供统一的执行环境。 当然,虚拟平台可以使用Java以外的其他语言,但是我们选择Java技术是因为它是“应用程序的世界语言”之一,拥有超过900万工程师。 我们认为,在面向对象编程中提供虚拟化时,Java与C(其本机辅助语言)协同作用是一个不错的选择。

您什么时候开始营业的?

我们从2005年底开始。FredRivard(IS2T的首席执行官)之前曾在OTI工作,并且是Eclipse Java编译器团队的成员。 几年后,在IBM Java虚拟机团队中,他再次深入参与Java技术设计。 我们在第一轮融资中就筹集了100万欧元,我们设计了MicroEJ技术以及我们的首批产品,旨在为行业提供定制的Java平台。

2009年,我们开始在嵌入式生态系统(软件和芯片供应商)内部建立合作伙伴关系,并提供现成可用的标准平台。 嵌入式市场非常分散,因为有许多不同的微处理器,RTOS,通信堆栈,用户界面堆栈,链接器……并且为了简化这一复杂世界,以减少开发新产品时遇到的困难,各个垂直市场的客户都提出了要求。适用于通用标准软件平台。

很快,我们不得不基于Java虚拟机(JVM)快速设计不同的Java平台,该Java虚拟机可以在任何类型的微处理器或微控制器上运行。 为此,我们在内部开发了工具,流程和软件组件。 如今,我们有20多种不同的Java虚拟机可以适应每个市场,但是仍然提供相同的独特接口来开发嵌入式Java应用程序。 尽管我们主要针对嵌入式处理器,但是我们可以在短短几个月内为任何类型的体系结构构建新的即用型Java平台(而不是“端口”)。 这在行业中是独一无二的:据我们所知,没有竞争对手能做到这一点。

有多少人?

不多,只有几个。 这取决于芯片中包含的微处理器体系结构,RTOS的复杂性以及硬件IP块(例如总线加速器,DMA,管道)。

你是怎样做的?

在设计软件时,所用语言的表达能力是关键。 看一下其他著名的软件公司:它们都有自己的语言,有时甚至是几种语言:Oracle和Java,Microsoft和Java一样的C#,SAP和Abab等…

我们遵循了类似的策略,并希望控制我们的编程语言来开发Java虚拟机。 如今,它使我们拥有了高生产率和出色的执行性能。 毫不奇怪,它是C语言和Java语言的扩展,并以统一的语言组合在一起。

您能告诉我们更多关于这种语言的信息吗?

现在还不行。 它是公司的资产之一。 我们将有一天发布它。

您的市场是什么?

我们专注于从设计到成本的嵌入式系统,从带有HMI的小型连接设备到更复杂的IoT解决方案。 我们不为PC或服务器提供任何虚拟平台,但由于我们的技术非常小,可以将其安装在任何类型的微处理器上,因此我们可以满足众多细分市场的需求。 我们还在智能手机和平板电脑上与挑战者竞争。

过去,公司建立自己的软件平台,但是系统中的所有内容都是紧密耦合且难以维护的。 如今,情况已经发生了变化,公司可以购买现成的平台以节省时间和资源。 现在,市场已经足够成熟,可以在将嵌入式设备快速投放市场时准备采取外包策略。 根据客户的要求,MicroEJ解决方案终于按时交付。

开始时您是否看到了这种情况?

是。 我们确实发现了趋势。 当Java应用程序平台在90年代初出现时,Java语言真的很流行。 不仅因为它是面向对象的编程范例并提供了虚拟机,还因为它的生产率和可伸缩性。 从那时起,嵌入式市场不断发展,以今天的ARM Cortex M4为例,当时的CPU能力与PC大致相同。 现在,每个人都可以在PC或服务器领域使用的设计过程可用于嵌入式软件设计:虚拟应用程序平台现在是一种常用技术。

由于Java的可移植性,IS2T提供了制作用于原型设计和验证的仿真系统的能力。 通常,一旦客户在PC上对他们的系统进行了原型设计,他们就无法模拟由嵌入式系统实现的传感器或执行器。 IS2T提供了使用虚拟传感器或执行器扩展模拟器的能力,以在将其部署到嵌入式系统之前全面测试PC上的软件应用程序。

该模拟器还提供了软件所需的内存占用空间,因此可以选择最合适的硬件系统来运行营销团队期望的功能。 如果可以进行原型制作,并且用于原型制作的技术在流程结束之前保持不变(MicroEJ就是这种情况),则可以并行设计软件和硬件系统。 这允许切换到诸如极限编程,Scrum等的敏捷过程。MicroEJ不仅是一项技术,而且还包括带有设备所需的材料清单的快速上市开发过程。

好的,除了您对嵌入式Java的想法外,您对IoT的总体立场是什么?

IS2T的物联网愿景是由可移植性和普遍性驱动的。 只要您的硬件运行Java,“一次编译,就可以在任何地方运行”就可以了。 这就是我们所看到的:从一美元的微控制器到十五美元的微控制器,每种设备都可以运行Java技术。 一旦知道每个设备都可以运行Java技术,就可以在云中,网关或边缘设备上部署Java程序。

今天,我们使用这种大小的网关[显示出两张信用卡大小的平方],您可以在家中连接任何设备。 在可穿戴设备中,其工作方式相同。 您在[嵌入式世界]中有耐克,也有阿迪达斯。 使用设备时会收集数据。 然后需要进行复杂的数据融合以集成以提供一致的数据,以帮助您监视活动。

不幸的是,这不能由您的智能手机远程控制,因为它必须是即时的,即时的,并且可能与纺织品使用有线通信。 这就是为什么需要可穿戴网关的原因。 因此,要做到这一点,我们将重点放在较小的内存占用上……您可能知道OSGi吗?

是的,我记得读过您是OSGi联盟的成员。

OSGi框架是一个很棒的软件组件,拥有大量的工程师(所有Eclipse插件都是基于OSGi的组件)。 但是它必须依赖于提供对服务可以使用的资源(RAM,CPU负载,数据,IO访问)进行安全控制的基础架构。 您要么使用许多非常复杂的加密手段(代码大小,后勤工作),要么提供Java虚拟机来识别每个供应商服务,每个对象的所有者,每个任务的所有者等等……因此,您需要对服务进行监管内置的虚拟机管理程序。 这就是我们实际上所做的。

您能详细说明一下吗?

Java虚拟机可以以受保护的方式运行服务。 Java虚拟机的内核跟踪称为“功能”(一组OSGi捆绑软件)的所有服务。 当一个功能需要访问另一个功能时,将由内核处理。 内核负责一切。 就像管理程序一样。 如果某个功能开始表现得很奇怪,则内核可以杀死它并像OSGi一样回滚到以前的状态,但是是安全的。 MicroEJ具有OSGi的所有功能,但是安全且内置的虚拟机管理程序的价格不到2万美元。

您总体上对Java的未来有何看法? 去年在JavaOne上宣布JavaSE和JavaME将被统一。 这对Java和物联网有什么后果?

哦,这对整个Java生态系统都非常有用。 我们非常高兴Oracle决定将所有内容统一到一组独特的核心API中,这些API可以在从Java SE for PC到基于MicroEJ的设备的所有设备上使用。

因此,您认为Java最终将实现其“写一次,随处运行”的承诺吗?

这就是为什么我们在这里。 我们的第一个虚拟机在8位微控制器上运行。 我们扩展到了32位核心架构,例如ARM Cortex M系列,现在非常普遍。 我们的起点是一个非常受限制的硬件,我们试图提出一种可以移植到任何地方的体系结构。 现在,我们使用的是Cortex M0 +,Cortex A8和大型多核处理器。

如今,ARM因其新技术V8R而获得嵌入式大奖,该技术可以运行多个操作系统。 您认为这将如何影响整个嵌入式社区?

这将改变人们对事物进行编程的方式。 实际上,这对于IS2T来说是个好消息,因为Java虚拟机基本上旨在简化多核变得越来越复杂的软件设计方法。 使用Java虚拟机,开发人员无需了解任何有关硬件的知识。 IS2T参与了许多项目,其中一个芯片包含256至1024个内核。 对于这些特定项目,即使IS2T处理非常复杂的(内部)系统,它也可以提供统一的编程模型。

目前,嵌入式市场面临的最大挑战是什么?

将Java开发人员带入嵌入式领域-并将嵌入式开发人员带入Java。 [笑]







翻译自: https://jaxenter.com/java-as-a-global-language-for-embedded-solutions-107662.html

你可能感兴趣的:(Java作为一种“全球语言” 用于嵌入式解决方案)