Title: Separation of Concerns in Algorithmic Trading Robots: Towards a Correlation Paradigm Speaker: Karl Lieberherr, CCIS/PRL, Northeastern University, Boston, MA. Abstract: The task is to implement trading robots that win in an artificial derivative market through offering derivatives, and buying and processing derivatives produced by other trading robots. (In biological terminology, the task is to implement organisms that survive in an artificial world through offering outsourced services, and consuming and processing outsourced services produced by other organisms.) Buying a derivative gives you the right to receive raw material satisfying the property prescribed by the derivative. The second right is to sell back the finished product you produce from the raw material at a price determined by the quality of the finished product. The derivatives are based on a family of combinatorial maximization problems. Some requirements level concerns of the robot implementor are: How to avoid a loss? (OfferingAgent, BuyingAgent) When I produce raw material: how can I guarantee a low quality finished product and how can I hide the best solution? (RawMaterialAgent) When I finish the raw material: how can I find the best solution? (FinishedProductAgent) Can I collaborate with other robots so that all survive? Some programming concerns: How can I deal with the resource limitations for implementing the four agents? Can the OfferingAgent reuse software from the BuyingAgent or RawMaterialAgent? To address the requirements level concerns, we offer the mathematical tool of reductions. A mathematical reduction is expressed by a Problem Reduction Lemma: Proposition => Theorem, where Proposition is "simpler" than Theorem. For example: Proposition: All x in set S that satisfy property P have property Q. Theorem: All x in set S have property Q. Our currently best way to deal with an important class of correlations at the programming level is DemeterF, a generic technology that combines ideas from adaptive programming (AP), functional programming (FP), and datatype-generic programming (DGP) to address traversal related concerns during development. The DemeterF traversal library provides a generic, dynamic traversal that is parameterized by three aspects (function objects or sets of functions/methods of local advice). The first (builder) is an OO mapping of generalized folds. The second (augmentor) deals with the passing and modification of traversal arguments. The final component (control) encapsulates a description of paths to be traversed within a data structure. When objects are traversed, methods of the function objects are implicitly called by matching their signature against the types of return values of recursive sub-traversals and an optional traversal argument. The goal is to allow programmers to capture and separate the essential aspects of functional traversals from the structures to be traversed, while remaining type-safe with respect to structures reached and functions to be called during traversal. The resulting programs are type-safe (pending proof), meaning the given function object contains methods that will always produce a value for legal object instances described by the data structure. The claim is that programs written using DemeterF are more succinct, and easier to understand, modify, and extend than traversals written in general purpose languages and other traversal related libraries/tools. Joint work with Bryan Chadwick, Ahmed Abdelmeged and Therapon Skotiniotis.