12 research outputs found
Advances in the Design and Implementation of a Multi-Tier Architecture in the GIPSY Environment
We present advances in the software engineering design and implementation of
the multi-tier run-time system for the General Intensional Programming System
(GIPSY) by further unifying the distributed technologies used to implement the
Demand Migration Framework (DMF) in order to streamline distributed execution
of hybrid intensional-imperative programs using Java.Comment: 11 pages, 3 figure
Reasoning About a Simulated Printer Case Investigation with Forensic Lucid
In this work we model the ACME (a fictitious company name) "printer case
incident" and make its specification in Forensic Lucid, a Lucid- and
intensional-logic-based programming language for cyberforensic analysis and
event reconstruction specification. The printer case involves a dispute between
two parties that was previously solved using the finite-state automata (FSA)
approach, and is now re-done in a more usable way in Forensic Lucid. Our
simulation is based on the said case modeling by encoding concepts like
evidence and the related witness accounts as an evidential statement context in
a Forensic Lucid program, which is an input to the transition function that
models the possible deductions in the case. We then invoke the transition
function (actually its reverse) with the evidential statement context to see if
the evidence we encoded agrees with one's claims and then attempt to
reconstruct the sequence of events that may explain the claim or disprove it.Comment: 18 pages, 3 figures, 7 listings, TOC, index; this article closely
relates to arXiv:0906.0049 and arXiv:0904.3789 but to remain stand-alone
repeats some of the background and introductory content; abstract presented
at HSC'09 and the full updated paper at ICDF2C'11. This is an updated/edited
version after ICDF2C proceedings with more references and correction
Using the General Intensional Programming System (GIPSY) for Evaluation of Higher-Order Intensional Logic (HOIL) Expressions
The General Intensional Programming System (GIPSY) has been built around the
Lucid family of intensional programming languages that rely on the higher-order
intensional logic (HOIL) to provide context-oriented multidimensional reasoning
of intensional expressions. HOIL combines functional programming with various
intensional logics to allow explicit context expressions to be evaluated as
first-class values that can be passed as parameters to functions and return as
results with an appropriate set of operators defined on contexts. GIPSY's
frameworks are implemented in Java as a collection of replaceable components
for the compilers of various Lucid dialects and the demand-driven eductive
evaluation engine that can run distributively. GIPSY provides support for
hybrid programming models that couple intensional and imperative languages for
a variety of needs. Explicit context expressions limit the scope of evaluation
of math expressions (effectively a Lucid program is a mathematics or physics
expression constrained by the context) in tensor physics, regular math in
multiple dimensions, etc., and for cyberforensic reasoning as one of the
use-cases of interest. Thus, GIPSY is a support testbed for HOIL-based
languages some of which enable such reasoning, as in formal cyberforensic case
analysis with event reconstruction. In this paper we discuss the GIPSY
architecture, its evaluation engine and example use-cases.Comment: 14 pages; 8 figure
Object-Oriented Intensional Programming: Intensional Classes Using Java and Lucid
This article introduces Object-Oriented Intensional Programming (OO-IP), a
new hybrid language between Object-Oriented and Intensional Programming
Languages in the sense of the latest evolutions of Lucid. This new hybrid
language combines the essential characteristics of Lucid and Java, and
introduces the notion of object streams which makes it is possible that each
element in a Lucid stream to be an object with embedded intensional properties.
Interestingly, this hybrid language also brings to Java objects the power to
explicitly express and manipulate the notion of context, creating the novel
concept of intensional object, i.e. objects whose evaluation is
context-dependent, which are here demonstrated to be translatable into standard
objects. By this new approach, we extend the use and meaning of the notion of
intensional objects and enrich the meaning of object streams in Lucid and
semantics of intensional objects in Java.Comment: 27 pages, 8 listings, 2 tables, 5 figure
Towards a multi-tier runtime system for GIPSY
Intensional programming implies declarative programming, in the sense of Lucid, based on denotational semantics where the declarations are evaluated in an inherent multi-dimensional context space. The General Intensional Programming System (GIPSY) is a hybrid multi-language programming platform and a demand-driven execution environment. GIPSY aims at the long-term investigation into the possibilities of Intensional Programming. The GIPSY's compiler, GIPC, is based on the notion of Generic Intensional Programming Language (GIPL) which solved the problem of language-independence of the runtime system by allowing a common representation for all compiled programs, the Generic Eduction Engine Resources (GEER). In this thesis, we discuss the solution to GIPSY's Runtime System. The Multi-Tier framework which consists of Demand Generator Tier (DGT), Demand Store Tier (DST) and Demand Worker Tier (DWT), offers demand-driven, distributed execution and technology independent manners by integrating the previous research on the demand migration middle-ware implemented by Jini and Java Message Service (JMS