首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
Kenny  K.B. Lin  K.-J. 《Software, IEEE》1991,8(5):41-49
To satisfy the deadline requirements of hard real-time systems, programmers must be able to determine the maximum execution time of any task. The use of Flex, an experimental real-time language being developed for the Concord project, is examined. The Flex system embodies an empirical approach that first measures the actual timing behavior and then uses the measurement results to determine the parameters of a programmer-supplied timing model. This timing model gives the system the programmer's understanding of the program's timing behavior in terms of its asymptotic time complexity. The measurement system determines the exact values of model parameters using sophisticated statistical methods to derive the program's timing characteristics precisely. Flex is better than performance analyzers that examine only code because it can cope with more kinds of program structures and its does not depend on an underlying hardware model. The integration of measurement and formal analysis is discussed  相似文献   

2.
Gitto语言是一种能适用于硬实时控制应用的高级编程语言。介绍了Giotto语言的编程方法,以自主航模的设计为例,说明了Giotto语言如何在实际设计中应用,由于Giotto设计过程中将时序程序与功能程序分离的特点,使Giotto程序与具体的运行平台无关,提高了程序的健壮性、稳定性及代码的复用性。  相似文献   

3.
In this paper, we describe our experience with developing Airshed, a large pollution modeling application, in the Fx programming environment. We demonstrate that high level parallel programming languages like Fx and High Performance Fortran offer a simple and attractive model for developing portable and efficient parallel applications. Performance results are presented for the Airshed application executing on Intel Paragon and Cray T3D and T3E parallel computers. The results demonstrate that the application is “performance portable,” i.e., it achieves good and consistent performance across different architectures, and that the performance can be explained and predicted using a simple model for the communication and computation phases in the program. We also show how task parallelism was used to alleviate I/O related bottlenecks, an important consideration in many applications. Finally, we demonstrate how external parallel modules developed using different parallelization methods can be integrated in a relatively simple and flexible way with modules developed in the Fx compiler framework. Overall, our experience demonstrates that a high level parallel programming environment based on a language like HPF is suitable for developing complex multidisciplinary applications.  相似文献   

4.
ILIAD is a high-evel language for programming real-time applications which involve concurrent processing. It was designed to help scientists and engineers write reliable programs that can be read and maintained. An ILIAD program consists of a group of concurrent tasks. The tasks are autonomous and must cooperate in using the shared memory and devices in the execution environment. The language has facilities for providing secure access to these resources and for creating and synchronizing parallel instruction streams. In providing an overview of the language, the factors motivating the major design choices are discussed. A programming example illustrates how ILIAD might be applied. An assessment of the language includes a discussion of potential problem areas, both technical and nontechnical.  相似文献   

5.
This paper develops mathematical models to coordinate facility location and inventory control for a four-echelon supply chain network consisting of multiple suppliers, warehouses, hubs and retailers. The hubs help in reducing transportation costs by consolidating products from multiple warehouses and directing the larger shipments to the retailer. The integrated models studied in this paper simultaneously determines three types of decisions: (i) facility location—the number and location of warehouses and hubs, (ii) allocation—assignment of suppliers to located warehouses and retailers to located warehouses via the location hubs, and (iii) inventory control decisions at each located warehouse. The goal is to minimize the facility location, transportation and the inventory costs. A mixed integer nonlinear programming formulation is first presented. The nonlinear integer programming formulation is then transformed into a conic mixed integer program and a novel and compact conic mixed integer programming formulation. Computational runs are conducted using commercial solvers to compare the performance of the different formulations. The compact conic mixed integer programming formulation was found to significantly outperform the other formulations by achieving significant computational savings. The results demonstrate that large scale instances of certain multi-echelon supply chain network design problems can be solved using commercial solvers through intelligent reformulation of the model.  相似文献   

6.
随着实时系统在时间关键和安全关键的行业的广泛应用,程序的时间属性受到越来越广泛的关注. Henzinger提出了LET(Logical Execution Time)编程模型,提供了明确描述时间属性的机制,确保了系统的时间确定性.但传统的实时操作系统模型采用了与LET截然不同的抽象,难以很好地支持LET编程模型. Minicore是一种新型操作系统模型,程序由一组内部没有同步点的服务组成,具有较好的时间确定性和可控性,与LET编程模型的思想更吻合.将LET的控制模型和Minicore的运行模型相结合,可形成一种具有时间确定性的新型编程框架.主要描述了该框架的内存管理机制的设计和实现.文末以智能小车控制系统的实现作为研究实例验证本系统的可行性.  相似文献   

