Tammy Noergaard是丹麦Terma公司嵌入式系统首席专家,拥有丰富的专业经验。她也是很多嵌入式系统书籍的作者,包括《解密嵌入式系统中间件》,本书给出了嵌入式系统的概览,包括理论探讨、实践建议和来自现实世界的技术案例。最近我们有幸同Noergaard就其新书和嵌入式系统中间件进行了对话。
在编写《解密嵌入式系统中间件》时,你觉得最意思的事情是什么?
我想可能是不在假设已经看到了做事情的每一种可能的方法,因为每一次你觉得你看到所有的事情,“砰”突然有一种新的方法来实现它,而这种方法与你之前预见的都是对立的。因此,我必须以一种以前从没有覆盖到的做事情的途径重新编写那部分内容。我结束了第一章“解决方案众多 无一完美适用于每个嵌入式系统” 。
有时候中间件被看做连接事物的二进制大对象,在这本书中,你谈到中间件时用了“核心”中间件以及在其顶部创建的更复杂的中间件。以这种方式区别中间件的好处是什么?
如果你有机会进入任何的嵌入式展览,聆听嵌入式系统领袖们的演讲,他们大多不会花费很多时间为我们来定义嵌入式系统。我觉得这很遗憾。因此我才用了实践的方法。“它设备驱动者,操作系统的核心,一种应用程序。”然后我在中间定义了这个二进制大对象,也就是我如何提出的这两种类型。这都基于我自身的经验。
我讲:“什么是中间件?”当我将其分成核心中间件和核心顶部的更复杂的中间件。我会说:“通常你在嵌入式系统中发现的中间件是什么类型?”这也就是我所说的核心中间件。
退一步,我们可以看到这个东西不是大家尝试的普遍的东西,它有时候相当成功。核心中间件要比更复杂的类型更多一些,因为复杂类型要求更多的处理能力和更多的内存以及更多的昂贵硬件。
关于嵌入式系统中间件,传播度最广的假想是什么?
这取决于你说的是否是大家尝试定义什么是中间件或者你谈论是否是大家实际用中间件尝试什么。我想我应该为两者指出一些实例。
对于尝试创建中间件的人,我只能说我见过和听到的最大的神话是以某种方法尝试创建中间件解决方案,不论是他们想买给创建设备的工程师的一种组件,还是他们是唯一创建设备的,他们认为他们可以脱离出抽象,像PC程序员。因为它在嵌入式操作系统之上,不需要理解驱动者是什么,硬件是什么,我觉得这是一种搬起石头砸自己的脚的做法。
另一面,定义中间件最大的假想是很多人把中间件看做复杂消息中间件,像MOM等等。我认为很多基础核心中间件和一些落下的具体中间件一样。他们知道数据链路层之上有网络堆栈,有嵌入式JVM或者文件系统和数据库,这些数据块浮动在周围,但也在我的书的范围之内。(张培颖/译)