The design of programming environments implies the integration of different tools in order to provide the user with an uniform framework. Tools integration may be envisaged from different points of view: from a merely...
详细信息
The design of programming environments implies the integration of different tools in order to provide the user with an uniform framework. Tools integration may be envisaged from different points of view: from a merely visual integration among non-cooperative tools, to a complete data and control integration. This paper is intended to present the work done on designing an architecture suitable to serve as a framework for distributed programming environments, together with a user interface generator able to provide a visual integration level to UNIX-like toolsets. This architecture is based on the use of a syntactic server able to manage partial attributed abstract syntax trees, and an environment controller in order to ensure the consistency among partial AST's.
An effective data-parallel programming environment will use a variety of tools that support the development of efficient data-parallel programs while insulating the programmer from the intricacies of the explicitly pa...
详细信息
An effective data-parallel programming environment will use a variety of tools that support the development of efficient data-parallel programs while insulating the programmer from the intricacies of the explicitly parallel code.
Software projects consist of different kinds of artifacts: build files, configuration files, markup files, source code in different software languages, and so on. At the same time, however, most integrated development...
详细信息
Software projects consist of different kinds of artifacts: build files, configuration files, markup files, source code in different software languages, and so on. At the same time, however, most integrated development environments (IDEs) are focused on a single (programming) language. Even if a programming environment supports multiple languages (e.g., Eclipse), IDE features such as cross-referencing, refactoring, or debugging, do not often cross language boundaries. What would it mean for programming environment to be truly multilingual? In this short paper we sketch a vision of a system that integrates IDE support across language boundaries. We propose to build this system on a foundation of unified source code models and metaprogramming. Nevertheless, a number of important and hard research questions still need to be addressed. (C) 2014 Elsevier B.V. All rights reserved.
The author introduces a novel basis for programming environments that encourages development of software in fragments of various types, called fragtypes. Fragtypes range from a simple expression type to a complete sub...
详细信息
The author introduces a novel basis for programming environments that encourages development of software in fragments of various types, called fragtypes. Fragtypes range from a simple expression type to a complete subsystem type. As a result, they are suited to the development of software in an enlarged scope that includes both programming in the small and programming in the large. The author shows how proposed operations on fragtypes can achieve unusual effects on the software development process. Fragtypes and their associated construction rules form the basis of the programming environment MUPE-2, which is currently under development at McGill University. The target and the implementation language of this environment is the programming language Modula-2.
This review classifies genetic-algorithm environments into application-oriented systems, algorithm-oriented systems, and toolkits. It also presents detailed case studies of leading environments. Following Holland'...
详细信息
This review classifies genetic-algorithm environments into application-oriented systems, algorithm-oriented systems, and toolkits. It also presents detailed case studies of leading environments. Following Holland's (1975) original genetic algorithm proposal, many variations of the basic algorithm have been introduced. However. an important and distinctive feature of all GAs is the population-handling technique. The original GA adopted a generational replacement policy, according to which the whole population is replaced in each generation. Conversely, the steady-state policy used by many subsequent GAs selectively replaces the population. After we introduce GA models and their programming, we present a survey of GA programming environments. We have grouped them into three major classes according to their objectives: application-oriented systems hide the details of GAs and help users develop applications for specific domains; algorithm-oriented systems are based on specific GA models; and toolkits are flexible environments for programming a range of GAs and applications. We review the available environments and describe their common features and requirements. As case studies, we select some specific systems for more detailed examination. To conclude, we discuss likely future developments in GA programming environments
Considerable research effort in the software engineering domain has been focused on the development of more advanced programming environments. A key aspect in this development isdistribution. Distributed computer syst...
详细信息
Considerable research effort in the software engineering domain has been focused on the development of more advanced programming environments. A key aspect in this development isdistribution. Distributed computer systems have the potential for high reliability. This is primarily because resources can be provided redundantly at different sites. However, the possibility of partial system failure and the high level of parallel activity in distributed systems make it difficult to realise this potential. In an attempt to simplify the treatment of these problems in distributed database systems, the notion ofatomic transactionswas introduced. The transaction concept is equally applicable to the area of distributed programming environments. However, traditional database transaction mechanisms are not efficient or flexible enough to meet the requirements of distributed programming environments. This paper presents a survey of transaction techniques and discusses the application of the transaction model to distributed programming environments.
For the most part, the tree representation of a program has served as the basis of the design of cursor movements in the user interfaces of integrated programming environments. A new approach to the design of cursor ...
详细信息
For the most part, the tree representation of a program has served as the basis of the design of cursor movements in the user interfaces of integrated programming environments. A new approach to the design of cursor movements is proposed that is based on the requirements of integrated tools, such as structured editors, code browsers, and formatters. In this approach, tool requirements are used to define precisely the parts of a program on which the cursor can be positioned and to determine the paths for cursor movements, by using the defined program parts. By partitioning and streaming program structures according to software tool requirements, as opposed to language grammar and program tree, cursor movements improve support for programming activities. A description is presented of the application of this approach to MODULA-2 programs, and a comparison with other approaches is made. In addition, an implementation of cursor movements for the programming environment MUPE-2, based on the proposed approach, is reviewed.
Following the need to provide profound understanding of fundamental concepts in electrical engineering a number of computer assisted learning (CAL) programs have been developed in the Department of Electronic and Elec...
详细信息
Following the need to provide profound understanding of fundamental concepts in electrical engineering a number of computer assisted learning (CAL) programs have been developed in the Department of Electronic and Electrical Engineering at Surrey, UK, to aid teaching of Signal Analysis, Electromagnetic Field Theory, Engineering Mathematics, Power Electronics and Telecommunications. They all run on personal computers (Apple Macintosh or IBM PC), except for the Telecommunications Tutorials which are designed for SUN workstations. The programming environment used is cT(TM) for personal computers and the advanced simulation software package SpW(TM) for workstations. The course material is designed to meet the requirements of a modular syllabus structure. The software is developed by final year undergraduates for pedagogical reasons with the emphasis on animation, real-time calculations, interactiveness and self-assessment.
New software technologies, including the World Wide Web, may seem far removed from the tasks facing test program set (TPS) developers, but they promise to revolutionize the way TPS data is organized, presented, and us...
详细信息
New software technologies, including the World Wide Web, may seem far removed from the tasks facing test program set (TPS) developers, but they promise to revolutionize the way TPS data is organized, presented, and used. This paper will describe how an integrated TPS development and execution environment can capitalize on these new technologies to improve test programming efficiency.
暂无评论