7.
实时程序设计方法的发展趋势   总被引:3,自引:0,他引:3  
本文概述了目前实时程序设计方法学的两个基本方面:实时程序设计语言和实时程序的规范说明及形式化验证。讨论了实时程序设计的基本特点和与一般程序设计的不同之处。程序层次的实时性包括静态的时间限制表达和动态的时间限制维护.程序规范层次的实时性包括建立规范说明模型和形式化证明。  相似文献   

8.
A method for extending programming languages with timing constructs is proposed. It enables the specification of timing constraints in programs. The approach is not language specific and the extension can be included in many existing programming languages. With the extension it is possible to write real-time program components that can be proven correct independently of the properties of the machine that is used for their execution. It therefore provides a similar abstraction from the execution platform as is normal in non-real-time programming. The presented approach distinguishes two phases in system construction: (1) a platform-independent programming phase that includes the expression of timing requirements, and (2) an implementation phase where all platform dependencies are addressed. The latter only differs from a normal compilation in the sense that a feasible schedule must be found to execute the program.  相似文献   

9.
The Spring kernel: a new paradigm for real-time systems   总被引:1,自引:0,他引:1  
A real-time operating system kernel, called the Spring kernel, that provides some of the basic support required for large, complex, next-generation real-time systems, especially in meeting timing constraints, is presented. The approach meets the need to build predictable yet flexible real-time systems. Most current real-time operating systems contain the same basic paradigms found in time-sharing operating systems and often use a basic priority-scheduling mechanism that provides no direct support for meeting timing constraints. Spring uses two criteria to classify tasks' interaction with and effects on the environment: importance and timing requirements. Implementation experience with Spring is described  相似文献   

10.
董卫红 《微型电脑应用》2012,28(1):49-50,54,69
C语言的运算符,操作灵活,其中自增自减运算符的功能较为特别。合理的使用自增自减运算符可以提高程序执行的效率,但同时灵活使用自增自减运算符也是个难点。根据自增自减运算符的特点和不同使用形式,剖析自增自减运算符的使用规则,以便更好地帮助初学者学习和使用自增自减运算符。  相似文献   

11.
A noninterference monitoring and replay mechanism using the recorded execution history of a program to control the replay of the program behavior and guarantee the reproduction of its errors is presented. Based on this approach, a noninterference monitoring architecture has been developed to collect the program execution data of a target real-time software system without affecting its execution. A replay mechanism designed to control the reproduction of the program behavior as well as the examination of the states of the target system and its behavior is presented. The monitoring system has been implemented using a Motorola 68000 computer in a Unix system environment. An example is used to illustrate how the mechanism detects timing errors of real-time software systems  相似文献   

12.
The use of high-level programming constructs (such as recursion, loops, and dynamic data structures) makes it difficult to estimate at compile-time the execution time and resource requirements of a program. We contend thatpartial evaluation provides a solution to this problem. Given a real-time program employing high level language constructs, partial evaluation uses information about the execution environment to create a specialized program tailored for that particular environment. Specialized programs can be better analyzed to estimate accurately the execution time and resource requirements. Our techniques offer substantially greater power and flexibility to the programmer than previous estimation techniques for real-time systems.This paper describes the application of partial evaluation to programming languages for hard-real-time systems, gives examples of programs handled by our techniques, discusses how the system appears from a user's perspective, provides an overview of the partial evaluation techniques employed using examples and describes some limitations of our techniques and possible solutions.  相似文献   

13.
Today's programming methodology emphasizes the study of static aspects of programs. In practice, however, monitoring a program in execution, i.e., monitoring a process, is routinely done by any programmer whose task it is to produce a reliable piece of software. There are two reasons why one might want to examine the dynamic aspects of a program: first, to evaluate the performance of a program, and hence to assess its overall behavior; and second, to demonstrate the presence of programming errors, isolate erroneous program code, and correct it. This latter task is commonly called ``debugging a program' and requires a detailed insight into the innards of a program being executed. Today, many computer systems are being used to measure and control real-world processes. The pace of execution of these systems and their control programs is therefore bound to timing constraints imposed by the real-world process. As a step towards solving the problems associated with execution monitoring of real-time programs, we develop a set of appropriate concepts and define the basic requirements for a real-time monitoring facility. As a test case for the theoretical treatment of the topic, we design hardware and software for an experimental real-time monitoring system and describe its implementation.  相似文献   

14.
Task-based programming models are beneficial for the development of parallel programs for several reasons. They provide a decoupling of the specification of parallelism from the scheduling and mapping to execution resources of a specific hardware platform, thus allowing a flexible and individual mapping. For platforms with a distributed address space, the use of parallel tasks, instead of sequential tasks, adds the additional advantage of a structuring of the program into communication domains that can help to reduce the overall communication overhead.  相似文献   

