{"title":"A declarative approach to software requirement specification languages","authors":"J. Tsai, T. Weigert, M. Aoyama","doi":"10.1109/ICCL.1988.13091","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13091","url":null,"abstract":"The authors present a declarative approach to a software requirement specification language which is able to specify requirements for software systems under the emerging methodology. The language presented is based on first-order predicate logic, but augments standard first-order logic by introducing hierarchies and exceptions to its generalizations, to allow for a more natural description of the problem domain. The proposed requirement language is valid and can be determined to be internally consistent. A theorem prover that can interpret the language is implemented.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"93 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127979073","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}
{"title":"A unifying model for lookahead LR parsing","authors":"M. Bermudez","doi":"10.1109/ICCL.1988.13038","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13038","url":null,"abstract":"A construction method is presented for lookahead LR passers that unifies many of the construction algorithms available in the literature. The model allows single, multiple, and arbitrary symbol lookahead, each only when required. Three user-supplied parameters are used by the construction method; specific settings of these parameters yield well-known grammar classes such as LALR(k), SLR(k), and several subsets of the LR-regular class, among others. Thus. rather than using several severely incompatible parser generators, or making unnatural changes to the grammar to accommodate the parsing techniques, one can manipulate these parameters to obtain a suitable parsing technique. The model captures the essence of the problem of computing lookahead for LR parsers, and provides a better understanding of the relationships among the corresponding classes of context-free grammars.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128539062","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}
{"title":"Report on a business definition language system","authors":"R. Yeh","doi":"10.1109/ICCL.1988.13062","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13062","url":null,"abstract":"An initial report on a commercially available system, called MicroSTEP, for specifying and automatically generating business applications, is provided. The author reviews the design objectives of the systems, its underlying business definition language, and its environment. Experiences with the system are also reported.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130551847","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}
{"title":"Programming the Connection Machine","authors":"R. Bagrodia, K. Chandy","doi":"10.1109/ICCL.1988.13042","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13042","url":null,"abstract":"The Connection Machine architecture provides a massive number of simple processors that execute synchronously. A language called SC is presented which makes it easy to write parallel programs for the Connection Machine. SC is an enhancement of C; it adds a few data types and primitives to develop parallel programs. The primitives introduced by SC are derived from the UNITY, a parallel-programming theory and notation. The SC primitives support the data-parallel programming style, where a processor is assumed to be assigned to each data element. However, SC programs do not adhere to a synchronous execution model and allow MIMD (multiple-instruction, multiple-data-stream) parallelism to be expressed. A preliminary description of the SC primitives and their implementation is provided.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125461733","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}
{"title":"The design of software interfaces in Spec","authors":"V. Berzins","doi":"10.1109/ICCL.1988.13073","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13073","url":null,"abstract":"Spec, a language for giving black-box specifications in the early stages of software design is presented. The underlying computational model combines message passing with temporal events in a precisely defined way. The features of the language, especially those important for large-scale design, are presented by example.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132685045","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}
{"title":"A naming specification language for syntax-directed editors","authors":"Scott A. Vorthmann, R. LeBlanc","doi":"10.1109/ICCL.1988.13071","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13071","url":null,"abstract":"A naming specification language, NSL, is described, which supplements existing syntax and semantics specification techniques for syntax-directed editor generation. NSL allows the editor implementor to define language-specific naming and scoping features in terms of a set of high-level abstractions. This facilitates editor generation by requiring considerably less work than either hand coding or specification using techniques more general than NSL. A modified editor-generator kernel architecture is described that efficiently implements the abstractions of NSL. This architecture supports NSL by a naming layer, which supplements the tree structure with graph edges, providing additional paths for semantic information propagation. The principal source of efficiency in this architecture is the direct propagation of incremental semantic evaluation from name declarations to name references. Also described are means by which NSL could be supported using previously proposed techniques for enhancing the performance of the attribute grammar paradigm.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116919199","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}
{"title":"Common Lisp relations: an extension of Lisp for logic programming","authors":"P. Thrift","doi":"10.1109/ICCL.1988.13081","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13081","url":null,"abstract":"The author presents a set of relational constructs that support logic programming in the Common Lisp framework. These constructs support locally defined and first-class relations, an interface between function and relation-calling logical variables as first-class Lisp objects, and the ability to define relations over Common Lisp structures. The relational programming constructs are amenable to standard Prolog compilation techniques, thus making possible high-speed performance. A relation is an executable specification defined in terms of a sequence of clause-expressions. Each clause-expression specifies a list of argument patterns that determine the selection and local bindings of the clause as well as a sequence of goals that must be satisfied for the clause to succeed. Sequences of clause-expressions are used for defining relations and single lambda-expressions are used for defining functions. As an analog to the usual function-calling execution mode of Common Lisp, a relation-calling mechanism is provided. The semantics of passing values between relations and functions is described.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126598988","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}
{"title":"Structure and generation of computer languages","authors":"C. Mally","doi":"10.1109/ICCL.1988.13043","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13043","url":null,"abstract":"The concept of how computer languages can be developed from one origin is presented, along with the mathematical background for such a formulation. Computer language design is described as a two-dimensional process: first, a mathematical description of the process is formulated; later, it is the basis of its language development. The mathematical description is developed into still more detailed form as more information becomes available, and it is then put on a tree, where the problem developed is presented. Nodes of the tree represent different processing steps. Existing languages branch out on different levels of this tree: imperative, functional, logical and extendable. Such a systematic approach can significantly improve the overall presentation of the problem and design of computer languages by removing unnecessary repetitions and pointing out directions for development.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126647711","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}
{"title":"Generalized logical operators for temporal languages","authors":"M. Bassiouni, M. Llewellyn","doi":"10.1109/ICCL.1988.13051","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13051","url":null,"abstract":"Previous proposals of temporal languages have used the standard TRUE/FALSE model of Boolean and comparison operators. Since this standard binary model introduces ambiguity as to which time value is desired, expressing nontrivial temporal conditions in these languages can be quite complicated. The authors' model overcomes this problem by generalizing the TRUE/FALSE model into one that uses sets of time intervals. The set-valued temporal logic satisfies the properties of the normal Boolean logic. The proposed logic can be very useful to different applications of temporal languages. Database query languages are used to demonstrate the effectiveness of the set-valued logic. The basic features of a relational-calculus query language based on the set-valued logic are presented. Applicability of the logic to relational-algebra query languages is discussed.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130441430","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}
{"title":"On the representation of problems in artificial intelligence","authors":"S. Amarel","doi":"10.1109/ICCL.1988.13060","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13060","url":null,"abstract":"Summary form only. In determining the computer language requirements for implementation of problem solving processes in AI, it is essential to clarify the nature of components that enter in the formulation of problems, solutions, and problem-solving procedures. An abstract formulation of a pattern in AI includes: the specification of a domain of discourse, the characterization of a set of possible solutions, and the specification of problem conditions that a member of the solution set must satisfy for it to be accepted as a solution to the problem. The data structures and process structures of program formulations of problems must be responsive to the characteristics of procedural formulations, which, in turn, depend on features of the key components of abstract problem formulations.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132020977","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}