首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 859 毫秒
1.
开放环境下的机器人具有环境敏感性、行为自主性和并发性、反应实时性等特点,这对支撑这类机器人的控制软件及其编程语言提出了新的要求,包括支持对环境进行显式表示,支持自主和并发的行为,需要对行为间在时间、空间、物理上的关系进行规约等等.面向Agent的编程语言将软件系统的基本执行单元视为自主的软件Agent,它为机器人控制软件的构造提供了新的方法和思路.针对开放环境下机器人特点对其编程语言的要求,提出了基于反应式Agent的编程模型RECA和编程语言RPL.RECA将单个机器人的软件系统视为一个反应式Agent,它包括Sen-sorEvent、EventRule和ScenarioBehaviour 3个组成部分,其中SensorEvent是对机器人所处环境信息变化的一种封装;ScenarioBehaviour是对机器人的不同行为进行的规约;EventRule定义了机器人环境输入到行为输出的动态绑定关系.RPL提供了一系列的机制来支持机器人控制软件的编程,包括事件机制、多线程机制、优先级描述、行为动态绑定.最后介绍了RPL程序开发和运行支撑环境的技术框架,并基于NAO机器人分析了机器人作为老人生活助理的案例,验证了该编程模型、语言和运行支撑环境的有效性.  相似文献   

2.
安全编程研究*   总被引:1,自引:0,他引:1  
安全编程是一种消除或降低软件安全威胁的开发模式。现有的安全编程研究是基于特定功能和环境的,在当前安全性已成为绝大多数软件性能的重要指标的情况下,它已无法满足软件安全实现的需要。通过建立一种通用的软件安全威胁模型,提出了不依赖于功能和环境的系统的通用安全编程方法,并按照软件实现阶段进行论述,为进一步建立通用的安全编程模型打下了基础。  相似文献   

3.
马骏  陶先平  朱怀宏  吕建 《软件学报》2012,23(11):2905-2922
如今,多agent系统(multi-agent system,简称MAS)被广泛用于开发各种应用系统.当前,开放、动态、难控的计算平台要求软件系统能够根据系统自身及其环境状态信息及其改变,动态地调节自身的行为,即具备一定的上下文感知能力.然而,现有工作并未就如何向既有的MAS应用系统引入上下文感知能力提出有效的解决方案.依照关注分离原则,结合面向上下文程序设计技术(context-oriented programming,简称COP)、反射技术(reflection)以及代码植入技术(code instrumentation),提出了一套MAS系统上下文感知增强框架和底层支撑技术.开发人员可以在既有应用源码不可得的情况下,自动地将指定agent类型转换为(扩展为)具有上下文感知能力的agent类型.此外,利用底层运行支撑环境,系统管理员可以在系统运行时刻动态地调整指定agent的上下文感知行为.  相似文献   

4.
王鹏  吴康  阎芳  汪克念  张啸晨 《计算机应用》2019,39(11):3298-3303
现代安全关键系统的功能实现越来越依赖于软件,这导致软件的安全性对系统安全至关重要,而软件的复杂性使得采用传统安全性分析方法很难捕获组件交互过程带来的危险。为保证安全关键系统的安全性,提出一种基于系统理论过程分析(STPA)的软件安全性验证方法。在安全控制结构基础上,通过构建带有软件过程模型变量的过程模型,细化分析危险行为发生的系统上下文信息,并以此生成软件安全性需求。然后通过设计起落架控制系统软件,采用模型检验技术对软件进行安全性验证。结果表明,所提方法能够在系统级层面有效识别出软件中潜在的危险控制路径,并可以减少对人工分析的依赖。  相似文献   

5.
在开放和动态环境下,系统或环境的不安全的运行时变化可能为整个系统的正确执行埋下隐患,可能最终导致软件失效。基于监控器的软件运行时验证技术已经成为开放环境下侦测软件失效行为的基本方法,该工具采用了一种基于博弈论的从Property Sequence Charts(属性序列图)中自动生成监控器的方法。监控器被赋予多值语义:满足、无限可控、系统有限可控、系统紧急可控、环境有限可控、环境紧急可控以及违例。监控器可以提供足够的信息用来预测系统失效。正文中将描述一个名为"PSC2GS"的工具,该工具具有设计属性序列图、基于属性序列图生成博弈结构、基于博弈结构生成Aspect Oriented Programming(面向方面编程)代码(监控器)等一系列功能。PSC2GS提供的完全图形化的前端接口使软件设计者可以不用处理任何特殊的文本或者逻辑公式。  相似文献   

