应用需求的复杂性带来的问题软件在智能机器开发中的重要性毋庸置疑
发表时间:2023-10-19 07:02:23
文章来源:炫佑科技
浏览次数:173
菏泽炫佑科技
应用需求的复杂性带来的问题软件在智能机器开发中的重要性毋庸置疑
软件在智能机发展中的重要性是毋庸置疑的,这一点也逐渐被业界所认识。 软件是封装专有技术的容器。 还包括平台对开放性的支持以及提高开发效率的需要。 如何让它变得更简单? 用户体验,这些都是机器开发者关心的。
传统的机器开发软件并不复杂,但如今的机器包括定位同步、机器人与CNC集成、安全、液压、HMI、视觉等,需要与MES互联,提供语义互操作、远程维护和诊断能力,这使得这也使得机器软件开发比十年前更加复杂和规模更大。
然而,对于设备制造商来说,软件的复杂性也给机器的开发带来了很多困难,(1)。 开发进度难以预测,(2)开发成本难以控制,(3)用户对产品功能的期望难以满足,(4)产品质量难以保证,(5)软件难以保证维持。 很多时候,技术变革带来的不明确的需求和变化,对于很多创新机器的开发来说都面临着一些未知的风险。 让软件开发同样具有挑战性。
什么是银弹? 它存在吗?
IT行业软件的大规模发展,使得这些困难较早爆发,也引发了软件工程的方法论研究,自动化行业可以从中窥见一斑。
图1-先生-软件工程专家
20世纪80年代,他在《No: and in》一书中讨论了软件工程的根本和次要困难。 他的一个基本结论是“不存在银弹”*(《银弹:欧洲中世纪的传说》)有一种怪物,名叫“狼”,只能用银制成的特殊子弹杀死。银弹被用作解决软件开发中根本困难的有效手段的隐喻)。 也就是说,任何技术或管理进步都不能独立承诺在 10 年内显着提高软件生产力、可靠性和简单性。”
所谓次要困难是指软件开发过程中已经存在或仍然存在但不是固有的困难。 这些问题在过去几年都得到了解决,例如:高级语言、分时、统一开发平台等,这些发展极大地提高了软件开发的效率和质量。 然而,由于软件开发存在根本性困难,这些发展不太可能对当前软件开发的现状带来根本性的改变。
同时也分析了一些可能的“银弹”,包括购买而不是自行开发(商业第三方组件)、需求净化和快速原型、增量开发、优秀的设计师等。虽然这些方法也都是可以的。虽然不能从本质上解决问题,但无疑可以在一定程度上帮助我们提高软件开发的效率和质量。
软件重用和组件技术
他认为软件领域没有灵丹妙药,但并不是所有人都同意他的观点。 Cox于1990年在《BYTE》杂志上发表了一篇文章《There is a》,他认为“软件重用和可插拔组件技术可以‘从根本上改变软件的开发模式’”。软件重用的兴起也让我非常关注。他后来在《不》一书中承认了重用所带来的革命性成果:“解决软件组件根本困难的方法是不进行开发。 软件包知识实现上述目标的途径之一是程序复用。 事实上,类的轻松重用和通过继承方便的定制是面向对象技术*吸引人的方面。”,在这篇文章中,他引用了琼斯的观点,即“关注质量和生产力自然会提高”。
软件复用是指通过现有软件的各种相关知识来构建新的软件,包括:领域知识、开发经验、设计经验、架构、需求、设计、编码、测试和文档等。
严格意义上的软件复用是指复用“为复用而设计的软件”的过程
软件复用技术虽然起源于大型软件的开发,但其思想对于当今智能时代的工业自动化和制造开发系统也具有很大的参考价值。
对于软件复用,从软件工程的角度来看,必须制定一定的设计原则,如下所述:
软件复用是目的,组件是实现方法
组件技术必须有强大的服务平台支撑。 基础软件平台的必要性是毋庸置疑的。 因此,组件的实现必须基于一定的软件基础。
组件的定义
组件是预先创建的(为什么)
原因一:源代码复用成本高昂,所以*好提前创建
原因 2:应用程序集成需要以意想不到的方式重用
原因三:可维护性问题,组件之间的界限更清晰
理由4:易于采用增量开发方法
组件是黑匣子
内部结构封装完好
通过接口提供服务(接口规范)
组件是可分离的
组件被定义为具有高内聚和低耦合
组件的封装可以防止其他组件知道其内部知识
组件可用于组装和部署
编译后组装组件
组件在组装后部署或在运行时组装(Jini)
组件依赖于支持技术和工具
组件容器:提供支持组件的运行环境,并提供组装和部署工具
综上所述,软件组件的定义:
实现软件重用所需的技术
图 3 - 实现软件重用所需的技术
如图3所示,软件复用需要相关技术来实现组件的设计和封装。 这些技术包括:
(1). 领域工程主要是指行业内应用的积累和模型提取,由专家定义行业库的模型,如包装机、注塑机(液压、全电动、二板、色母等)。 )。
需求分析、组件模型和软件验证技术的融合可以更好地开发组件。
(2)软件再工程:主要是在组件技术架构下对现有软件功能进行重新设计、封装和验证,以保证其软件的健壮性和完整性。
(3)。 软件架构技术:如何标准化和描述组件。 在自动化领域,可以基于-3、进行标准化。
(4)组件组装:组件之间的接口、使能关系、连接和UI界面的设计是软件内部结构和外部互连结构设计的关键。 因此,借助开放技术,工作量当然可以大大减少,所以,基于IT技术的软件模块更容易实现标准化组装。
mapp-自动化银弹技术
mapp是贝加莱*新开发的基于软件复用和组件技术的智能系统开发平台。 它的思想是利用软件代码的复用,使多年积累的知识能够以功能模块的形式封装起来。 mapp技术的功能划分基于以下单位:
图4-mapp架构及原理
(1). 机电一体化对象
由于轴的控制(单轴定位、多轴同步)、CNC和机器人都可以以标准的功能方式存在,特别是体现了新的集成方法,将机器人视为执行器,与其他工艺设备、远程维护功能等集成到同一软件架构中,真正实现智能集成无缝。
(2).行业函数库
形成包装塑料行业注胶、开合模、合模控制等标准功能块,药品审核跟踪、电子签名功能形成标准库集成能力。
图5-mapp示例:注塑机的发展
(3).基础库
对于每台机器都会有的趋势、报警、配方管理、状态监控等,实现了整机开发通用的基础模块,避免了大部分重复工作。
(4)。
每个功能块都可以配置和连接以形成整体应用程序。
(5).基于Web的诊断与服务
通过IE浏览器,可以对支持XML和CSS格式的智能手机等远程终端、机器和系统进行监控和维护自动化软件开发,并且可以使用开放的软件来实现这些原本需要复杂开发的任务。
Mapp技术是一个革命性的软件开发平台。 经测试开发效率可达67%。 通过并行开发,可以快速实现机器运行和批量生产,调试时间短。
mapp实际上是基于模块化编程并采用其规范。 这也是一个示范应用。 作为一个开放的、独立于制造商的编程标准,它也是未来智能时代通用技术的基础,包括XML、OPC UA、-3等,而mapp借助它封装了自己的Know-How。
mapp生成的前提
贝加莱的mapp堪称自动化领域的革命性技术。 然而,怀疑的人也质疑过去也曾出现过同样的技术。 但是,如果我们看看过去的模块化,今天的mapp有什么不同,包含的功能是不同的。 传统的模块化还没有达到今天的复杂性和开放性。 因此,从某种意义上来说,mapp确实是一个革命性的自动化软件开发平台。 尽管如此,我们只能说mapp解决了基本问题。 然而,更多行业Know-How的积累需要更长的过程,而贝加莱走在了这个时代的*前沿。
另外,mapp的开发实现起来并不容易,真正实现需要一定的前提条件:
(1). 必须基于丰富的产业积累
与以产品为导向的商业模式不同,贝加莱始终以解决方案为导向。 此外,直销在其中也发挥着重要作用。 正是这两者的结合让贝加莱对其他公司拥有了更多的控制权。 拥有丰富的行业工艺库、丰富的开发经验和整体工程技术人才应用需求的复杂性带来的问题软件在智能机器开发中的重要性毋庸置疑,这是整个开发的基础。
(2)。 有坚强的意志
由于采用直销模式,贝加莱必须拥有更大的工程师团队来支持这些解决方案的执行。 在深度参与客户研发项目的同时,提升自身工程效率也刻不容缓。 因此,将可复用代码封装起来,不仅有利于客户,也有利于自身的增值服务。
(3)。 拥有开放的平台和持续的行业演进
实现软件复用和组件技术,必须依靠完整的工程平台和开放的软件架构。 并不是所有的公司都能做到这一点。 它是mapp技术的平台基础,也是业界为数不多的之一。 集成开发平台。
借助以上三个重要原因,贝加莱革命性的开发技术mapp得以存在并拥有其独特的竞争优势。
因此,自动化行业还有一个软件开发的“银弹技术”——mapp
参考
[1]赵文云,《软件工程:方法与实践》,复旦大学出版社,2014年
[2] 张孝祥. 计算机科学与技术百科全书(第二版)。 清华大学出版社,2005
[3] 王英辉,哈尔滨工业大学,软件架构——软件复用与组件技术
炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等