SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.65016
J. Wileden, A. Wolf, Charles D. Fisher, P. Tarr
{"title":"Pgraphite: an experiment in persistent typed object management","authors":"J. Wileden, A. Wolf, Charles D. Fisher, P. Tarr","doi":"10.1145/64135.65016","DOIUrl":"https://doi.org/10.1145/64135.65016","url":null,"abstract":"Defining, creating, and manipulating persistent typed objects will be central activities in future software environments. PGRAPHITE is a working prototype through which we are exploring the requirements for the persistent object capability of an object management system in the Arcadia software environment.\u0000PGRAPHITE represents both a set of abstractions that define a model for dealing with persistent objects in an environment and a set of implementation strategies for realizing that model. PGRAPHITE currently provides a type definition mechanism for one important class of types, namely directed graphs, and the automatic generation of Ada implementations for the defined types, including their persistence capabilities.\u0000We present PGRAPHITE, describe and motivate its model of persistence, outline the implementation strategies that it embodies, and discuss some of our experience with the current version of the system.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127229629","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.65017
M. Beaudouin-Lafon
{"title":"User interface support for the integration of software tools: an iconic model of interaction","authors":"M. Beaudouin-Lafon","doi":"10.1145/64135.65017","DOIUrl":"https://doi.org/10.1145/64135.65017","url":null,"abstract":"This paper presents a model of interaction based on an iconic representation of objects. An application of the model to an iconic shell for Unix#8482; is described. Finally a client server architecture for the implementation of the model is introduced. We show that a software development environment can take advantage of such a model and architecture in order to provide a consistent, adaptable and extensible user interface.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129150133","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.65019
U. Reddy
{"title":"Transformational derivation of programs using the focus system","authors":"U. Reddy","doi":"10.1145/64135.65019","DOIUrl":"https://doi.org/10.1145/64135.65019","url":null,"abstract":"A program derivation support system called Focus is being constructed. It will formally derive programs using the paradigm of program transformation. The following issues are discussed: (1) the integration of validation and program derivation activities in the Focus system; (2) its tree-based user interface; (3) the control of search spaces in program derivation; and (4) the structure and organization of program derivation records. The inference procedures of the system are based on the integration of functional and logic programming principles. This brings about a synthesis of paradigms that were heretofore considered far apart, such as logical and executable specifications and constructive and transformational approaches to program derivation. A great emphasis has been placed, in the design of Focus, on achieving small search spaces during program derivation. The program manipulation operations such as expansion, simplification and rewriting were designed with this objective. The role of operations that are expensive in search spaces, such as folding, has been reduced. Program derivations are documented in Focus in a way that the high level descriptions of derivations are expressed only using program level information. All the meta-level information, together with dependencies between derivations of program components, is automatically recorded by the system at a lower level of description for its own use in replay.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"118 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124035424","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.65018
L. Clarke, D. Richardson, S. Zeil
{"title":"TEAM: a support environment for testing, evaluation, and analysis","authors":"L. Clarke, D. Richardson, S. Zeil","doi":"10.1145/64135.65018","DOIUrl":"https://doi.org/10.1145/64135.65018","url":null,"abstract":"Current research indicates that software reliability needs to be achieved through the careful integration of a number of diverse testing and analysis techniques. To address this need, the TEAM environment has been designed to support the integration of and experimentation with an ever growing number of software testing and analysis tools. To achieve this flexibility, we exploit three design principles: component technology so that common underlying functionality is recognized; generic realizations so that these common functions can be instantiated as diversely as possible; and language independence so that tools can work on multiple languages, even allowing some tools to be applicable to different phases of the software lifecycle. The result is an environment that contains building blocks for easily constructing and experimenting with new testing and analysis techniques. Although the first prototype has just recently been implemented, we feel it demonstrates how modularity, genericity, and language independence further extensibility and integration.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"2016 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121324243","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.65011
T. Rodden, P. Sawyer, I. Sommerville
{"title":"Interacting with an active, integrated environment","authors":"T. Rodden, P. Sawyer, I. Sommerville","doi":"10.1145/64135.65011","DOIUrl":"https://doi.org/10.1145/64135.65011","url":null,"abstract":"Software engineering environments are intended to provide a cohesive and integrated set of tools to support the process of software engineering with much current research into environment design focussed on maximising the degree to which these tools can be integrated. This paper describes the architecture of a prototype environment which attempts to achieve a high degree of integration using techniques drawn from artificial intelligence, office automation and object-oriented programming. This environment is implemented as a federation of intelligent, co-operating agents which communicate, with each other and with users, by message passing. This paper is particularly concerned with user interface integration including the mechanisms employed to permit inter-agent and agent-user communications.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"114 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121789445","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.65020
C. Lewerentz
{"title":"Extended programming in the large in a software development environment","authors":"C. Lewerentz","doi":"10.1145/64135.65020","DOIUrl":"https://doi.org/10.1145/64135.65020","url":null,"abstract":"This paper deals with the programming in the large part and the integration with related activities (programming in the small, variant control, support of technical documentation, responsibility and access control) of the software development and maintenance process. It is pointed out how these tasks are supported with an integrated and incremental software project support environment (IPSEN).\u0000Snapshots of a working session are used to demonstrate the user interface and the functionality of the tools for the above mentioned topics. The main concern of this paper is to show how an incremental and integrated tool set, regarding the consistency of software documents can support software development.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127813118","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.65009
G. Clemm
{"title":"The workshop system: a practical knowledge-based software environment","authors":"G. Clemm","doi":"10.1145/64135.65009","DOIUrl":"https://doi.org/10.1145/64135.65009","url":null,"abstract":"The Workshop System is a programming environment designed to support teams of programmers working concurrently on large software projects. An essential feature of the Workshop System is the storage of all information from the software project as fine grained objects in a shared database. In order to allow effective usage of this potentially overwhelming amount of information, the Workshop System provides a rule-based language called SE-KRL for specifying both the software objects and the software process for a given domain. SE-KRL programs can then be written to automate mechanical aspects of the software development process as well as to guide the essential creative activity of a software engineer.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128580063","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.65015
B. Alpern, A. Carle, B. Rosen, P. Sweeney, F. K. Zadeck
{"title":"Graph attribution as a specification paradigm","authors":"B. Alpern, A. Carle, B. Rosen, P. Sweeney, F. K. Zadeck","doi":"10.1145/64135.65015","DOIUrl":"https://doi.org/10.1145/64135.65015","url":null,"abstract":"An interactive software development environment can be viewed as a structure-based editor, provided that structure is broadly interpreted. The user sees and manipulates complex objects at various levels of detail. Many of the implications of changes are analyzed and made available to the user as frequently as the user wishes, without a mode change from editing to compiling or linking. To help provide these services in a uniform way that can readily respond to changes in the programming language(s) supported or in the preferences of individual users, some programming environments use attribute grammars.\u0000The attributed graph specifications (AGS's) defined here are inspired by attribute grammars but are free of their restriction to structures expressible by parse trees generated by context-free grammars. An AGS deals with whatever structure is appropriate in a given application. The graph concept here is not tied to any decision about pictorial representation. Indeed, we do not care whether the user sees pictures or text or a combination of the two. The AGS formalism is a uniform paradigm for specifying the desired relations among many and varied chunks of information, some of which are changed by the user. The benefits of the original attribute grammar formalism were confined to parse trees and severely restricted manipulations of parse trees. The AGS paradigm extends those benefits to software development on a larger scale.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129933456","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.64142
A. Mahler, A. Lampen
{"title":"An integrated toolset for engineering software configurations","authors":"A. Mahler, A. Lampen","doi":"10.1145/64135.64142","DOIUrl":"https://doi.org/10.1145/64135.64142","url":null,"abstract":"Configuration management in toolkit oriented software development environments (SDE), such as the UNIX system, is a long standing nuisance. Mostly, one has to face the choice between poorly or not at all integrated, independent tools, or highly integrated, most specialized, and often language dependent environments. The first choice offers very limited support for a complex task that needs a broad informational basis. The second choice often takes away the programmers' most cherished tools, forces him to adopt some different work discipline, and thereby eventually restricts his creativity. The toolset described in this paper integrates a dedicated version control system and shape, a significantly enhanced Make [Feld79a] program, on the basis of a common object model. This object model comprises multiple versions of software objects as well as conventional file system objects. Taking this approach made it possible to have a sufficiently integrated toolsystem for engineering software configurations while retaining the flexibility of the basic toolbox philosophy, permitting the use of 'off-the-shelf' tools, e.g. editors or compilers.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117209001","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SDE 3Pub Date : 1989-01-03DOI: 10.1145/64135.65004
R. Taylor, F. Belz, L. Clarke, L. Osterweil, R. Selby, J. Wileden, A. Wolf, M. Young
{"title":"Foundations for the Arcadia environment architecture","authors":"R. Taylor, F. Belz, L. Clarke, L. Osterweil, R. Selby, J. Wileden, A. Wolf, M. Young","doi":"10.1145/64135.65004","DOIUrl":"https://doi.org/10.1145/64135.65004","url":null,"abstract":"Early software environments have supported a narrow range of activities (programming environments) or else been restricted to a single “hard-wired” software development process. The Arcadia research project is investigating the construction of software environments that are tightly integrated, yet flexible and extensible enough to support experimentation with alternative software processes and tools. This has led us to view an environment as being composed of two distinct, cooperating parts. One is the variant part, consisting of process programs and the tools and objects used and defined by those programs. The other is the fixed part, or infrastructure, supporting creation, execution, and change to the constituents of the variant part. The major components of the infrastructure are a process programming language and interpreter, object management system, and user interface management system. Process programming facilitates precise definition and automated support of software development and maintenance activities. The object management system provides typing, relationships, persistence, distribution and concurrency control capabilities. The user interface management system mediates communication between human users and executing processes, providing pleasant and uniform access to all facilities of the environment. Research in each of these areas and the interaction among them is described.","PeriodicalId":253963,"journal":{"name":"SDE 3","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123686908","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}