A design for a function-descriptive programming language is described. The language is based upon a software design model which uses the process of abstraction and successive refinement in problem solving. The resulti...
详细信息
A design for a function-descriptive programming language is described. The language is based upon a software design model which uses the process of abstraction and successive refinement in problem solving. The resulting programming language provides mechanisms and structures conducive to language extension, ease of program development and enhancement of software reliability. A system's library expands the capability of the base language to satisfy the needs of a user or user group. The user, therefore, does not need to carry the burden of those features of the language which he does not use. Because of its potentially small size, the translator or compiler of the base language may be feasibly implemented on microcomputer developmental systems.
The paper presents the purpose of learning programming language is to master the method of learning the language, rather than just master the language itself. Therefore,the cultivation of Computational Thinking is an ...
详细信息
The paper presents the purpose of learning programming language is to master the method of learning the language, rather than just master the language itself. Therefore,the cultivation of Computational Thinking is an important goal of language learning. After analyzing the teaching of programming languages in university, this paper put forward the Problem-Based Learning is beneficial to achieve this *** teaching process, Collaborative Learning and Grouping Learning can improve teaching effectiveness. A new method,which is to carry out these ideas and organize Problem-Based Learning and Grouping Learning, is given after reconstructing the teaching contents. The result of reform reveals that students' test scores have been greatly improved, the quality and quantity of the completed design work are greatly improved, the number of programming competition awards also increased *** order to make computing thinking deeply rooted, this method may be extended to other important computer basic courses.
Cross-linked mass spectrometry has been gaining popularity lately as a relatively cheap and versatile method for providing macromolecular structural data. However, the software required for matching the ion fragments...
详细信息
Cross-linked mass spectrometry has been gaining popularity lately as a relatively cheap and versatile method for providing macromolecular structural data. However, the software required for matching the ion fragments produced during the mass spectrometry experiments presents a scaling issue that can lead to very long run times. The problem is that matching the spectra present in the mass spectrometry data requires a database search. A full database search is O(n2) in the number of entries in the database. Reducing the number of entries in the database can lead to inaccurate results. It is desirable to be able to perform a full database search as quickly as possible so that the database search is not such a bottleneck for these types of experiments. Many applications exist for performing the spectra matching required for cross-linked mass spectrometry experiments. However, none of these applications is ready for a high-performance computing environment. It is desirable to provide a proteomics search software package that can be executed on a cluster of computers. This project approaches this problem by converting an open-source proteomics search package from C# to C++, which is a more appropriate language for high-performance computing applications. As the program selected for this project is very large, this project only details the conversion of certain aspects of it. These aspects include file input and output functionality, unit test functionality, and providing functions and classes that exist in C# but are missing in C++. The converted functions and classes were evaluated using unit tests and execution time benchmarks. The unit tests were used to determine the correctness of the converted code, while the benchmarks were used to make a comparison between the original C# execution time and the converted C++ execution time.
We propose a programming language, Flage, for building software systems which dynamically adapt to changing local situations. In our language, we construct applications by agents;concurrent mobile objects with the met...
详细信息
We propose a programming language, Flage, for building software systems which dynamically adapt to changing local situations. In our language, we construct applications by agents;concurrent mobile objects with the metalevel architecture. Metalevel programming facilities realize a self-control of an agent's actions and an autonomous adaptation to changes. We also introduce another kind of program element called field. A field represents a local situation around agents. For example, one field represents a virtual place to get local information in a network environment and another represents a virtual place where agents do cooperative works. If an agent enters a field, it gets programs and shared information in the field. By moving field to field, an agent can change its program composition by itself and it adapts to changing local situations. In this paper, we describe the language specification of Flage, the implementation of the platform for Flage programming and show some program examples.
This paper presents a brief outline of the Mobidget programming language, which is designed for mobile and distributed computation. An agent, which is an abstraction of a process and a protection domain, can migrate e...
详细信息
This paper presents a brief outline of the Mobidget programming language, which is designed for mobile and distributed computation. An agent, which is an abstraction of a process and a protection domain, can migrate either in whole or in part, to different nodes in the network during execution. Objects in an agent may be distributed to several nodes in the network, and even if their exact location is unknown, they can be accessed from the other parts of the agent located on different nodes, Other features, such as inter-agent communication and base-specific method invocation, are also described.
Recently, a range of information-processing circuits have been implemented in DNA by using strand displacement as their main computational mechanism. Examples include digital logic circuits and catalytic signal amplif...
详细信息
Recently, a range of information-processing circuits have been implemented in DNA by using strand displacement as their main computational mechanism. Examples include digital logic circuits and catalytic signal amplification circuits that function as efficient molecular detectors. As new paradigms for DNA computation emerge, the development of corresponding languages and tools for these paradigms will help to facilitate the design of DNA circuits and their automatic compilation to nucleotide sequences. We present a programming language for designing and simulating DNA circuits in which strand displacement is the main computational mechanism. The language includes basic elements of sequence domains, toeholds and branch migration, and assumes that strands do not possess any secondary structure. The language is used to model and simulate a variety of circuits, including an entropy-driven catalytic gate, a simple gate motif for synthesizing large-scale circuits and a scheme for implementing an arbitrary system of chemical reactions. The language is a first step towards the design of modelling and simulation tools for DNA strand displacement, which complements the emergence of novel implementation strategies for DNA computing.
Hybrid static and dynamic typing languages are aimed at combining the benefits of both kinds of lan-guages: the early type error detection and compile-time optimizations of static typing, together with the runtime ada...
详细信息
Hybrid static and dynamic typing languages are aimed at combining the benefits of both kinds of lan-guages: the early type error detection and compile-time optimizations of static typing, together with the runtime adaptability of dynamically typed languages. The StaDyn programming language is a hybrid typing language, whose main contribution is the utilization of the type information gathered by the compiler to improve compile-time error detection and runtime performance. StaDyn has been evaluated as the hybrid typing language for the .NET platform with the highest runtime performance and the lowest memory consumption. Although most optimizations are performed statically by the compiler, compilation time is yet lower than the existing hybrid languages implemented on the .NET platform.(c) 2022 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY license (http://***/licenses/by/4.0/).
This paper describes the design of a programming framework for microcontrollers specially the ones with low program and data memory, using as a base a programming language with modern features. The proposed programmin...
详细信息
This paper describes the design of a programming framework for microcontrollers specially the ones with low program and data memory, using as a base a programming language with modern features. The proposed programming framework is named Aixt Project and took inspiration from other similar projects such as Arduino, Micropython and TinyGo among others. The project's name is inspired on the weasel pet of the V programming language and at the same time it is a tribute to Ticuna people who live in the Amazon rain-forest, just between Colombia, Peru acute accent and Brasil. Aixt comes from Aixtu spacing diaeresis or Aitu spacing diaeresis ru spacing diaeresis which means otter in Ticuna language. The proposed programming framework has three main components: the Aixt language based on the V syntax, a transpiler that turns the defined V-like source code into C, and a generic cross-platform Application programming Interface (API). The target of this project is obtaining a cross-platform programming framework over the same language modern language an the same API, for programming different microcontrollers especially the ones with low memory resources. Aixt language is based on the syntax of V programming language but it uses mutable variables by default. V language was selected to be used as base of this project due to it is a new compiled programming language with interesting modern features. In order to turn the Aixt source code into C, a transpiler is implemented using Python and the some specialized libraries to design each part of its translation process. The transpiled code is compiled by the native C compiler of each microcontroller to obtain the final binary file, that is why the API has to be adapted for each native C compiler. The complete project is released as a free and open source project. Finally, different application test were done over the XC8 and XC16 compilers for the PIC16, PIC18, PIC24 and dsPIC33 microcontrollers families, demonstrating the correct wo
Observations on the design of the special-purpose scientific programming language SL/1 are presented. SL/1 is intended for applications programming of the Control Data Corporation Cyber 203, a very high-performance ve...
详细信息
Observations on the design of the special-purpose scientific programming language SL/1 are presented. SL/1 is intended for applications programming of the Control Data Corporation Cyber 203, a very high-performance vector processor, which is mainly used for scientific computation. The language design has been heavily influenced by the hardware characteristics of this machine and the needs of the Cyber 203 user community. Various aspects of the design of SL/1 are discussed and measurements of their use are presented. In addition, unexpected similarities between the resulting design of SL/1 and the design of FORTRAN are examined and several reasons for the continued widespread use of FORTRAN are suggested.
暂无评论