Results 1 -
8 of
8
A Functional DBPL Revealing High Level Optimizations
- 3rd Int. Workshop on Database Programming Languages
, 1991
"... We present a functional DBPL in the style of FP that facilitates the definition of precise semantics and opens up opportunities for far-reaching optimizations. The language is integrated into a functional data model, which is extended by arbitrary type hierarchies and complex objects. Thus we are ..."
Abstract
-
Cited by 16 (3 self)
- Add to MetaCart
We present a functional DBPL in the style of FP that facilitates the definition of precise semantics and opens up opportunities for far-reaching optimizations. The language is integrated into a functional data model, which is extended by arbitrary type hierarchies and complex objects. Thus we are able to provide the clarity of FP-like programs together with the full power of semantic data modelling. To give an impression of the special facilities for optimizing functional database languages, we point out some laws not presented before which enable access path selection already on the algebraic level of optimization. The algebraic way of access path optimization also gives new insights into optimization strategies. 1 Introduction The design of new database programming languages is still a challenging task, for on the one hand it has to meet the conceptual requirements of programming languages and database systems at the same time, and on the other hand it has to present a suita...
A Framework for Describing Visual Interfaces to Databases
- JOURNAL OF VISUAL LANGUAGES AND COMPUTING
, 1998
"... In the field of HCI there exist many formalisms for analysing, describing and evaluating interactive systems. However, in developing and evaluating user interfaces to databases, we found it necessary to be able to describe presentation and interaction aspects that are catered for poorly or not at al ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
In the field of HCI there exist many formalisms for analysing, describing and evaluating interactive systems. However, in developing and evaluating user interfaces to databases, we found it necessary to be able to describe presentation and interaction aspects that are catered for poorly or not at all in current formalisms. This paper presents a framework for the systematic description of data model, presentation and interaction components that together form a graphical user interface. The utility of the framework is then demonstrated by showing how it can be used to describe two existing visual query interfaces. These examples show that the framework provides a systematic method for the concise description of graphical interfaces to databases that can be used either during interface design or as a communication aid.
How to Comprehend Queries Functionally
, 1999
"... Compilers and optimizers for declarative query languages use some form of intermediate language to represent user-level queries. The advent of compositional query languages for orthogonal type systems (e.g. OQL) calls for internal query representations beyond extensions of relational algebra. This w ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
Compilers and optimizers for declarative query languages use some form of intermediate language to represent user-level queries. The advent of compositional query languages for orthogonal type systems (e.g. OQL) calls for internal query representations beyond extensions of relational algebra. This work adopts a view of query processing which is greatly influenced by ideas from the functional programming domain. A uniform formal framework is presented which covers all query translation phases, including user-level query language compilation, query optimization, and execution plan generation. We pursue the type-based design - based on initial algebras - of a core functional language which is then developed into an intermediate representation that ts the needs of advanced query processing. Based on the principle of structural recursion we extend the language by monad comprehensions (which provide us with a calculus-style sublanguage that proves to be useful during the optimization of nested...
NATURAL EXPERT: A Commercial Functional Programming Environment
- J. of Functional Programming
, 1993
"... Natural Expert is a product that allows users to build knowledge based systems. It uses a lazy functional language, Natural Expert Language, to implement backward chaining and provide a reliable knowledge processing environment in which development can take place. Customers from all over the world b ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Natural Expert is a product that allows users to build knowledge based systems. It uses a lazy functional language, Natural Expert Language, to implement backward chaining and provide a reliable knowledge processing environment in which development can take place. Customers from all over the world buy the system and have used it to handle a variety of problems, including applications such as airplane servicing and bank loan assessment. Some of these are used 10,000 times or more per month. 1 Introduction Natural Expert (SAG90a; SAG90b) by Software AG is a product that supports the development of knowledge based systems. It includes a functional language called Natural Expert Language (NEL), which is the first successful implementation of a lazy functional language in a database oriented mainframe environment. Natural Expert is currently installed and used at about 20 customer sites on a variety of platforms, and the applications are in every day use by several hundred people. Softw...
A Deductive Object-Oriented Database for Data Intensive Application Development
, 1993
"... . This paper outlines an approach to the development of a deductive object-oriented database system. The approach presented uses a formally defined object-oriented data model as the starting point for the development of a logic query language and an imperative database programming language. These la ..."
Abstract
-
Cited by 6 (6 self)
- Add to MetaCart
. This paper outlines an approach to the development of a deductive object-oriented database system. The approach presented uses a formally defined object-oriented data model as the starting point for the development of a logic query language and an imperative database programming language. These languages can be used independently -- the logic language for expressing queries or defining rule-based applications, the imperative language for manipulating the database -- or together to support a flexible system for data-intensive application development. 1 Introduction This paper presents the architecture of a deductive object-oriented database system (DOOD) currently under development at Heriot-Watt University, and indicates how such an architecture supports the development of large-scale data-intensive applications. The software development life-cycle traditionally involves a sequence of steps which take the development team through problem analysis, high-level design, detailed design...
A Processing Framework For Object Comprehensions
- Information and Software Technology
, 1997
"... Syntax of Object Comprehensions Es ::= E j E , Es E ::= E union E j E differ E j [ Xs --- E ] j E and E j E or E j not E j E hasClass E j E hasClass E with E j Y E ! Y E j E / E j E . E j I( Es ) j I j K j f Es g j f E : : : E g j E . [ E ] j A E j ( E ) Xs ::= j X j X ; Xs X ::= D j L ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Syntax of Object Comprehensions Es ::= E j E , Es E ::= E union E j E differ E j [ Xs --- E ] j E and E j E or E j not E j E hasClass E j E hasClass E with E j Y E ! Y E j E / E j E . E j I( Es ) j I j K j f Es g j f E : : : E g j E . [ E ] j A E j ( E ) Xs ::= j X j X ; Xs X ::= D j L j E D ::= I / E L ::= I as E Y ::= j some j atleast E j just E j atmost E j every A ::= size ::= set j bag j list ! ::= = j = j ? j ?= j ! j != j == j == / ::= * j / j + j - B Abstract Syntax of Function Arguments F ::= I . E j F ffi F Es ::= E j E, Es E ::= E . E j I( Es ) j E ff E j E ! E j E / E j I j K j ( E ) j Q ff ::= j j : ! ::= = j = j ? j ?= j ! j != / ::= * j / j + j - 22 References ...

