Erik Sandewall | Linköping University (original) (raw)
Papers by Erik Sandewall
ACM Computing Surveys, 1978
Proceedings of the IEEE, 1987
The following reviews were selected from those recently published in various IEEE TRANSACTIONS, M... more The following reviews were selected from those recently published in various IEEE TRANSACTIONS, Magazines, and Newsletters. They are reprinted here to make them conveniently available to the many readers who otherwise might not have ready access to them. Each review is followed by an identification of its original source.
Today Congratulations today to Camilla Schwind for the acceptance of her article \Causality in Ac... more Today Congratulations today to Camilla Schwind for the acceptance of her article \Causality in Action Theories" for publication in the ETAI. Both referees recommended acceptance; one of them suggested minor changes to the article. The relationship between Actions and Change research on one hand, and Planning and Scheduling research on the other may be much closer in the future than it has been so far. The recent Fifth International Conference on Artiicial Intelligence Planning and Scheduling (AIPS 2000) featured a planning systems competition where logic-based systems obtained much better results than what was previously thought to be possible. Today's issue of this Newsletter contains a report by Fahiem Bacchus, who organized the competition, on the competition results and what conclusions can be drawn from them. The report follows in plain text. More easy-to-read versions in HTML and in Latex-based postscript are available as usual on the ETAI web page.
Demokratin ifragasatts i dagens varld genom att auktoritara och fundamentalistiska ideologier av ... more Demokratin ifragasatts i dagens varld genom att auktoritara och fundamentalistiska ideologier av flera slag fors fram som alternativ. De tillampas i praktiken i ett flertal lander, men de sprids oc ...
Lecture Notes in Medical Informatics, 1979
A strategy and a system for computer-aided development of data processing systems has been develo... more A strategy and a system for computer-aided development of data processing systems has been developed for use in medical applications. Each new application is first described as a model which can be executed (interpreted) by the development; system, and which then serves as a prototype for the final system. When it has been sufficiently tested and modified, a gradual transformation to a production system is performed, using language-shift and partial evaluation techniques. This paper describes the description language and the prototype system, and gives one example of a concrete application for which the system has been used.
Proceedings of the 1980 ACM conference on LISP and functional programming - LFP '80, 1980
The SCREEN system is an experimental tool for development and maintenance of application software... more The SCREEN system is an experimental tool for development and maintenance of application software. It is organized as a System of Communicating REsidential ENvironments, where each environment may be e.g. a programming environment or an end-user environment. Environments are able to send and receive modules which contain programs and data, and the maintenance of an application (throughout the software life-cycle)
Topics in Information Systems, 1989
Many of the presentations at this workshop have described systems and systems design. Since the c... more Many of the presentations at this workshop have described systems and systems design. Since the conference was about “AI and Data Bases” I have been puzzled that the presentations consistently described systems and systems design in terms which seemed quite familiar from a DB background and “culture”. There was, to my mind, no presentation which seemed like a presentation from the AI culture: AI people would not describe their systems in the way that systems have been described here.
ACM SIGSOFT Software Engineering Notes, 1982
Special-purpose languages have several advantages for rapid prototyping purposes: they allow very... more Special-purpose languages have several advantages for rapid prototyping purposes: they allow very fast development of applications; facilitate the dialogue with end users in the specification work; and simplify the work of updating the prototype iteratively. We have been working with a modelling language based on the concept of information flow in organizations, and a number of software tools which support this language. Previous papers from the project have described the first generation of tools; the present paper describes the experience from using the system in a large scale development effort, as well as the second generation of support tools.
Proceedings of the May 19-22, 1980, national computer conference on - AFIPS '80, 1980
... by ERIK SANDEWALL, GORAN HEKTOR, ANDERS STROM, CLAES STROMBERG, OLA STROMFORS, HENRIK SORENSE... more ... by ERIK SANDEWALL, GORAN HEKTOR, ANDERS STROM, CLAES STROMBERG, OLA STROMFORS, HENRIK SORENSEN and JAAK URMI Linkoping ... Besides supporting some conventional out-put media such as a Diablo printer, it also has a font printout system ...
The web server facility in Allegro Common Lisp (ACL) uses a straight-forward representation of HT... more The web server facility in Allegro Common Lisp (ACL) uses a straight-forward representation of HTML constructs as Lisp structures. We have designed and implemented a higherlevel representation using an object-oriented approach, but based on the ACL facility. The package and its specification language is called the Web Resource Definition Language, WRDL. A resource expression in WRDL is a symbolic expression of the form (rn arg1 arg2 ... argn) where rn is the resource-name and each argument is written as a Lisp form that evaluates to a symbol or a string. The resource rn may be implemented either statically using files, or dynamically using active web pages. Webpage definitions in WRDL can use such expressions for referring to the instance of the resource that is to be presented when clicking a dynamic link, but also for referring to the resource that is to receive data that are input in an HTML form. In particular, the arguments of the resource may be composite expressions that spec...
Cognitive Robotics Logic (CRL) is an extensible logic language for characterizing actions and cha... more Cognitive Robotics Logic (CRL) is an extensible logic language for characterizing actions and change, in particular for use in cognitive robotics. Its development emphasizes the issues of syntax, expressivity, underlying semantics and entailment methods (de ned in terms of the semantics). Development of proof methods is de-emphasized. The salient results from this approach refer to the range of applicability and other related properties of the entailment methods. These results constitute a metatheory of actions and change. CRL is syntactically de ned as a base language and a surface language. The base language is characterized by the following aspects: its three major predicates Holds, Occurs, a n d Occlude, which p r o vide coherence when the language is extended its reportoire of categorial functions, which is augmented when additional expressiveness is required in the language. The surface language provides additional notational convenience, and is de ned by translation to the base language. The range of expressivity includes actions with duration, nondeterministic actions, actions in hybrid worlds with piecewise continuous uents, some forms of rami cation and causation, imprecise sensors and actuators, action failure, and some aspects of goal-directed agent b e h a vior. Entailment methods are functions that map scenario descriptions to sets of intended m o dels. They are de ned using a reportoire of set-theoretic operations on sets of formulas and sets of models, including but not restricted to minimizing a set of models with respect to a preference relation. A progression of underlying semantics is de ned, beginning with the partial state-transition semantics and its immediate generalization, the trajectory semantics. These underlying semantics are used for the formal analysis of the range of applicability o f v arious entailment methods, including both those proposed by the others in this research, and those that developed in the course of the present w ork.
IEEE Press, Mar 9, 1981
This paper describes an alternative approach to software architecture, where the classical divisi... more This paper describes an alternative approach to software architecture, where the classical division of responsibilities between operating systems, programming languages and compilers, and so forth is revised. Our alternative is organized as a set of self-contained environments which are able to communicate pieces of software between them, and whose internal structure is predominantly descriptive and declarative. The base structure within
European Lisp Symposium, 2013
Florian Loitsch has a passion for dynamic languages, like Scheme, JavaScript and now Dart. He wro... more Florian Loitsch has a passion for dynamic languages, like Scheme, JavaScript and now Dart. He wrote a Scheme-to-JavaScript compiler during his thesis, and then completed a JavaScript-to-Scheme compiler in his spare time. In 2010 he joined Google's team in Aarhus (Denmark) where he worked on V8 and later Dart. Being part of the Dart team Florian has helped specifying the language, which was presented in late 2011. In 2012 he became the Tech Lead for the Dart libraries where, among other tasks, he participated on the creation of a new asynchronous library that is based on Streams and Futures (aka promises).
Electronic Transactions on Artifical Intelligence, 2001
In this article we address the question of design principles for software individuals, and approa... more In this article we address the question of design principles for software individuals, and approach it as a software design issue. We use the term 'software individuals' to designate aggregates of programs and data that have the following properties: They exist in a population of similar, but not identical individuals. Individuals are able to interact with their surrounding environment, with each other, and/or with people. While doing so they may modify their internal state. Each individual contains the safeguards that may be required in order to select which in uences to accomodate and which ones to ignore. The aggregate of programs and data that de ne an individual, and that in particular de ne its behavior, is a part of its internal state and can therefore be modi ed as the result of the interactions where the individual is involved. Individuals or small groups of individuals are able to create new individuals that inherit the features of their parent(s). The program/data aggregate that de nes an individual is symbolicin character. The ability for knowledge representation is designed into individuals from the start.
International Joint Conference on Artificial Intelligence, 1979
The robot in the common science fiction nmnrel appears as a tram an the surface, but is built mec... more The robot in the common science fiction nmnrel appears as a tram an the surface, but is built mechanically from wheels and levers inside. In A.I., we usually visualize an A.I. system as having a similar structure: it communicates in man's language (English), or performs other tasks which make it appear man-like, but it is in fact a large program, written in a programming language, and executed under a common time-sharing system. The present paper argues on the contrary that A.I. systems should not need to appear man-like, and that it is necessary, both from the A.I. point of view and from the software engineering point of view, that the next level down in the A.I. system has quasi-biological properties, such as the ability to reproduce
This article reports on assessment results for several approaches to the ramiication problem. Two... more This article reports on assessment results for several approaches to the ramiication problem. Two types of assessments are reported: (1) Assessment of soundness for one minimization based and one causation-based method; (2) Relative range assessments for a number of minimization based methods. Assessment of soundness is based on an underlying semantics for ramiication. We propose, deene, and use a transition cascade semantics for this purpose. Transition cascade means that an action is viewed as consisting of an initial state transition which represents the invoca-tion of the action, followed by a succession of other state transitions which may be understood as representing a causal chain. The assessment of an entailment method speciies restrictions on the invocation and causation relations which guarantee that the entailment method is sound. Relative range assessments compare entailment methods pairwise and specify whether the set of selected models obtained by one is a subset of t...
The paper advocates the need for systems which support maintenance of LISP-type data bases, and d... more The paper advocates the need for systems which support maintenance of LISP-type data bases, and describes an experimental system of this kind, called DABA In this system, a description of the data base's structure is kept in the data base Itself. A number of utility programs use the description for operations on the data base The description must minimally include syntactic information reminiscent of data structure declarations in more conventional programming languages, and can be extended by the user Two reasons for such systems are seen (I) As A.I. programs develop from toy domains using toy data bases, to more realistic exercies. the management of the knowledge base becomes non-trivial and requires program support (2) A powerful way to organize LISP programs is to make them data-driven, whereby pieces of program are distributed throughout a data base A data base management system facilitates the use of this programming style. The paper describes and discusses the basic Ideas...
ACM Computing Surveys, 1978
Proceedings of the IEEE, 1987
The following reviews were selected from those recently published in various IEEE TRANSACTIONS, M... more The following reviews were selected from those recently published in various IEEE TRANSACTIONS, Magazines, and Newsletters. They are reprinted here to make them conveniently available to the many readers who otherwise might not have ready access to them. Each review is followed by an identification of its original source.
Today Congratulations today to Camilla Schwind for the acceptance of her article \Causality in Ac... more Today Congratulations today to Camilla Schwind for the acceptance of her article \Causality in Action Theories" for publication in the ETAI. Both referees recommended acceptance; one of them suggested minor changes to the article. The relationship between Actions and Change research on one hand, and Planning and Scheduling research on the other may be much closer in the future than it has been so far. The recent Fifth International Conference on Artiicial Intelligence Planning and Scheduling (AIPS 2000) featured a planning systems competition where logic-based systems obtained much better results than what was previously thought to be possible. Today's issue of this Newsletter contains a report by Fahiem Bacchus, who organized the competition, on the competition results and what conclusions can be drawn from them. The report follows in plain text. More easy-to-read versions in HTML and in Latex-based postscript are available as usual on the ETAI web page.
Demokratin ifragasatts i dagens varld genom att auktoritara och fundamentalistiska ideologier av ... more Demokratin ifragasatts i dagens varld genom att auktoritara och fundamentalistiska ideologier av flera slag fors fram som alternativ. De tillampas i praktiken i ett flertal lander, men de sprids oc ...
Lecture Notes in Medical Informatics, 1979
A strategy and a system for computer-aided development of data processing systems has been develo... more A strategy and a system for computer-aided development of data processing systems has been developed for use in medical applications. Each new application is first described as a model which can be executed (interpreted) by the development; system, and which then serves as a prototype for the final system. When it has been sufficiently tested and modified, a gradual transformation to a production system is performed, using language-shift and partial evaluation techniques. This paper describes the description language and the prototype system, and gives one example of a concrete application for which the system has been used.
Proceedings of the 1980 ACM conference on LISP and functional programming - LFP '80, 1980
The SCREEN system is an experimental tool for development and maintenance of application software... more The SCREEN system is an experimental tool for development and maintenance of application software. It is organized as a System of Communicating REsidential ENvironments, where each environment may be e.g. a programming environment or an end-user environment. Environments are able to send and receive modules which contain programs and data, and the maintenance of an application (throughout the software life-cycle)
Topics in Information Systems, 1989
Many of the presentations at this workshop have described systems and systems design. Since the c... more Many of the presentations at this workshop have described systems and systems design. Since the conference was about “AI and Data Bases” I have been puzzled that the presentations consistently described systems and systems design in terms which seemed quite familiar from a DB background and “culture”. There was, to my mind, no presentation which seemed like a presentation from the AI culture: AI people would not describe their systems in the way that systems have been described here.
ACM SIGSOFT Software Engineering Notes, 1982
Special-purpose languages have several advantages for rapid prototyping purposes: they allow very... more Special-purpose languages have several advantages for rapid prototyping purposes: they allow very fast development of applications; facilitate the dialogue with end users in the specification work; and simplify the work of updating the prototype iteratively. We have been working with a modelling language based on the concept of information flow in organizations, and a number of software tools which support this language. Previous papers from the project have described the first generation of tools; the present paper describes the experience from using the system in a large scale development effort, as well as the second generation of support tools.
Proceedings of the May 19-22, 1980, national computer conference on - AFIPS '80, 1980
... by ERIK SANDEWALL, GORAN HEKTOR, ANDERS STROM, CLAES STROMBERG, OLA STROMFORS, HENRIK SORENSE... more ... by ERIK SANDEWALL, GORAN HEKTOR, ANDERS STROM, CLAES STROMBERG, OLA STROMFORS, HENRIK SORENSEN and JAAK URMI Linkoping ... Besides supporting some conventional out-put media such as a Diablo printer, it also has a font printout system ...
The web server facility in Allegro Common Lisp (ACL) uses a straight-forward representation of HT... more The web server facility in Allegro Common Lisp (ACL) uses a straight-forward representation of HTML constructs as Lisp structures. We have designed and implemented a higherlevel representation using an object-oriented approach, but based on the ACL facility. The package and its specification language is called the Web Resource Definition Language, WRDL. A resource expression in WRDL is a symbolic expression of the form (rn arg1 arg2 ... argn) where rn is the resource-name and each argument is written as a Lisp form that evaluates to a symbol or a string. The resource rn may be implemented either statically using files, or dynamically using active web pages. Webpage definitions in WRDL can use such expressions for referring to the instance of the resource that is to be presented when clicking a dynamic link, but also for referring to the resource that is to receive data that are input in an HTML form. In particular, the arguments of the resource may be composite expressions that spec...
Cognitive Robotics Logic (CRL) is an extensible logic language for characterizing actions and cha... more Cognitive Robotics Logic (CRL) is an extensible logic language for characterizing actions and change, in particular for use in cognitive robotics. Its development emphasizes the issues of syntax, expressivity, underlying semantics and entailment methods (de ned in terms of the semantics). Development of proof methods is de-emphasized. The salient results from this approach refer to the range of applicability and other related properties of the entailment methods. These results constitute a metatheory of actions and change. CRL is syntactically de ned as a base language and a surface language. The base language is characterized by the following aspects: its three major predicates Holds, Occurs, a n d Occlude, which p r o vide coherence when the language is extended its reportoire of categorial functions, which is augmented when additional expressiveness is required in the language. The surface language provides additional notational convenience, and is de ned by translation to the base language. The range of expressivity includes actions with duration, nondeterministic actions, actions in hybrid worlds with piecewise continuous uents, some forms of rami cation and causation, imprecise sensors and actuators, action failure, and some aspects of goal-directed agent b e h a vior. Entailment methods are functions that map scenario descriptions to sets of intended m o dels. They are de ned using a reportoire of set-theoretic operations on sets of formulas and sets of models, including but not restricted to minimizing a set of models with respect to a preference relation. A progression of underlying semantics is de ned, beginning with the partial state-transition semantics and its immediate generalization, the trajectory semantics. These underlying semantics are used for the formal analysis of the range of applicability o f v arious entailment methods, including both those proposed by the others in this research, and those that developed in the course of the present w ork.
IEEE Press, Mar 9, 1981
This paper describes an alternative approach to software architecture, where the classical divisi... more This paper describes an alternative approach to software architecture, where the classical division of responsibilities between operating systems, programming languages and compilers, and so forth is revised. Our alternative is organized as a set of self-contained environments which are able to communicate pieces of software between them, and whose internal structure is predominantly descriptive and declarative. The base structure within
European Lisp Symposium, 2013
Florian Loitsch has a passion for dynamic languages, like Scheme, JavaScript and now Dart. He wro... more Florian Loitsch has a passion for dynamic languages, like Scheme, JavaScript and now Dart. He wrote a Scheme-to-JavaScript compiler during his thesis, and then completed a JavaScript-to-Scheme compiler in his spare time. In 2010 he joined Google's team in Aarhus (Denmark) where he worked on V8 and later Dart. Being part of the Dart team Florian has helped specifying the language, which was presented in late 2011. In 2012 he became the Tech Lead for the Dart libraries where, among other tasks, he participated on the creation of a new asynchronous library that is based on Streams and Futures (aka promises).
Electronic Transactions on Artifical Intelligence, 2001
In this article we address the question of design principles for software individuals, and approa... more In this article we address the question of design principles for software individuals, and approach it as a software design issue. We use the term 'software individuals' to designate aggregates of programs and data that have the following properties: They exist in a population of similar, but not identical individuals. Individuals are able to interact with their surrounding environment, with each other, and/or with people. While doing so they may modify their internal state. Each individual contains the safeguards that may be required in order to select which in uences to accomodate and which ones to ignore. The aggregate of programs and data that de ne an individual, and that in particular de ne its behavior, is a part of its internal state and can therefore be modi ed as the result of the interactions where the individual is involved. Individuals or small groups of individuals are able to create new individuals that inherit the features of their parent(s). The program/data aggregate that de nes an individual is symbolicin character. The ability for knowledge representation is designed into individuals from the start.
International Joint Conference on Artificial Intelligence, 1979
The robot in the common science fiction nmnrel appears as a tram an the surface, but is built mec... more The robot in the common science fiction nmnrel appears as a tram an the surface, but is built mechanically from wheels and levers inside. In A.I., we usually visualize an A.I. system as having a similar structure: it communicates in man's language (English), or performs other tasks which make it appear man-like, but it is in fact a large program, written in a programming language, and executed under a common time-sharing system. The present paper argues on the contrary that A.I. systems should not need to appear man-like, and that it is necessary, both from the A.I. point of view and from the software engineering point of view, that the next level down in the A.I. system has quasi-biological properties, such as the ability to reproduce
This article reports on assessment results for several approaches to the ramiication problem. Two... more This article reports on assessment results for several approaches to the ramiication problem. Two types of assessments are reported: (1) Assessment of soundness for one minimization based and one causation-based method; (2) Relative range assessments for a number of minimization based methods. Assessment of soundness is based on an underlying semantics for ramiication. We propose, deene, and use a transition cascade semantics for this purpose. Transition cascade means that an action is viewed as consisting of an initial state transition which represents the invoca-tion of the action, followed by a succession of other state transitions which may be understood as representing a causal chain. The assessment of an entailment method speciies restrictions on the invocation and causation relations which guarantee that the entailment method is sound. Relative range assessments compare entailment methods pairwise and specify whether the set of selected models obtained by one is a subset of t...
The paper advocates the need for systems which support maintenance of LISP-type data bases, and d... more The paper advocates the need for systems which support maintenance of LISP-type data bases, and describes an experimental system of this kind, called DABA In this system, a description of the data base's structure is kept in the data base Itself. A number of utility programs use the description for operations on the data base The description must minimally include syntactic information reminiscent of data structure declarations in more conventional programming languages, and can be extended by the user Two reasons for such systems are seen (I) As A.I. programs develop from toy domains using toy data bases, to more realistic exercies. the management of the knowledge base becomes non-trivial and requires program support (2) A powerful way to organize LISP programs is to make them data-driven, whereby pieces of program are distributed throughout a data base A data base management system facilitates the use of this programming style. The paper describes and discusses the basic Ideas...