13361299
A logic covering undefinedness in program proofs
SummaryRecursive definition often results in partial functions; iteration gives rise to programs which may fail to terminate for some imputs. Proofs about such functions or programs should be conducted in logical systems which reflect the possibility of “undefined values”. This paper provides an axiomatization of such a logic together with examples of its use.
2399941
Operational semantics: Concepts and their expression
45828501
Formal Definition in Program Development
The intent of the current paper is to show how a large problem like compiler development can be divided in a way which provides a structure for arguments of correctness. Although mechanically checked proofs are not envisaged, the use of formal notation is recommended so that the basis for correctness arguments exists.
9236653
The Early Search for Tractable Ways of Reasoning about Programs
This article traces the history - up to around 1990 - of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. The main thesis is that the idea of reasoning about programs has been around since they were first written; the search has been to find tractable methods.
6772552
Fixing the semantics of some concurrent object-oriented concepts
Abstract Concurrent object-oriented languages provide a suitable target for a compositional design process that copes with the interference inherent with concurrency. Fixing the semantics of an object-based design language has been undertaken using structured operational semantics and by a mapping to the pi-calculus. These two approaches are outlined and contrasted. In particular, the difficulties in the two approaches of justifying the proof rules of the proposed design method are explained.
15308825
Scientific Decisions which Characterize VDM
The formal description and development method known as VDM has been used extensively, its specification language is now an ISO standard, and it has influenced other specification languages. The origins of VDM are normally placed in language description or semantics but it is probably best known in the wider arena of formal methods for (general) program specification and design. This paper sets out a personal view of some of the key technical decisions which characterize the Vienna Development Method.
7423994
Computational Perspectives on Map Generalization
32895841
Software Change Management
Software projects change rapidly, which makes efficient change management a major challenge for the software industry. This challenge was poorly met for years because of rudimentary tools. The paper considers how modern change management, or configuration control tools must encompass changes affecting every kind of software deliverable and artifact.
6251055
End-User Programming
End-user software development is a growing avocation in every industry and every country. By the middle of the next century, computer literacy and programming skills will be almost as common as reading and writing skills. Almost every knowledge worker in the world will be able to program if he or she sets out to do so. The implications of widespread end-user software are only just beginning to be considered. There are many exciting possibilities and some potential hazards. The time is now at hand to consider business topics such as ownership of end-user applications and liability in cases of significant errors. >
12540236
Map generalization in the Web age
Geographic information represents our understanding of the association of phenomena with their location on and near the Earth’s surface. When presented in map form, an essential aspect of that information is that it may be adapted in semantic abstraction and level of geometric detail according to the purpose of the map and the extent of the Earth that is being considered at any one time. Representations of small areas in detail result in so-called large-scale maps, while representations of large regions in lesser detail are referred to as small-scale maps. Traditionally, cartographers have performed the task of adapting the content and the level of detail of a map to suit its scale and purpose, and this process is called map generalization. The widespread use of geographic information in computers in the context of geographical information systems (GIS) has brought with it the demand for automation of map generalization. Ideally, when accessing geographic information in a GIS, it would be possible to be able to modify the level of generalization of the available geo-data entirely automatically. At present, no such automatic facilities are readily available in commercial GIS. Some commercial GIS do provide mapgeneralization tools that the user may apply in a somewhat ad hoc manner to selected geometric data. These tools appear, however, to be targeted at cartographic specialists wanting to derive a generalized dataset from a more detailed one. There are some notable examples of the way in which automated map-generalization tools have been exploited for purposes of professional map production. For example, the Institut Géographique National of France have used GALBE (this issue) to generalize the entire French road network to produce 1 : 250 000 scale maps from their BDCarto database (approximately 1 :50 000). More recently, the demand for automated map generalization, which has been longstanding in the context of conventional GIS, has been reinforced by the prevalence of geographical information access on the Internet. There are several types of public access map-based Web sites that allow a user to zoom in and out of a particular region, but at present this is usually based on stepping between independent pre-generalized datasets which may differ markedly in their degree of generalization. It would be desirable to be able to change the level of detail on such systems in a smooth and progressive manner rather than the quantum-leap changes that often characterize the current approach. Hand-held computers and mobile phones with small screens can now support the display of small maps, but the size
13190855
Conflict resolution in cartographic name placement
Abstract The increasing application of computer cartography in geographical information systems and in professional map production has highlighted the requirement for automatic positioning of cartographic text in a manner that ensures legibility. An important aspect of the implementation of automated name placement is the avoidance of conflict, in particular due to overlap between names, and between names and map features. This paper reviews the automated strategies that have been adopted for conflict resolution. The majority of these may be classified as either iterative or graph-search procedures. In general the problem may be seen as one in which initially trial positions are generated for each of a selected set of names. These trial positions should obey rules relating to text characteristics and to the relationships between names and other map features. Conflict resolution then consists in finding, for each name, a trial position that obeys the cartographic rules governing the relationships between names.