Affordable Access

Implementation and comprehensive study of demand migration systems in Gipsy

Publication Date
  • Communication
  • Computer Science
  • Design


Intensional programming is a programming language paradigm based on the notion of declarative programming where the declarations are evaluated in an inherent multidimensional context space. Program identifiers are evaluated in a context, where each demand is generated, propagated, computed, and stored as an identifier-context pair. General Intensional Programming System (GIPSY) is a hybrid multi-language programming system that overcame the limitation of previous Intensional Programming systems by designing a Demand Migration Framework (DMF) to provide a generic, dynamic, and technology-independent infrastructure. A DMF instance, called a Demand Migration System (DMS), is used to propagate demands from one GIPSY execution node to another. A GIPSY program is executed using three components, each of which possibly having several instances, all of which possibly being executed on different nodes: the Demand Generator (DG), that generates demands according to the compiled Lucid program, the Demand Worker (DW), that executes procedure calls embedded in the Lucid program, and the DMS, that acts as a communication/storage middleware between the latter. This thesis extends the previous investigations on the DMF by applying and extending DMF rationales and design to implement an instance of our DMS using Java Message Service (JMS-DMS). JMS-DMS is an investigation toward having the combination of two paradigms of Message-Oriented Middleware (MOM) and Event-Driven Architecture (EDA) to handle our demand-driven computation. We also investigate on the behavior of our instances in different perspectives such as latency, dispatching, availability, scalability, maintainability, and configurability, which complements our research toward having the robust Demand Migration System.

There are no comments yet on this publication. Be the first to share your thoughts.


Seen <100 times