Much effort has been performed on developing parallel zing compilers. However, it is becoming clear that parallel zing compilers are much harder to develop than successful vector zing compilers. Idiom recognition can be a bridge between abstract source programs and concrete architectures, and has been proved to be a useful tool for the maintenance of complicated parallel programs. It can remove obstacles of gaps between the two which cannot be bridged by compilers of today's state of the art.
A major problem in idiom recognition is the intermediate representation. In this talk we apply term rewriting theory --a very general framework to the idiom recognition system. Specifically, we apply it to the idiom recognition problem of Fortran90/95 matrix manipulations, and show that Fortran90/95 system is never a trivial system. Straight forms are introduced to make the idiom recognition system more powerful. We make a completion procedure on this Fortran90/95 system, and show some non-trivial idiom recognition using our theory.
This presentation looks at how the Internet Economy is growing and Intel's predictions for its impact. In particular, we will examine how businesses are starting to change to meet the challenges of the Internet and how this means the emergence of a very different business world in the next few years.
The specification language Attempto Controlled English (ACE) is a controlled natural language, i.e. a subset of standard English with a domain-specific vocabulary and a restricted grammar. The restriction of full natural language to a controlled subset is essential for ACE to be suitable for specification purposes. The main goals of this restriction are to reduce ambiguity and vagueness inherent in full natural language and to make ACE computer process able. ACE specifications can be unambiguously translated into logic specification languages, and can be queried and executed. In brief, ACE allows domain specialists to express specifications in familiar natural language and combine this with the rigour of formal specification languages. Using ACE we have specified a simple automated teller machine, Kemmerer's library database problem, Schubert's steam-roller, and various other smaller specifications. Recently we used ACE as the input language of a theorem-prover and of a program synthesizer.
I will explain the main design decision in a general-purpose text indexing library. The library manages a set of inverted files, and provides mechanisms to construct and optimise Complex queries on those inverted files. It is a low-level library; it does not perform high-level functions such as parsing queries, parsing text to be indexed, or computing ranking scores. Instead it supplies the interface to allow these operations to be implemented.
The design goals were to enable efficient queries on bodies of text up to a few hundred gigabytes in size (e.g. the library is used in AltaVista) without sacrificing too much generality, and without giving up on small applications (e.g. mail directories). The key design choices covered include: