Formalization and application of a unifying model for name management

Formalization and Application of a Unifying Model for Name Management* Alan Kaplan and Jack C. Wileden Department of Computer Science University of Massachusetts Amherst, Massachusetts 01003 USA Name management is among the most basic foundations of software engineering, since so many software engineering tools and techniques fundamentally depend upon manipulation of names and the entities that they represent. While many individual tools and techniques have included their own specialized, often elaborate and idiosyncratic, approaches to name management, no unifying models for name management currently exist. As a result, the individual approaches are frequently complex and error-prone, while attempts to integrate collections of software engineering tools or techniques are often impeded by the inconsistency and incompatibility of the name management approaches used in the individual components of the collection. In this paper we consider some examples in which name management problems complicate software engineering activities. In particular, we focus on context control-related problems that often occur during software development. We then outline a unifying model of name management and show how its semantics can be formalized using evolving algebras, an operational semantics based on first-order logic. We also indicate how the model can serve as a basis for both informal and formal reasoning methods that can help in overcoming name management-related problems encountered by software developers. *This material is based upon work sponsored by Texas Instruments Inc. under grant SRA-2837024. The content does not necessarily reflect the position or policy of Texas Instruments and no official endorsement should be inferred. Permissionto make digitahhard sopies of all or part of this material without fee is granted provided that the copies are not made or distributed for profit or commercial advantage, the ACM oopyrightkewer noke, the title of the publication and its date appear, and notice is given that cop right is by permission of the Association for Computing Machinery, CL ins. (A ). To oopy otherwi~~ to republish, to post on serversor to recfktributeto lists, requires prior specific permission and/or a fee.

[1]  James K. Huggins Kermit: specification and verification , 1993, Specification and validation methods.

[2]  Jack C. Wileden,et al.  Environment Object Management Technology: Experiences, Opportunities and Risks , 1989, SEE.

[3]  Stuart I. Feldman,et al.  Make — a program for maintaining computer programs , 1979, Softw. Pract. Exp..

[4]  Egon Börger,et al.  A Mathematical Definition of Full Prolog , 1995, Sci. Comput. Program..

[5]  Jack C. Wileden,et al.  Conch: Experimenting with Enhanced Name Management for Persistent Object Systems , 1994, POS.

[6]  Tim Andrews Designing Linguistic Interfaces to an Object Database or What do C++, SQL, and Hell have in Common? , 1993, DBPL.

[7]  Henry Ledgard,et al.  Reference Manual for the ADA® Programming Language , 1983, Springer New York.

[8]  Ronald Morrison,et al.  On the Classification of Binding Mechanisms , 1990, Inf. Process. Lett..

[9]  Yuri Gurevich,et al.  The Semantics of the C Programming Language , 1992, CSL.

[10]  Charles Wallace,et al.  The semantics of the C++ programming language , 1995, Specification and validation methods.

[11]  Jean D. etc. Ichbiah Reference Manual for the ADA Programming Language , 1983 .

[12]  Jack C. Wileden,et al.  A Model of Visibility Control , 1988, IEEE Trans. Software Eng..

[13]  Jack C. Wileden,et al.  Object Management Technology for Environments: Experiences Opportunities and Risks , 1990 .

[14]  Egon Börger,et al.  The bakery algorithm: yet another specification and verification , 1993, Specification and validation methods.

[15]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[16]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[17]  Yuri Gurevich,et al.  Algebraic Operational Semantics and Modula-2 , 1987, CSL.

[18]  José A. Blakeley,et al.  Architecture of an open object-oriented database management system , 1992, Computer.

[19]  John Barnes Ada 95 Rationale , 1994 .

[20]  Michael Schrefl,et al.  Semantics of Object-Oriented Data Models - The Evolving Algebra Approach , 1990, East/West Database Workshop.

[21]  Ada 95 Rationale , 1995, Lecture Notes in Computer Science.

[22]  Jack C. Wileden,et al.  The AdaPIC Tool Set: Supporting Interface Control and Analysis Throughout the Software Development Process , 1989, IEEE Trans. Software Eng..

[23]  Egon B Orger,et al.  A Mathematical Deenition of Full Prolog , 1994 .

[24]  Richard C. H. Connor,et al.  Napier88 - A Database Programming Language? , 1989, DBPL.

[25]  Alexander G. Fraser,et al.  On the meaning of names in programming systems , 1971, CACM.

[26]  Richard M. Stallman,et al.  GNU make : a program for directing recompilation , 1996 .

[27]  Jerome H. Saltzer Naming and Binding of Objects , 1978, Advanced Course: Operating Systems.

[28]  John B. Johnston,et al.  The contour model of block structured processes , 1971, SIGP.