15.
ChARM is a simulation tool for tuning ARM-based embedded systems that include cache memories. ChARM provides a parametric, trace-driven simulation for tuning system configuration. A designer can observe performance while varying the timing, the architectural features, and the management policies of the system components. Designers can therefore evaluate the execution time of the program, the time spent in memory accesses, miss ratio, code miss ratio, and data miss ratio, and the number of burst-read operations. They can also evaluate the number of write operations for write-through cache models and burst-write operations for copy-back cache models. finally, ChARM's program locality analysis illustrates the sequentiality, temporality, and loops of a program in easy-to-read three dimensional graphs. These graphs, together with the graphs showing the distribution of the replacement conflicts in cache, help designers understand how a program works and how it stresses the memory hierarchy  相似文献   

16.
The paper gives an overview on the DSPL programming environment, an integrated approach to automate system design and implementation of applications run on dedicated parallel systems. The programming environment consists of a data-flow language and an integrated set of tools. The tools automatically derive a software model from the given application program. Based on the model, the design decisions as the network topology, the task mapping and schedule as well as the optimal use of buffers are computed. Finally, the design decisions are automatically implemented by transforming the application program in executable code for the chosen processor network. The DSPL programming environment integrates model-based optimization techniques and program transformation techniques. The integration allows to include new aspects in the optimization process. Especially optimizations crucial to the semantics of the program can be included. The most important examples of such optimizations are the enforcement of the schedule in case of data-dependent execution of tasks and the transformation of buffered communication to unbuffered communication. Both aspects are crucial to the generation of efficient parallel implementations. The integration of the two aspects is supported by a formal framework. This allows to formally prove the correctness of the program optimizations performed by the programming environment.  相似文献   

17.
Nowadays, Web-based applications has became a common practice in environment monitoring. These applications provide open platforms for users to discover access and integrate near real-time sensor data which is collected from distributed sensors and sensor networks. To make use of the shared sensor data on the Web, conceptual models in a particular domain are normally adopted. However, most conceptual models require high quality data and high level domain knowledge. Such limitations greatly limit the application of these models. To overcome some of these limitations, this paper proposes a data-mining approach to analyze patterns and relationships among different sensor data sets. This approach provides a flexible way for users to understand hidden relationships in shared sensor data, and can help them to make use Web-based sensor systems better.  相似文献   

18.
在ASP.NET环境下高效使用SQL Server.NET 数据提供程序连接池   总被引:6,自引:0,他引:6  
数据访问在基于Web的应用程序的开发中扮演着关键角色,而性能是我们在开发这种应用中应该考虑的关键因素。为了提高Web应用程序的性能应该高效使用数据库连接池。主要介绍ASP.NET环境下的连接池隐患:孤立连接、连接池溢出,出现的原因并提出了避免连接池隐患的方法。最后介绍用SQL Server性能监视器和事件探查器对连接池进行监控的知识。  相似文献   

19.
An environment that supports execution of programs using both N-version programming and recovery blocks in a uniform manner is described. For N-version programming, the system offers an easy and flexible way of specifying the target machines for the separate versions. The basic unit of fault tolerance supported by this system is at the procedure or function level. Each such program unit can be packaged as its own task, and different fault tolerance techniques can subsequently be employed, even within the same application. The environment also allows versions to be written in different programming languages and executed on different machines. This enhances the independence between the different versions, making the fault tolerance techniques more effective. This environment has been developed for use on Unix-based hosts and currently runs on a network of Sun and DEC workstations  相似文献   

20.
面向对象程序设计语言的绑定时间分析技术   总被引:5,自引:0,他引:5       下载免费PDF全文
廖湖声  童兆丰  王众 《软件学报》2003,14(3):415-421
为了实现面向对象语言的部分求值,提出了一种绑定时间分析技术.该技术通过针对引用类型变量和指针变量的上下文敏感分析,能够比较精确地分析面向对象语言中诸如对象元素、数组元素等复杂数据结构元素的绑定时间,进而扩大了部分求值的作用范围.这种方法采用两层BTA环境来保存静态变量和局部变量的BTA状态,设置一种专用句柄来表示不同程序点创建的对象,进而采用这种句柄的集合表示引用类型变量的BTA状态.在为面向对象语言程序标注绑定时间信息的过程中,采用一个正向分析和一个反向分析过程,借助于BTA环境来跟踪和设定各种变量、对象和引用变量的绑定时间.该技术已经用于实现Java程序的绑定时间分析,能够有效地分析大多数单线程的Java程序,为实现高性能Java程序部分求值提供了必要的手段.  相似文献   

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

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