Many novel computer architectures like array and multiprocessors which achieve high performance through the use of concurrency exploit variations of the von Neumann model of computation. The effective utilization of t...
详细信息
Many novel computer architectures like array and multiprocessors which achieve high performance through the use of concurrency exploit variations of the von Neumann model of computation. The effective utilization of the machines makes special demands on programmers and their programming languages, such as the structuring of data into vectors or the partitioning of programs into concurrent processes. In comparison, the data flow model of computation demands only that the principle of structured programming be followed. A data flow program, often represented as a data flow graph, is a program that expresses a computation by indicating the data dependencies among operators. A data flow computer is a machine designed to take advantage of concurrency in data flow graphs by executing data independent operations in parallel. In this paper, we discuss the design of a high level language (DFL: D ata F low L anguage) suitable for data flow computers. Some sample procedures in DFL are presented. The implementation aspects have not been discussed in detail since there are no new problems encountered. The language DFL embodies the concepts of functional programming, but in appearance closely resembles Pascal. The language is a better vehicle than the data flow graph for expressing a parallel algorithm. The compiler has been implemented on a DEC 1090 system in Pascal.
Expressing a cooperative control system requires combining tools from control theory and distributed computation. After reviewing several possible formalisms appropriate for the job, the authors settle on the computat...
详细信息
Expressing a cooperative control system requires combining tools from control theory and distributed computation. After reviewing several possible formalisms appropriate for the job, the authors settle on the computation and control language and illustrate its main features and advantages using a cooperative tracking task. We demonstrate some of the concepts involved in using a multirobot task. We also discuss CCL's ability to be a programming language as well as a modeling tool, which lets us directly simulate or execute CCL models.
AbstractThe programming language Oberon is the result of a concentrated effort to increase the power of Modula‐2 and simultaneously to reduce its complexity. Several features were eliminated, and a few were added in ...
详细信息
AbstractThe programming language Oberon is the result of a concentrated effort to increase the power of Modula‐2 and simultaneously to reduce its complexity. Several features were eliminated, and a few were added in order to increase the expressive power and flexibility of the language. This paper describes and motivates the changes. The language is defined in a concise report
Presented in this paper is a general thermal analyser for versatile heat transfer problems represented by lumped thermal systems. The analyser is mostly distinguished from existing thermal analysers by (1) using a fle...
详细信息
Presented in this paper is a general thermal analyser for versatile heat transfer problems represented by lumped thermal systems. The analyser is mostly distinguished from existing thermal analysers by (1) using a flexible language to build the input data file, (2) being capable of deleting and adding submodels at any computation time, (3) being able to manipulate thermal and heat transfer properties in the computation, and (4) being accessible to third party libraries. The analyser is also suitable for solving any physical problem which can be both represented by a system of diffusion-typed equations and formulated as a conductance and capacitance network. In addition to the detailed description of using the thermal analyser, the compiler design for the specially developed language is also elaborated.
作者:
Li, BoruiDong, WeiZhejiang Univ
Alibaba Zhejiang Univ Joint Inst Frontier Technol Coll Comp Sci Hangzhou 310027 Peoples R China
IoT application development usually involves separate programming at the device side and server side. While separate programming style is sufficient for many simple applications, it is not suitable for many complex ap...
详细信息
IoT application development usually involves separate programming at the device side and server side. While separate programming style is sufficient for many simple applications, it is not suitable for many complex applications that involve complex interactions and intensive data processing. We propose EdgeProg, an edge-centric programming approach to simplify IoT application programming, motivated by the increasing popularity of edge computing. With EdgeProg, users could write application logic in a centralized manner with an augmented If-This-Then-That (IFTTT) syntax and virtual sensor mechanism. The program can be processed at the edge server, which can automatically generate the actual application code and intelligently partition the code into device code and server code, for achieving the optimal latency. EdgeProg employs dynamic linking and loading to deploy the device code on a variety of IoT devices, which do not run any application-specific codes at the start. Results show that EdgeProg achieves an average reduction of 20.96%, 27.8% and 79.41% in terms of execution latency, energy consumption, and lines of code compared with state-of-the-art approaches.
This paper proposes an approach, called “the Harmonic Design Method”, to achieve an approximately ideal language that simultaneously serves the purposes or requirements of software specification, verification, imple...
详细信息
This paper proposes an approach, called “the Harmonic Design Method”, to achieve an approximately ideal language that simultaneously serves the purposes or requirements of software specification, verification, implementation and so on. This approach is based on two important concepts—partitioning and unification. In the Harmonic Design Method, the collection of the problem-oriented languages and the transformation algorithms between the languages, provided through the process of the partitioning and unification, is regarded as the approximation to the target ideal language. As an application of the Harmonic Design Method, the design of a software support system for making the development of protocols and communication software easy is given. In this design, we provide three problem-oriented languages, viz., the protocol specification language NESDEL, the communication software oriented programming language IDL and the language EXPA which has both a framework for expressing protocols and an algorithm for verifying protocols, and three transformation algorithms between them, i.e., NESDEL-to-EXPA, EXPA-to-NESDEL and NESDEL-to-IDL. The details of these languages and transformation algorithms are also given. Finally, we introduce some software tools used for supporting these languages and transformation algorithms.
A language space provides a unified framework to deal with the properties of language constructs by associating them with their specification rules. The concrete syntax is represented by segments of the language space...
详细信息
A language space provides a unified framework to deal with the properties of language constructs by associating them with their specification rules. The concrete syntax is represented by segments of the language space. The semantics is given by derived operations of the algebras where these constructs are interpreted by the processing tools operating on the language space. We examine in this paper only processing tools that collect syntactic information over the language space. Tools involved in semantics processing such as translators and interpreters are also integrated in the language space but are not discussed here.
In a personal account, the author chronicles the joint effort by the University Mathematical Laboratory at Cambridge and the Institute of Computer Science in London to develop the programming language CPL in the early...
详细信息
In a personal account, the author chronicles the joint effort by the University Mathematical Laboratory at Cambridge and the Institute of Computer Science in London to develop the programming language CPL in the early 1960s. Although the project failed to achieve all its aspirations, it did lay important groundwork by establishing some of the basic principles that underlie today's programming languages.
Because enriching grid applications is crucial to promote grid computing and grid economy, in this paper we focus on how to attract expert system programmers to run their applications on grid systems. CLIPS is a rule-...
详细信息
Because enriching grid applications is crucial to promote grid computing and grid economy, in this paper we focus on how to attract expert system programmers to run their applications on grid systems. CLIPS is a rule-based language designed to help construct expert systems more easily because it is not required to design all algorithm to solve any problem. Instead, it relies oil the CLIPS inference engine to draw a conclusion from the known facts and rules. However. because Of the language's characteristics. it is very time-consuming to execute a CLIPS application when compared with other algorithmic languages. To address the problem, we propose to execute a CLIPS-based expert system in parallel by emerging cluster and grid systems in this paper. To achieve the goal, CLIPS has to be extended with new syntax to be a parallel version. In addition, we propose to adopt the SPMD computational model for programming to maintain parallel CLIPS applications in an easier way. According to experimental results. it is appealing to run CLIPS-based expert systems in parallel oil Cluster and grid systems by adopting our approach because the performance improvements can be superlinear.
In ICT education, most of the courses particularly those focused on programming, are designed to enhance computational and practical skills. However, the selection of appropriate programming languages holds great sign...
详细信息
ISBN:
(纸本)9798400708534
In ICT education, most of the courses particularly those focused on programming, are designed to enhance computational and practical skills. However, the selection of appropriate programming languages holds great significance for novice programmers embarking on their journey of learning programming. This paper presents a comprehensive analysis utilizing real-world data to gain insights into the prevalent trends in programming language selection for problem-solving among novice programmers. The study leverages solution submission logs from an online judge (OJ) system, employed as an educational tool within an introductory programming course. The analysis specifically focuses on topic #1 consists of four problems of this course. Our investigation revolves around programmers’ first attempts to solve these problems, taking into account the programming languages they employ. The findings of our detailed statistical analysis shed light on the preferred programming languages used by programmers to tackle these problems. These insights not only aid fledgling novice programmers in making informed decisions when selecting a programming language, but also offer educators, instructors, and academic institutions valuable information for curating programming language choices within introductory programming courses.
暂无评论