6.
相关计算机网络安全的研究一直是市场关注的焦点问题,为了解决此方面问题,提升计算机网络系统安全,开展了计算机网络安全的软件编程与系统运维方案设计研究.在进行软件编程的研究中,需要前期确定软件开发环境,并在调用编程方法中,对相应的开发属性进行设置,并对各类事件进行预处理.与此同时,针对不同的客户机选择不同的服务器,为软件编程提供数据库和业务分析,规划软件编程流程.此外,在实施系统运维方案的设计中,需要结合计算机网络数据结构,提出与之对应的运维策略,以此为计算机网络安全稳定运行提供保障.  相似文献   

7.
可重构安全协议对提高安全系统的灵活性和适应能力具有重要意义,它可根据具体上下文环境进行配置、移植,极大增强了系统的安全性,目前基于软件构件的协议重构方法无法满足安全协议对安全性和计算性的特殊要求.针对安全协议的安全性和高密度计算特性,提出了一种针对现有资源选择重构元的解决方法,给出协议可重构元匹配和基于QoS的重构元质量满意度的协议重构选择算法,使系统可以尽快按照重构协议需求选择满意的可重构元.通过实例说明该方法的执行过程,应用结果表明该方法能够有效提高重构效率和重构准确度.  相似文献   

8.
VFP6.0编程软件具有强大功能,同时在该软件的运行中,其对于环境的要求和编程难度上更加友好,所以在当前的计算机编程中取得了良好的应用效果.基于对VFP6.0编程软件操作中,针对一些常见的错误提示类型与成因的分析,结合对该软件处理方法的了解,探讨了VFP6.0编程软件的操作经验和操作技巧,从而让该软件可以正常运行并发挥功能.  相似文献   

9.
用敏捷型开发方法延长软件的生命周期   总被引:4,自引:0,他引:4  
敏捷型方法是以代码为中心的自底向上的适应性开发方法,作为其代表的极限编程则以针对特定系统(需求变化快、小型团队)的具体过程,在一系列实践原则指导下,持续实施、改进直至完善模型为特点。利用极限编程可以有效地提高软件的可传承性,延长软件的生命周期。  相似文献   

10.
面向服务的体系结构由于其结构的松散性和计算的动态性等特点,使得其安全管理更加复杂。提出了一个面向服务的角色访问控制模型,该模型通过引入环境角色等概念来描述动态的上下文约束条件,并在授权时使用增强权限约束机制,提供了一种更为灵活的授权方法。此外模型通过增强的权限集,将分派给角色的任务与需求权限之间关联,有效地加强系统的安全性和访问控制的灵活性,也更适用于具有复杂安全特性的面向服务的软件环境。  相似文献   

11.
More and more technical systems are supervised, controlled and regulated by programmable electronic systems. The dependability of the entire system depends heavily on the safety of the embedded software. But the technological trend to entrust software with tasks of growing complexity and safety relevance conflicts with the lacking acceptance of rigorous proofs of software safety. Based on an international standard for higher level programming languages for programmable logic controllers (PLC, IEC 1131-3), a mathematically based method for validating the behavioral correctness and the functional safety of graphical designs of safety-critical control applications is introduced. The design elements taken from a domain specific module library are proven correct and safe only once. The functional correctness and satisfaction of safety requirements of new application graphical programs can then be shown effectively by reference to the proven properties of the library components used. This approach is part of an comprehensive computing architecture for safety-critical control programs which is presented in a survey.  相似文献   

12.
Voas  J. 《Software, IEEE》1999,16(1):28-29
Many have long regarded software assessment as a way to determine the correctness of software. Formal methods attempt to build in correct behavior. Techniques such as formal verification and testing attempt to demonstrate, either formally or empirically, that the software computes the specified function-whether or not the specified function is correct. Note several subtleties here. First, to employ these techniques, we need a definition of correct behavior. Without an accurate definition of what we want, we cannot confidently label an information system as defective. Second, the predominant goal of software assurance has been to demonstrate correct behavior. But as we all know, correct software can still kill you. Correct and safe behaviors can conflict since safety is a system property while correctness is a software property. We must merge these two properties if we ever hope to realize information assurance. Information assurance is similar to software assurance but covers a broader set of information integrity issues, such as information security, privacy, and confidentiality. For example, if a system can thwart attacks, whether malicious or simply unfortunate, and still provide accurate information on demand, then it provides some degree of information assurance. Information assurance also includes the traditional software “ilities” (as they are called), such as software safety, software security, reliability, fault tolerance, correctness, and so on. Put simply, information assurance is accurate enough information that is available on demand for a given application or situation  相似文献   

