Two software tools are described that are designed to facilitate software development for microcontrollers. One is a mid-level programming language called Pascal/48 and the other is a circuit simulation system. Pascal...
详细信息
Two software tools are described that are designed to facilitate software development for microcontrollers. One is a mid-level programming language called Pascal/48 and the other is a circuit simulation system. Pascal/48 is designed to give the programmer many of the advantages of a high-level language, but also provide access to all of the hardware of the Intel MCS-48 series of microcontrollers. The circuit simulation system combines many of the advantages of simulation and emulation. It provides a software testing environment in which many more software functions can be tested than with conventional simulators. The system integrates an instruction-set simulator with simulators for other devices. They operate in parallel and are synchronized by a clock that records simulated time. I/O lines of the microcontroller can be linked to other components so that complete circuits can be simulated. Displays are provided of the internal and external state of the simulated circuit, and of the Pascal/48 program being executed. They are updated as simulated execution proceeds using the screen updating facilities of ASCII terminals. Simulation can be continuous, single step, or execution can be reversed (i.e. instructions are ‘unexecuted’).
Currently, a shift of paradigm from sequential to distributed computing can be observed. Tremendous efforts are needed to cope with the challenging demands that are inherent to this transition. The two most important ...
详细信息
Currently, a shift of paradigm from sequential to distributed computing can be observed. Tremendous efforts are needed to cope with the challenging demands that are inherent to this transition. The two most important issues concern programming support for developing large-scale distributed applications and the efficient execution of such applications on top of a distributed hardware configuration. This paper presents a new language and object-based approach called MoDiS to cope with these demands. Distributed systems are developed and transformed into executables following a systematic, top-down driven method. language-level is intended to mean that a high-level programming language is used to develop operating system services as well as user-level applications. The language-level concepts employed are based on objects and support advanced structuring features. Structural dependencies between objects are implicitly determined at the application level and exploited by the distributed resource management system to transform applications into efficient executables.
A code snippet is a small region of reusable source code that is common to many functions. Skilled management and reuse of snippets can improve programming efficiency in practice. However, we find that most snippets a...
详细信息
A code snippet is a small region of reusable source code that is common to many functions. Skilled management and reuse of snippets can improve programming efficiency in practice. However, we find that most snippets are posted to online blogs or snippet management systems with little description and tagging, which leads to an embarrassing situation in which existing snippets are difficult to reuse. This occurs because snippets are usually hastilypushed to online services or saved in text files by programmers and also because existing management systems do not provide efficient labeling and reusing frameworks. In this paper, we propose to annotate snippets with a well-formed domain-specific ontology-programming ontology. With a thorough investigation of real world snippets, we designed a programming ontology to annotate and recommend snippets. We show how to annotate a snippet with ontology terms based on text classification models. In addition, we built a snippet management system that stores user snippets in the cloud and automatically recommends snippets, so that the retrieval of snippets becomes trivial in popular integrated developing environments, such as Eclipse and Visual Studio. Our evaluation results demonstrate that theontology annotation algorithm is able to automatically annotate a snippet with a high degree of accuracy. The shared domain knowledge also makes it possible to share snippets among programmers and systems. As the number of labeled snippets increases, deep learning models can be trained and used to annotate code snippets with high accuracy.
Cellular automata might be implemented as programmable special-purpose processors controoled by universal computer systems. This configuration is appropriate, because in general only special tasks of complex problems ...
详细信息
Cellular automata might be implemented as programmable special-purpose processors controoled by universal computer systems. This configuration is appropriate, because in general only special tasks of complex problems are efficiently parallelizable. Many task for image processing like window operators for filtering, smoothing or edge detection may be presented in a way particularly suitable for cellular automata. In this paper we present CELIP, a CEllular language for Image Processing. It has been developed for prototyping cellular algorithms for image processing.
Le langage de programmation Prolog III est une extension de Prolog au niveau de ce qu’il a de plus fondamental, le mécanisme d’unification. Il intègre dans ce mécanisme un traitement fin des arbres et...
详细信息
Le langage de programmation Prolog III est une extension de Prolog au niveau de ce qu’il a de plus fondamental, le mécanisme d’unification. Il intègre dans ce mécanisme un traitement fin des arbres et des listes, un traitement numérique et un traitement du calcul propositionnel complet. L’auteur présente ici les spécifications et le modèle logico-mathématique de ce nouveau langage. A cette occasion, il remplace la notion même d’unification par celle plus appropriée de résolution de contraintes. Puis il illustre les possibilités accrues du langage à travers des exemples variés.
We develop a new trust - region (TR)- based algorithm to construct complete three - phase envelopes for reservoir fluid mixtures. The new algorithm is developed based on a basic algorithm for two-phase envelope constr...
详细信息
We develop a new trust - region (TR)- based algorithm to construct complete three - phase envelopes for reservoir fluid mixtures. The new algorithm is developed based on a basic algorithm for two-phase envelope constructions (Xu and Li 2023). A state - of - the - art TR method with a realistic exact subproblem solver is implemented in the algorithm, and an integrated strategy is adopted to construct complete phase envelopes with two-phase and three - phase branches. We test the performance of the TR- based algorithm by constructing multiphase envelopes for a total of 15 fluid mixtures that include hydrocarbons- CO2, hydrocarbons- asphaltene, and hydrocarbons - water mixtures. Comparison against the conventional Newton - based algorithm indicates that the TR- based algorithm leads to a much higher computational efficiency and an enhanced robustness.
It is possible, by appropriate programming language extensions, to use the assignment statement as the sole means of changing the value of a variable, thereby eliminating the need to modify routine arguments by output...
详细信息
It is possible, by appropriate programming language extensions, to use the assignment statement as the sole means of changing the value of a variable, thereby eliminating the need to modify routine arguments by output parameters. Several suggestions are made to enhance the syntax and semantics of routine definition and assignment to maintain notational convenience and efficient execution normally associated with output parameters. Finally, an almost complete implementation of the ideas is presented in C.
Although Newton-Cotes integration formulas in engineering have been the subject of the study for a long time, the improvement in formulations is still object of interest. In this sense, design of calculators based on ...
详细信息
Although Newton-Cotes integration formulas in engineering have been the subject of the study for a long time, the improvement in formulations is still object of interest. In this sense, design of calculators based on these formulations becomes significant. The purpose of this paper is to design an integral calculator for any engineering problems. Since the integral calculator, easy-to-understand and use, is aimed to be employed by any kind of users. Visual Basic for Applications (VBA) is the programming language of Excel. Excel spreadsheet with VBA is preferred for this purpose. In this study, a user interface input form is introduced. This form is composed of the embedded algorithm. This algorithm includes not only rules and formulations of each Newton-Cotes such as Composite Trapezoidal rule, Simpson's rules, Boole's rules, and Gauss Legendre formulations with 2, 6, 10, 16, and 24 points and exact result of any integral (if it exists) with computed true percent relative error for comparison purposes. This calculator is tested for civil, mechanical, and chemical engineering applications. The results and screenshots for each application obtained from calculator are presented. The present study allows design of an integral spreadsheet calculator for any integral given. If exact result of the integral cannot be obtainable, the calculator can perform only integral calculations numerically without exact solution and computed true percent relative error. Otherwise, user can solve the integrals completely with this tool easily and accurately again but this time by both numerically and analytically with true percent relative error calculations.
L.0 is a programming language designed for the specification and simulation of protocols. The model of concurrency assumed in L.0 is a true concurrency model, rather than an interleaving semantics model. Thus, simulta...
详细信息
L.0 is a programming language designed for the specification and simulation of protocols. The model of concurrency assumed in L.0 is a true concurrency model, rather than an interleaving semantics model. Thus, simultaneous occurrence of events may be easily specified in L.0. This paper gives the semantics of L.0 in terms of predicate linear temporal logic and defines the restricted universe of models assumed in L.0 programs. The execution algorithm for L.0 constructs a model in this universe. The restricted subset of temporal logic exploited permits a nonbacktracking execution algorithm. Fundamental to the semantics of L.0 is a frame assumption, which generalizes the frame assumption of standard imperative programming, and which eases specification of protocols. The data domain assumed in L.0 programs is sets of trees with labeled edges, and the state predicates permitted include existence and nonexistence predicates, as well as the more traditional assignment and equality predicates. These choices for data domain and predicates permit convenient specification of the hierarchical message structure often assumed in telecommunications protocols. For in such message structures, the existence or nonexistence of parts of the message hierarchy is determined by logical properties of the rest of the message hierarchy. The subject of the main example in the paper is a small portion of the Logical Layer Specification of Futurebus+.
Efficiency and flexibility of collections have a significant impact on the overall performance of applications. The current approaches to implement collections have two main drawbacks: (i) they limit the efficiency of...
详细信息
Efficiency and flexibility of collections have a significant impact on the overall performance of applications. The current approaches to implement collections have two main drawbacks: (i) they limit the efficiency of collections and (ii) they have not adequate support for collection composition. So, when the efficiency and flexibility of collections is important, the programmer needs to implement them himself, which leads to the loss of reusability. This article presents neoCollection, a novel approach to encapsulate collections. neoCollection has several distinguishing features: (i) it can be applied on data elements efficiently and flexibly (ii) composition of collections can be made efficiently and flexibly, a feature that does not exist in the current approaches. In order to demonstrate its effectiveness, neoCollection is implemented as an extension to Java and C++.
暂无评论