SUMMARYSequenceL is a language intended for experimentation with declarative constructs for nonscalar processing. In SequenceL, a problem solver provides little in the way of iterativehecursive details in a problem solution. Instead, the problem solver describes the solution directly by specifying, via a metastructure, the data structures which will hold results useful for solving the problem. SequenceL is a small language (i.e. there is a small number of language constructs), and it is not domain dependent. This paper is meant to introduce the reader to SequenceL. KEY WORDS: software; automatic programming; software engineering; programming languages MOTIVATION AND BACKGROUND OF SEQUENCELThere currently exist several approaches to programming, including the imperative, functional, logical, and object-oriented paradigms. Arguably, these various approaches exist in order to accommodate different types of problem solvers. There does not appear to be a 'one size fits all' when it comes to paradigms. What appeals to one person may not appeal to the next.The purpose of this paper is to present a language, SequenceL (formerly called BagL). SequenceL is an experimental computer language. It is based upon a strategy for problem solving wherein one solves a problem by describing data structures strictly in terms of their form and content, rather than also having to describe the i terativehecursive detail to produce and/or process the data structures algorithmically. As with the other approaches to programming, SequenceL may not be for everyone, but it does represent another approach to problem solving. 1.1.From one perspective, the history of language design indicates that languages have evolved from algorithmic-oriented languages to data structure-oriented languages (see Figure 1). Consider the move from FORTRAN to languages like ALGOL and Pascal. In solving problems in FORTRAN, one focuses on the production of an algorithm. In a language like Pascal, a problem solution is an algorithm that interacts appropri- ately with a data structure. A good example of the Pascal view is a program to convert a prefix arithmetic expression into an equivalent postfix expression. After constructing a binary tree which holds the prefix expression in an appropriate configuration (that is, a configuration where operators are parents of operands), one merely performs a postorder traversal of the tree to obtain the postfix expression. The data structure designed thus plays a central role in the problem solution. Object-oriented languages, which encapsulate data structures, take the notion of problem solving further away from algorithms and closer to data structure design. The intent is to view the product of software engineering to be a set of objects, rather than programs.SequenceL has been developed in order to explore the possibility of a language based solely on high-level constructs for describing data structures. In SequenceL, a problem solution is a data structure which holds results useful in solving some problem. This view of a data...
SequenceL is a language that provides declarative constructs for non‐scalar processing. Rather than specifying program control structures that, in turn, imply a data product, the problem solver specifies a data product, and the control structures to produce or process the data product are implied. Although SequenceL has been previously introduced in two papers (Cooke, DE. An Introduction to SequenceL: A language to experiment with constructs for processing nonscalars. Software—Practice and Experience 1996; 26(11):1205–1246; and Cooke, D. SequenceL Provides a Different way to View Programming. Computer Languages 1998; 24:1–32), recent improvements to the language have indicated that parallel control structures are also implied by the SequenceL problem solutions. This paper focuses on these recent advances. Copyright © 2000 John Wiley & Sons, Ltd.
This paper explores the possibility of automated support for detecting inconsistencies in software systems and requirements. The inconsistencies are introduced when the environment of the software system changes. We refer to the software environment as its context. We review the recent research progress on nonmonotonic logics, pointing out the significance of these results to software maintenance. We explain how a practical implementation of such logics can be obtained via a simple extension to logic programming in the form of an answer procedure that realizes the Extended Logic Semantics [7] for nonmonotonic logic programs that have a unique answer set (which is a large and useful class of logic programs). We augment the existing automated capabilities of the Computer-Aided Prototyping System (CAPS) for rapid prototyping via the extension to logic programming to provide an improved automated capability for detecting certain kinds of inconsistencies created by implicit requirements changes. We illustrate the significance of this capability via an example prototype for a problem originally suggested by Lehman.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.