13.
嵌入式实时系统的正确性不仅取决于计算结果的正确性,更取决于产生结果时间的正确性.然而软件不确定的并发执行带来系统时间行为不可预测问题,使得验证复杂度升高,成本增加,为此实时系统领域提出了许多实时编程语言来提高系统的时间可预测性.LET(logical execution time)模型结合了同步模型ZET(zero e...  相似文献   

14.
Software for industrial process-control systems, such as nuclear power plant safety control systems and robots, can be very complex because of the large number of cases that must be considered. A design approach is proposed that uses decentralized control concepts, and is based on E.W. Dijkstra's concept of self-stabilizing systems (1974). This method greatly simplifies the software, so that its correctness can be verified more easily. A simple control system is described for a simulated robot that is tolerant of partial failure of controllers and mechanisms, and permits online repair and enhancement of the control functions  相似文献   

15.
软件模拟器采用软件思想模拟真实硬件工作情况,作为嵌入式系统研究的基础研发工具,被广泛应用于体系结构设计调优、软硬件协同设计领域。研究提出一种在SPARC指令集模拟器平台上实现源码级调试系统的方法,一方面该方法使用SPARC交叉调试器对运行于SPARC指令集模拟器上的应用程序进行源码级调试,有效避免了单独实现源码级调试器所带来的调试信息解析困难、可靠性难以验证的弊端;另一方面提出了在集成开发环境下源码级调试系统的高效集成机制,有效解决了进程间切换延时开销大、界面僵死等问题,为SPARC平台嵌入式系统开发人员提供了一种支持图形化界面的高可靠性源码级调试系统。通过具体实现分析,对整个调试系统进行了性能评估。  相似文献   

16.
Backtracking is a well-known technique for solving combinatorial problems. It is of interest to programming methodologists because 1) correctness of backtracking programs may be difficult to ascertain experimentally and 2) efficiency is often of paramount importance. This paper applies a programming methodology, which we call control structure abstraction, to the backtracking technique. The value of control structure abstraction in the context of correctness is that proofs of general properties of a class of programs with similar control structures are separated from proofs of specific properties of individual programs of the class. In the context of efficiency, it provides sufficient conditions for correctness of an initial program which may subsequently be improved for efficiency while preserving correctness.  相似文献   

17.
Context-oriented programming (COP) provides dedicated support for defining and composing variations to a basic program behavior. A variation, which is defined within a layer, can be de-/activated for the dynamic extent of a code block. While this mechanism allows for control flow-specific scoping, expressing behavior adaptations can demand alternative scopes. For instance, adaptations can depend on dynamic object structure rather than control flow. We present scenarios for behavior adaptation and identify the need for new scoping mechanisms. The increasing number of scoping mechanisms calls for new language abstractions representing them. We suggest to open the implementation of scoping mechanisms so that developers can extend the COP language core according to their specific needs. Our open implementation moves layer composition into objects to be affected and with that closer to the method dispatch to be changed. We discuss the implementation of established COP scoping mechanisms using our approach and present new scoping mechanisms developed for our enhancements to Lively Kernel.  相似文献   

18.
Context-oriented programming (COP) provides dedicated support for defining and composing variations to a basic program behavior. A variation, which is defined within a layer, can be de-/activated for the dynamic extent of a code block. While this mechanism allows for control flow-specific scoping, expressing behavior adaptations can demand alternative scopes. For instance, adaptations can depend on dynamic object structure rather than control flow. We present scenarios for behavior adaptation and identify the need for new scoping mechanisms. The increasing number of scoping mechanisms calls for new language abstractions representing them. We suggest to open the implementation of scoping mechanisms so that developers can extend the COP language core according to their specific needs. Our open implementation moves layer composition into objects to be affected and with that closer to the method dispatch to be changed. We discuss the implementation of established COP scoping mechanisms using our approach and present new scoping mechanisms developed for our enhancements to Lively Kernel.  相似文献   

19.
As a result of technological advances, a typical type of software systems has emerged. A large number of distributed software components are networked together through a task flow structure, and each component may have alternative algorithms among which it can choose to process tasks. However, the increased complexity and vulnerability to adverse events of such systems give rise to the need for more sophisticated yet scalable control mechanisms. In this study a control mechanism is designed to meet the need. First, stress environments are implicitly modeled by quantifying the resource availability of the system through sensors. Second, a mathematical programming model is built with the resource availability incorporated and with the stability in system behavior assured. Third, a multi-tier auction market is designed to solve the programming model by distributing computation and communication overheads. By periodically opening the auction market, the system can achieve desirable performance adaptively to changing stress environment while assuring stability and scalability properties. The control mechanism devised in this paper contributes to the efforts of managing the ever-increasing complexity of modern software systems.  相似文献   

20.
This paper describes the architecture of DISC, a system for parallel software development. The system is designed for programming computer systems having several autonomous units, not memory-sharing, and linked by means of a communication network.

The system consists of three parts. The concurrent programming language DISC (DIStributed C), which is an extension of the C language based on the concurrent mechanisms envisaged by the CSP computational model. The programming environment, designed to promote software engineering techniques in the development of distributed-programs. The language run-time support, which provides for the distributed execution of programs.  相似文献   


设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号