时间:2023-01-06 11:00:38
导言:作为写作爱好者,不可错过为您精心挑选的10篇计算机软件论文,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
2嵌入式实时软件在计算机软件设计中的应用方法
2.1划分各程序的职责
为保证软件系统的实时,在进行嵌入式实时关键设计时,要划分各程序的职责,避免软件和硬件出现脱离现象,在计算机软件设计过程中,要根据不同的程序的功能在软件中安排特定的位置,在系统中使用优先有序的分配模式,从而减少系统对任务的反应时间。
2.2嵌入式实时软件的控制
在进行计算机软件设计时,嵌入式软件的要求会更高,在软件运行过程中,如果出现时间偏差,就可能对整个软件造成严重的影响,因此,在进行嵌入式实时软件设计时,要严格的控制时间,创建一个良好的嵌入式实时软件运行环境,确保计算机软件安全、稳定的运行。3.3嵌入式实时软件开发的作用在进行嵌入式实时软件设计过程中,需要和系统的软件和硬件紧密的结合起来,将实时处理技术融入软件开发中,利用实时机制进行事件处理,可以实现CORBA及相关模型,还可以在远程调控中增加多种服务。在计算机软件面向组件的设计过程中,嵌入式实时软件能有效的增强软件的独立性和重用性,
3软件设计实例
在本次计算机嵌入式实时软件设计中,选择能提高嵌入式实时系统的响应时间,可以同步控制的AT91RM9200微处理器。软件设计使用到的系统有C++语言、数字信号处理器、微机保护系统、IO设备等。本次计算机软件设计是在软件和硬件的系统同时进行设计开发的。在进行计算机嵌入式实时软件设计过程中,要先分析的系统的需求,然后进行计算机软件设计、软件测试固化、代码生成等步骤。在进行计算机嵌入式实时软件设计时,将软件系统的功能分成多个模块,将软件设计开发模块化,从而将系统中不同任务区分开来,建立硬件和软件交互系统,从而提高软件设计的稳定性。本次计算机嵌入式实时软件的设计,中断驱动方式采用可以提高嵌入式系统实时性的事件驱动方式,在进行计算机嵌入式系统内部功能设计时,为确保系统内部功能的积极响应,将设计任务周期化。在软件设计过程中,为实现软件内部资源共享,将控制任务转换成图形结构,从而简化设计流程。在设计计算机嵌入式实时软件结构时,要控制好软件和硬件结构的脱离现象,降低硬件对普通计算机软件设计的影响。软件设计过程中将每个任务设计在软件系统中制定的位置中,从而提高系统对任务的响应时间。最后使用C++语言进行嵌入式实时软件编程。
软件复用技术的提出成为消除这种危机的一种解决方案。近年来,特别是20世纪90年代以后,面向对象方法和技术成为主流的软件开发技术,使得软件复用被视为解决软件危机一条现实可行的途径。与此同时,模型构件技术、分布式系统、领域工程、自动生成技术又为软件复用注入了新的活力,本文对面向对象系统分析阶段软件复用模型进行了研究和探讨。
一、软件复用
软件复用的概念是在1968年NATO软件工程会议上被第一次引入的,在其后的几十年中,进行了许多复用技术的研究和实践活动,但因技术和非技术方面的种种因素,造成复用技术在整体上对软件产业的影响不尽人意。面向对象方法和技术的出现及成熟,为软件复用提供了强有力的技术支持,尤其是软件构件技术的发展为其注入了新的活力,使得软件复用研究重新成为热点,被视为解决软件危机、提高软件生产效率和质量的一个现实可行的途径,同时也成为了避免软件开发中重复劳动的解决方案,并在一定程度上降低了软件开发的费用。目前,软件复用技术主要从两个方面来考虑:产品复用、过程复用。
产品复用:所谓产品复用是指复用已有的软件产品。目前基于构件的和面向服务的软件开发模式就是建立在这种软件复用的基础上的。这两种开发模式主要通过对现有的构件和服务进行合成或集成,从而生成所需要软件的过程。产品的复用是目前软件复用技术研究的焦点,在这个复用的过程中涉及到的关键技术是构件技术和软件架构技术,在成熟的构件和架构的技术上,可以使产品复用达到良好的效果。
二、面向对象系统分析(OOA)阶段软件复用模型
1.OOA阶段可重用性的本质
编程阶段不同类型的编程软件和类有不同深度的可重用性:高深度、中深度、低深度。
所谓高深度重用是指在不进行任何改变就可以直接使用重用产品的重用,像可视化开发工具中的所有控件,就属于这方面的重用;目前,面向服务的软件开发技术中对服务的重用,只要程序员获得服务者提供的接口,就可以直接使用别人开发的产品,这种复用也是高深度的复用技术,因此高深度的软件复用,可重用性最好;所谓中深度的重用,程序员可以根据自己的开发经验,开发出一些比较通用的组件,在具体的使用中,对这些通用的组件只要稍作修改就可以应用于具体的项目中去,这种复用可重用性较好。当然,对于低深度的可重用性就于具体的项目相关,它只能局限于该项目,可重用性最差。由此可见,可重用性与业务逻辑的相关性是成反比例关系的:越是与业务逻辑无关的重用,重用性越好;反之则越差。
2.OOA阶段软件复用模型研究
OOA阶段的软件复用,在一定程度上可以说是建立在许多优秀的系统分析员实践和经验基础之上的复用,是一种思想上的复用。在这个阶段的软件复用更具有通用性和重用性,因此,构造这个阶段的软件复用模型,可以使复用达到更好地效果。
3.范式抽象
所谓范式就是抽象的解决方案模板,它可在不同具体项目中使用。范式抽象就是在此基础上提出的对范式的设计方法。针对不同的问题域,就应该有与之对应的设计方法,这样可以使范式的设计达到很高的重用性。针对OOA阶段具体现状,有三种范式抽象方法
(1)关系抽象
在OOA阶段,针对具体的项目,会分析出大量的关系模型。例如在学校排课表系统中,需要定义教师类,它包括教师姓名、性别、职称等有关教师的基本信息,同时,为了便于教师很快得出自己的上课表,还需要定义一个与教师对应的教师课表类,这个类显示了一周中教师的课程安排情况;在网上购物系统中,需要定义一个购物者类,包括了购物者的相关信息,同时为了得到购物者所购的物品,还需定义一个购物车类,该类描述了购物者与所购买的物品的对应关系。这两个系统的具体业务是不同的,但教师类与教师课表类、购物者类与购物车类的关系却是基本相同的,都是一个实体对另一个实体的拥有关系,同样,所进行的操作也基本相同,诸如都涉及到对所拥有实体的查询操作等。因此可将这种关系抽象出来,定义为拥有关系,然后在此关系的基础上定义相应的操作。这种关系就可以以范式的形式保存起来,在不同的项目中都可重用这种范式。同样,还可抽象出许多其他的关系范式,如实体——内容关系,上下级关系等。这些关系都是不依赖于具体的项目和业务的,可重复使用,只是在针对具体的业务时,在相关属性和方法上稍作修改就可以了。
(2)相似对象抽象
在不同项目的OOA阶段,还会分析出大量的相似对象或类,例如用户、用户组、角色、权限等在所有涉及到权限管理的系统中都会出现这类对象;在一些相同领域的项目中,由于涉及的领域的标准化,有些对象的相似性以及相同的机率会更大。对于这些相似程度如此大的对象来说,由于其在项目开发中的相对独立性,把这些对象模型以范式的形式保存起来会使分析的结果得到更大的重用。
按照上述思想进行的范式抽象称为相似对象抽象,这种抽象依据的是分析阶段的对象模型,这种对象模型具有独立的、高度的相似性,抽象出来的范式可称为对象范式。这种范式与具体项目之间的相似可称为表面相似性。表面相似越接近,范式的重用性就越大。
(3)领域抽象
所谓领域抽象是用于某一领域的抽象问题的解决方案。在同一个领域的项目开发过程中往往能够总结出更多的相似性,包括关系相似性和表面相似性,将二者相结合,可构建出与行业有关的构件。这种构件是建立在具体领域上的一种抽象,称为领域抽象。领域抽象的过程可借助领域工程的知识和方法。其中在OOA阶段主要用到了领域分析的方法。所谓领域分析是被称为领域工程更大的学科中的第一项技术活动。当业务、系统或产品域被定义为长期的业务策略,则可以展开持续的创建强健的可复用库的工作,其目标是能够在领域中以非常高的可复用构件率来创建软件。领域分析在领域抽象过程的作用是从OOA得出的对象、关系、行为模型的抽象出与领域相关的领域范式,其中包括关系范式、相似对象范式和处理过程范式等。这些范式与前面提到的范式唯一不同就是有了特定领域的标识,这在同一领域的开发中将达到高度的重用性。
三、总结
本文通过对软件复用技术的分析,提出了一种面向对象系统分析阶段软件复用的模型,并对此模型中所涉及到范式抽象方法做了探讨,并把它们应用于具体的项目中去,从而很好地利用的设计思想,大大提高了项目的完成速度。另外,对于范式库的研究也为建立在高层上的软件复用库管理提出了新的研究课题:例如对于编码阶段复用构件库的检索条件也可以扩展为以范式为索引的检索等。这些都成为下一步的研究课题。
[参考文献]
[1]RogerS•Pressman著,黄柏素、梅宏译:《软件工程实践者的研究方法》,机械工业出版社1999年版。
[2]黄靖、赵海光:《软件复用,软件合成与软件集成》,《计算机应用研究》2004年。
人们运用互联网的人数越来越多,互联网已经普及,为了能够合理的解决网络平台的不同步问题,实现网络平台的互操作,中间件技术应运而生,其作为一种新型的软件,能够在网络环境下,能够将系统软件和应用软件良好的结合在一起,其性质是一种分布式软件,能够解决网络平台不同步的问题,能够使应用系统实现转移的效果,而且,现在互联网技术发展迅速,中间件的使用也越来越明确,中间件能够使计算机软件朝着更加集中的应用方式转变,能够支持系统软件的运行,而且,中间件能够对高级软件的工作起到支持的作用,中间件在系统软件和应用软件之间起到了良好的统一作用,便于软件的开发。中间件技术已经成为用户的主要需求,其种类也非常多,主要有数据访问、远程、事务处理等作用,而且其面对的对象也是非常广泛的,其可以在系统软件和应用软件之间形成一种互动的机制,能够实现各类软件的通讯,能够高效地在不同的异构之间传递信息,现在,我国使用的中间件主要有微软公司的COM,其具有良好的开放性和兼容性,能够在不同品牌的计算机上使用,在不同的异构环境之间都可以使用。软件的产业模式在更新,软件的研发都是以客户的需求为根本的,WWW由之前的两个体系变成了三个体系,中间件也能够在互联网之间连接,现在又研发了一种新的中间件,WEBSERVICES产生,其能够结合不同公司的中间件的功能,具有更好的开放性,并且具有查询的功能,运用编程语言,完善了操作系统,实现了一种开放、动态的模式。
1.2网络计算
网络计算与传统的计算机技术相比较,其可以使不同类型的服务器统一起来,都连接在统一的网络上,其网络结构更加完善,能够为社会和机构提供一体化的服务,提供高性能的计算能力,能够形成大型的数据库,具有可视化的功能。网络计算将计算机硬件有机地统一在一起,并且实现了网页的有机统一,能够将储存的信息、软件资源、信息和数据等联结在一起,便于对资源的统一管理,用户可以自主地选择网络上的资源进行使用,而且信息比较透明,他们可以根据自己的需要进行搜索,无需在多个网站中搜索,为用户提供了高效、透明、系统、安全的资源共享系统。
2我国计算机软件发展的挑战
2.1国际金融危机对我国的软件市场带来了冲击
当前,国际上一些发达的国家也受到金融危机的影响,其经济在下滑,在全球范围内,软件市场的前景不是特别乐观,造成我国的软件市场也受到一定的影响,导致我国软件市场的发展延缓。
2.2国内软件市场的竞争日益严峻
我国很多软件研发的跨国公司在国外的经营效果并不好,这使得他们在极力地扩大国内市场,这就导致了我国的软件市场压力过大。
3我国软件技术发展趋势
我国的物联网技术正在发展,成为了我国的一种新型的战略化的产业,物联网发展能够起到一定的示范作用,能够促进我国各类产业的发展。我国的基础类软件发展比较迅速,实现了网络化、可信化与智能化软件的研发,我国的工业软件和嵌入式软件在广泛地研发,国家正在借助信息技术产业实现各类工业的发展,使信息技术能够带动我国工业的发展。我国进入了云计算时代,云计算为用户提供了一种虚拟的网络环境,提高了用户的工作效率,云计算也将应用于各类产业,促进我国工业的发展。
2计算机软件的开发方式
2.1传统生命周期法
根据时间来对角度进行划分,对软件的各个方面进行分解,便形成了不同的阶段,与此同时,在这些不同的阶段中,都有着属于它们自身的要求,通常情况下半年时间为一个周期。如图1所示为某软件系统结构的生命周期模型。
2.2软件原型化方法
在最初的时候,这方面的概念依旧比较模糊,在这个阶段主要是对软件的开发和调试,但是因为局限于传统的周期要求,在初期资料确定方面已经成为定局,因此对于这种类型的软件不够合适。但是要是将计算机软件原型化,可以利用原型系统展开对软件本质的研究,基于这个基础,将获取新的发展,最终达到修改的阶段,这样就实现了对软件的建造。
2.3开发自动化形式
系统对于自动形式系统软件的开发,主要是通过第四代技术中的软件开发工具实现的,这种系统不需要操作员说出详细的方法,而是说出直接的内容,其次在通过软件工具的自动分析,设计出编码。
3计算机软件技术发展中的问题
3.1软件产业缺乏核心技术
我国软件产业还处于早期阶段,发展水平相对较低,特别是自主创新的能力,我国软件产业依旧处在全球软件产业链中的中下游水平,产品质量和层次都较低。出现这种情况,主要是核心技术的缺乏。
3.2软件人才结构性矛盾突出
目前,从事软件行业的人员都是一些基本的技术人员,他们主要是研究基础的程序,提供一些软件技术的支持工作,对于高水平的科研人员非常缺乏,所以导致中国的软件产业不能更好的发展,同时人员成本也相对较高。
3.3软件产品体系不合理
尽管中国软件产业在近几年有了很大的发展,但是在结构发展的方面依旧不合理,缺少领导者,也很难有广阔的国际影响力。
4计算机软件开发技术的应用与发展趋势
4.1计算机软件开发应用的表现
在今天,全球经济得到了飞速的发展,互联网有了广泛的发展和进步,在这个平台上,信息资源实现了全球化的共享,也促进了全球化的技术交流。在互联网的连接条件下,信系统还没有得到一个统一的控制,致使每个节点的自治性也较高,同时方便人们处理大型信息,实现各个地方的信息连接,使得资源共享,更加方便和简单,更容易实现大量的信息计算。
4.2计算机软件技术发展趋势
4.2.1软件技术一体化的发展趋势
对于传统的电气化、自动化和机械化的硬件系统而言,软件开发被逐渐融入进更加智能化、网络化和数字化的软件核心技术中去,这种计算机硬件系统的变换将会为经济的提升带来新的发展。
4.2.2智能软件技术的发展趋势
人工智能技术不断发展,应用的范围也逐渐扩大。因此确定了软件技术的开发方向,只有这样才能促进人工智能的进步,实现人类跨时代的进步.
4.2.3软件技术网络化的发展趋势
在互联网逐渐全球化的今天,大大缩短全球的距离,同时实现了计算机产业网络化的进步,这也将成为计算机今后的一个发展方向。
4.2.4软件技术服务化的发展趋势
对于客户而言,软件的开发需要将最优秀的理念和软件技术展现给客户,这样就需要为客户提供最优质的服务,从而形成软件行业自身的模式。
2嵌入式实时操作系统的要求
嵌入式系统属于实时系统,对于复杂的嵌入式系统来说,不仅需要高级语言开发工具外。还需要嵌入式实时系统的支持。目前,大部分的嵌入式系统都日渐完善,这些操作系统都具有可裁剪、可配置、可移植、可扩充的特点。而在开发工具方面,他们提供不同种类的,面向软、硬件的开发。
3嵌入式实时软件的开发
在嵌入式实时软件的开发中,本次设计是基于软件与硬件嵌入式系统的开发,其中使用到了微机保护系统、数字信号处理器。ARM系统、IO设备、C++语言等进行嵌入式开发。计算机的寿命与质量也因为微机蓄电保护器而延长,使嵌入式实时软件更加完善。在此次嵌入式实时软件的设计中,将选择具备丰富外设接口的AT9IRM9200处理器。此处理器最大的特点就是内置的控制器,不仅可以用于时间的突然访问,还可以用于系统操作的同步控制,直接缩短了计算机系统操作相互相应所需要的时间。开发嵌入式实时系统,首先要进行分析,然后进行设计及代码设定,最后再进行软件测试。在本次计算机嵌入式实时的软件设计中,采用的是将系统内部划分为模块的方式,然后利用模块进行程序的设计及开发,将任务里多个相结合的执行任务区分开。提高软件设计的稳定性及效率。有效成立系统中的硬件及软件的交汇。
4嵌入式系统的实用性
为了提高嵌入式系统的性能要求及实时性,实现系统内任务的多种方式的应用,采用了事件驱动方式,把嵌入式系统的内部软件设计分成几个周期来进行。以此来提高系统软件系统程序的实用性以及功能与功能之间的连贯性与积极性。而在在计算机软件内部具有相同或者资源共享的事件驱动模式,这就需要简化控制设计流程以及将控制任务组织为状态转换图的结构。
5如何将嵌入式实时系统应用到计算机软件设计中
5.1划分各个程序之间的职责
为了提高软件系统的实时,在设计嵌入式实时软件的结构中,尽量避免硬件与软件的脱离及传统计算机对硬件的依赖性。在计算机软件设计中,划分各个程序任务的职责。给予每个程序任务在软件中唯一的位置。在系统中也可以使用优先有序的分配模式。提高软件系统对任务的响应时间。
5.2嵌入式软件必须控制好时间
在设计应用计算机的过程中,嵌入式实时软件相对于其他的计算机而言,要求更高一些。也就是说,对于嵌入式实时软件,在软件上的实时性的要求也更严格一些。而且,嵌入式实时软件在成立过程中,如果出现有任何一点关于时间上的偏差,就会对整个嵌入式实时软件照成不可估量的影响。因此,对于嵌入式实时软件来说,嵌入式实时软件在设计过程中,对于时间的需求及验证分析都十分重要。
二、影响软件维护的要素分析
(一)设计团队的变化:很多软件设计团队,在完成了一项软件设计的时,会解散该团队,很快各自都找到新的团队,开展新的软件设计工作。原本对该软件设计有所了解的成员逐渐离开了团队,随着人员的不断变动,到最后余下的员工很可能对该软件最初开发的目的、方法都不是很了解,导致该软件无法在后期得到修复和完善,最终导致报废。这样不仅会浪费大量的人力、财力、物力,同时也会给新的工作团队平添工作量。
(二)用户的需求:在最初签订软件的开发和修改合同的时候,维护人员和客户没有进行很好的沟通,没有很好的了解顾客的需求,导致在后期的修改当中,很多设计人员按照自己的意思来对软件进行修改,和客户的需求根本不相符。
(三)隐性错误:很多维护软件的工作者,在对软件进行维护的时候,会在软件的内部加入一些隐性的风险,降低了软件的整体质量。(四)团队素质:一个团队素质的高低,同样也对软件维护的质量到很大的影响。员工是否具有软件维护的专业技能,能否解决顾客提出的各种问题。该团队是否是属于急功近利型,一味追求经济利益,而忽略了质量的追求等等,都是需要考虑的因素。
三、软件维护的策略
对软件的维护,主要分为九个主要的步骤。首先要仔细阅读客户对自己软件提出的需求说明,在了解客户需求的基础上,来针对问题软件继续拧修改设计,列出设计方案进行评审,评审通过后,开始重新编码,然后进行单位测试、集成测试、回归测试这三项测试,待测试完成之后,确认测试,最后在一次进行评审。对软件的维护工作,不能大意,因此应有一只专门团队来对软件进行维护,且在团队内部要明确每一个成员的工作任务和责任,避免资源的重复利用和未充分利用。在接受客户需求时,要为客户发一张需求登记表,客户在该表上填写软件出现的问题,包括问题的具体类别,希望通过修改达到的效果,软件运行的平台,出现问题的场合和时间等。在对软件进行修改和完善的过程中,要仔细分析源编码设计的原理、习惯,对其进行遵守,不要轻易地更改,以保证软件在修改前后能够保持和谐。若是一个客户提出了多个维护的需求,可以更具需求等级的高低,对其进行顺序的划分。在修改该软件之前,要对该软件进行备份处理,在软件完成修改之后,要对软件进行及时地调试,最后开会对该软件进行评议,并且做出总结,从本次软件的修改当中,能够收获成功的经验,同时也能吸取失败的教训。软件的修改人员之间要互相交流和分享彼此的经验。若是软件修改的幅度比较大,修改人员应当针对自己修改的情况制定一个修改的说明书,具体说明修改了哪些部分,被修改之后的软件如何使用和进行日常的维护。除了编写说明手册之外,还可以编写参考手册。针对该软件可能会发生的错误情况进行预测,并在该手册中写出会出现的情况,具体解决办法。注意该语言的运用要通俗易懂,因为很多客户并不具备很多的计算机专业知识。在对该软件完成维护之后,要进行回归测试,测试圆满完成后,可交给客户去使用。一个软件,在进行了多次修改和完善之后,其维护性就会逐渐降低,当其降低到一个最低程度时,再一次修改已无法满足客户提出的需求,因此应当放弃该软件,重新根据客户需求开发新的软件。
四、软件维护的副作用
对软件进行反复的修改和完善,虽然可以满足客户提出的不同需求,但是其自身也有一定的风险。因为从理论上来说,在每一次对软件进行修改的同时,都增加了错误发生的可能性。对该错误的发现,可以通过文档的设计和最后的回归测试来解决,但是仍然不能忽视一个问题,就是维护软件会产生的负面效果。其主要表现在如下的几个方面:代码修改:对代码的修改一定要谨慎,不到逼不得已,尽量不要修改。因为一个看似很简单的代码修改工作,就可能对整个软件产生很大的影响,影响可能大到整个软件无法正常运行。虽然副作用有大有小,但是不可否认的是,对代码进行修改很可能就会产生一些错误,而正是由于这些看似很小的错误,导致软件质量的下降。因此,在代码修改过程中,一定要贯彻一个法则,即Murphy法则。数据结构的修改:在修改软件过程中,会不可避免地对数据结构也进行一定的修改。数据结构在整个软件中,占据很重要的地位。因此在对其进行维护的时候,需要对立面的部分要素进行完善,完善过后的软件可能无法再适应现有的数据,导致其在日后的运行出现错误。这就需要软件维护者,在设计文档的时候小心谨慎,降低数据修改带来的风险。
2、FlexRay总线时间调度
根据样例飞行控制计算机的内部总线FlexRay通信协议可知,内部总线通信时间为5ms,每个时隙为50μs,FlexRay总线最大帧长为127字[7]。本设计中1553B帧长度最大为54个字节,频率最高为100Hz,故使用上述FlexRay总线通信协议能够符合1553B总线通信要求。本设计中,1553B传感器数据的频率为50Hz和100Hz,而FlexRay总线通信频率为200Hz,内部总线通信速率高于外部传感器速率。故1553B板卡在内部总线通信过程中,当有传感器数据更新时,FlexRay总线传输最新的数据;而当没有数据更新时,FlexRay总线传输当前的传感器数据。为保证数据的完整性及减少占用总线时隙数量,本设计共使用总线三个时隙,每个时隙具体传输内容如表4所示,时隙2、7、15传输内容分别为惯导传感器无线电高度传感器和大气数据机的数据,数据帧大小分别为54字节、32字节、12字节。
3、1553B通信单元软件设计
3.1驱动软件的IP核封装与实现
在嵌入式FPGAEDK设计中,为了简化用户开发难度,Xilinx公司提供了一个封装了的接口,即IPIF(IPinterface,IP接口)作为介于PLB总线与用户逻辑模块之间的接口缓冲[8]。IPIF将PLB总线操作封装起来,而留给用户一个逻辑接口。本文软件设计采用模块化设计思想。其设计步骤如下:首先,将每个硬件模块对应编写一个驱动软件程序;其次,将相应驱动软件封装成通用IP核;最后,将IP核挂载到PowerPC内部总线PLB上。模块之间的通信主要通过PLB总线和OPB总线实现,系统中各模块通过这两种总线连接至PowerPC内核上,而PowerPC通过内部总线读写机制实现对各个模块的读写与控制。如图4所示为1553B通信单元的硬件平台总体架构图,主要由PowerPC内核、1553BIP核、FlexRay总线对应GPIOIP核集合、串口IP核、BRAM模块IP核及相应的中断控制IP核组成。
3.21553B总线接口驱动软件设计
如图5所示为1553B总线接口IP核结构图,整个驱动分为三个模块:总线读写模块,初始化模块和数据缓存模块。系统上电,该IP核激活,进行总线初始化操作,发送初始化完成信号并查询PLB读写信号,等待PowerPC405的读写操作。当读控制信号使能时,PowerPC405读取数据缓冲区中的数据;当写控制信号使能时,总线读写模块将数据缓冲区中的数据发送至总线上。
3.31553B通信算法设计
1553B通信单元的调度主要由外部1553B总线的数据接收,内部FlexRay总线的数据通信组成。本设计采用模块化设计,将系统功能划分为顶层应用和底层数据通信。底层数据通信主要包括外部数据流通信及内部数据流通信,外部数据流通信主要由1553BIP核实现,内部总线也由FlexRay驱动程序实现数据通信;而内核PowerPC主要实现顶层应用,即数据调度及总线故障切换功能的实现。如图6所示为节点通信程序流程图,系统上电后,首先对FlexRay总线及1553B总线节点进行相应的初始化,进而查询1553B对应FIFO满输出引脚,当接收到数据时,节点读取FIFO内容,并写入相应的总线发送缓冲区中。进而查询MFR4310的中断引脚信号,当发送中断有效时,执行发送中断子程序,将接收到1553B总线数据通过1553B总线发送出去;当接收中断有效时,执行接收中断子程序,通信节点接收CPU发送来的控制信号。系统完成数据调度后,进而进行总线故障检测。由于1553B总线的基本周期为10ms,故本设计中总线检测周期为10ms。当定时器的10ms定时时间到,总线进行一次总线检测。当接收到总线切换指令,通信单元进行总线切换,并更新总线状态;进而判断是否接受到传感器的1553B总线应答信号,如果有,将总线故障计数清零,倘若没有,将故障计数加1,当故障计数大于6,进行总线切换,并更新总线状态。
4、总线网络通信测试与结果分析
(1)FlexRay总线测试结果将FlexRay通信周期设置为5ms,静态时隙长度为50μs,将CPU板卡与1553B板卡进行通信实验,从总线上读出输出波形。FlexRay总线通信时,在总线上截取的波形如图7所示,从图中可以看出通信周期为5ms,与预设值一致。如图8所示为一个周期时隙输出波形,时隙2、7、15传输传感器数据。由图8可知,时隙2与时隙7相差250μs,时隙7与时隙15相差350μs,与预设值一致。FlexRay总线通信6小时,进而进行连续总线数据传输测试,经过6个小时的总线测试结果如表5所示,通信过程中,丢帧、错帧计数均为0,表明1553B通信单元FlexRay总线设计正确,可以满足飞行控制计算机通信的基本要求。(2)1553B总线测试结果由前面可知,1553B数据通信周期为10ms,即100Hz。如图9~12分别为1553B通信单元与CPU单元模拟大气数据机传感器数据帧发送数据8字节,进行通信2小时、4小时、6小时、10小时的通信仿真图。其通信帧数分别为719999,1439998,2160023,3599991。期间在2小时~4小时,4小时~6小时,6小时~10小时通信期间,丢帧数分别为1,1,0,合计丢帧率约为5.56×10-7,符合飞行控制计算机通信要求。(3)测试结论以上实验结果表明,1553B通信单元的各个模块通信正常,与飞行控制计算机CPU板卡通信正常,能够符合飞行控制计算机的通信要求。
2分层技术的特点
分层技术在计算机软件开发上具有很强的优势占有效应。最值得提及的便是分层技术的拓展使用,主要按照功能的拓展使用来分解出软件的复杂结构,这种改造方式能够很好的将软件升级换代。系统的改造主要是层层相扣的模式,通过功能层之间的不断配合来做到软件系统的修改。分层技术对于软件开发的效率提升作用十分显著,在软件的运行上也相当于增加了一道屏蔽。计算机软件的开发不仅是改造的过程,更是软件开发时效性与工作效率的提升,在软件质量上也有些飞跃性的保证。分层技术的开发很大程度的使用了标准接口,采用无缝隙对接的方式来实现软件的功能化使用。
3计算机软件开发对分层技术的有效应用
3.1计算机应用系统的两层结构技术与三层结构技术。数据库的服务器与客户端共同构成了层次的主要技术面,三层结构主要包含客户端、应用服务器以及数据处理服务器。数据服务器的主要功能在于对数据的存储、信息的访问等等。在现在的双层计算机中,为了符合现代计算机高信息处理量的需求使得服务器可以根据指令快速对信息进行查询,客户端则提供客户端登陆所需要的指令,可以查询到相关结果并返回菜单。但是随着现在客户的数量不断增加,原有的二层结构软件已经远远不能满足客户的需求,这也就诞生出了多层软件结构,它可以很好的实现交互操作、降低成本、完成通讯应用与解决安全隐患的作用。这种人机交互的方式快速对服务器多层次处理项目问题很有帮助。具体到多层结构完成了数据层向操作层发出指令的工作,有效的降低了网络通讯的负荷工作量,但是现在来说三层结构软件的客户量相对比较少,还未完全完成对二层结构的过渡,在开发应用上也要根据具体的实际情况来看,到底适合用二层结构还是采用三层结构。
3.2四层五层分层技术的应用。随着计算机的应用环节越来越复杂多变,这也就是说计算机所需要处理的数据数量也是越来越惊人的,很明显在以后的发现进程中三层软件也是不能够完全满足需求了,对计算结果的精确程以及计算速度都有着很高的要求。三层技术再往上推进便是运算速度更为可观的四层技术。其主要是由web层、业务逻辑层、数据层和存储层。web层的应用相对比较灵活,可以很好的满足客户的不同需求。对于小项目的开发使用时就需要应用JSP页面,大规模的数据处理过程中需用到MVC结构作为设计基础,来将数据做出运算处理。再由数据层将信息完整的传递到web完成支配工作。数据层的主要功能在于完成业务逻辑层与存储层的数据访问代码等细节问题,对于该层的设计主要是在于提升查询速度的效果。目前,针对一些计算机的高度运行需求,逐渐开发出新型的适用于特殊环境与特殊领域的计算机多层软件,也就是四层分层技术投入使用,这要比原来的三层技术更加精密,在数据的处理上更加快速,使用也更加便捷灵敏。在数据层的处理上主要分为集成层与资源层,这种分工合作更加具有发展前景,也是一种朝向五层分层技术的过度发展。因为一旦技术发展到了五层分层技术的时候,也就是一种真正计算机软件上的飞跃了,因为那时候已经不再具有什么广泛性了,已经成为一种独有环境的特别个体的存在,只有在个别需求精算层面的领域内才会被需要,一般的生活情境已经完全超越。
2软件开发分层技术应用分析
2.1两层和三层结构技术两层结构的计算机软件是由数据库的服务器和客户端共同组成,其中客户端主要是面向客户的服务界面,其功能为逻辑处理、显示服务器的指令以及供客户对服务器进行查询。这种逻辑结构被称为胖客户,一旦客户数量增加,客户端不能进行相应的扩展。同时,这种逻辑结构不能进行良好的交互,维护成本比较高,存在一定的安全风险。随着计算机技术的发展,大型计算机系统需要更加复杂的软件结构,两层和三层结构的应用系统出现。两层和三层结构的软件,主要由客户端、应用服务器和数据服务器构成,提供人机交互、数据访问、数据存储和优化,服务器和应用程序服务器可以实现逻辑服务,大大降低了客户端的负担,被称为瘦客户端。通过三层的C/S结构可以实现程序的应用目的,并向数据层提出数据请求。相对于二层结构来说,三层结构技术可以有效降低客户端和服务器之间的网络负荷。同时,三层结构技术具有可重用性、强扩展性、安全性和易维护性。如果客户端用户数量不多,两层结构更具有优势,所以计算机软件开发人员,应该依据实际的需要,采用适合的软件结构。
2.2四层技术随着计算机和网络技术的进步,应用软件的计算环境也发生变化,所需要处理的数据和逻辑变得更加复杂。在软件实际编程过程中,数据处理更加迅速、计算更加准确、逻辑更加复杂。三层结构软件技术在拓展性、安全性方面具有优势,但不能实现三个技术的彼此独立,也不能满足Web技术的计算要求。在这样的背景下,就需要在三层结构的数据层和逻辑层之间增加封装层,形成四层结构技术。四层结构技术由存储层、业务层、数据层和Web层构成,其中Web层是依据客户的需要选择适当的处理方式。如果用户需要少的结构,Web层就向数据处理层直接发送信息,以满足数据处理层的表达需求。如果用户需要较多的结构,Web层通过大量的数据和信息分析,改进各方面的工作效率,以此满足大规模的数据需求,实现网络层业务的逻辑处理。在技术架构方面,虽然四层结构技术尚不成熟,但在未来将取代三层结构软件,成为计算机软件开发架构的主流形式。
3中间件技术伴
随不同的软件开发技术的发展,系统中的中间件数量不断增加。目前,中间件技术在交通、金融和邮电等领域得到广泛应用。MOM分层技术作为中间件技术的一种,被广泛地应用于各种中间件的开发中。该技术不仅具有一般中间件技术的优点,还具有异步传送的优点。当对应用消息列队中的中间件进行编程的时候,MOM分层技术可以将信息同步传输,更加安全、可靠。中间件技术可以实现不同区域之间的信息通讯,简化软件的开发形式。用户只需将消息交给对的管理器,无需关心数据的丢失和数据的传输问题。因此,中间件技术可以克服软件间结构不同带来的问题,兼容各种发展的开发技术,满足用户需求。
国内外不少法学家认为,软件的法律保护制度以著作权法或是版权法为主,实际上并非具有天然性,只是许多国家在没有先例的情况下,把软件等同于知识版权进行套用了。多重立法模式下,对计算机软件的知识产权保护应在不同部门法之间有所侧重,结合计算机软件行业的特征,采取著作权保护法作为主要手段即可。软件完成即受著作权保护的方式,其时效性与计算机软件行业的快速更新换代这一特点是相适应的。另外,由于著作权的专有性没有专利权那么强,这也有利于新软件的推广,与计算机软件行业传播广的特点也是相符的。因此总的来看,著作权保护法作为主要手段的软件知识产权保护模式,是迎合行业发展的,能够达到对权利人的保护和社会需求之间的平衡。
2专利权保护
尽管著作权保护法已经明确作为计算机软件知识产权保护的主体手段,但专利权的保护方式也在许多状况下,符合计算机软件的特性与利益需求。比如,著作权保护法只能保护软件的推广,但实际上并不能保护软件开发者的思想、工艺、操作方法等。然而计算机软件有别于传统的作品形式,软件创作者开发软件的目的主要是为了解决其生产生活中的实际需要,它是一种能产生积极效果、具有实用价值的技术方案,因而理应受到专利法的保护。但是当前专利法在专利性的限制上对于计算机软件来说明显过于狭窄。其便利性、广泛传播性是属于计算机行业的必然特点,专利法的保护模式却难以满足这些要求。因此在明确计算机软件受专利法保护之外,也应同时放宽对专利权的审查,并缩短专利审查时间。如此才能适应计算机软件行业的创新性与时效性的特点。除此之外,在实施专利申请的时候,应该根据计算机软件的特性设计一套相符的程序,即在申请通过前,对软件保持秘密状态。但也因为原本的先期公开制度是为了保障专利的独创性,因此在设计新专利申请程序的同时,也可以给予计算机软件专利申请更严苛的惩罚制度作为修正。
3商业法等补充
保护计算机软件产业已经成为我国经济高速发展的支柱型产业,其相关的知识产权也就涉及到更多的商业利益。因此,针对计算机软件的知识产权保护,也应适当引用商业法规的保护,特别是反不正当竞争法。让相关法律规范满足计算机软件保护模式的辅助作用。另外,计算机软件的企业,也可以利用商业保密法规制度,提高企业内部员工的软件知识产权意识,从而形成自主的保护体系。