Events Type: Graduate seminar
February 17, Wednesday
13:30 – 15:00
Figaro: an Object-Functional Probabilistic Programming Language
Graduate seminar
Lecturer : Dr. Avi Pfeffer
Affiliation : School of Engineering and Applied Sciences
Location : 202/37
Host : graduate seminar
show full content
Probabilistic models are ever growing in richness and diversity.
Probabilistic programming languages have the potential to make representing, reasoning about, and learning models easier by allowing them to be represented using the power of programming languages, and providing general reasoning and learning algorithms.
To this point, most probabilistic programming research has focused on the power of the languages and not on usability.
This paper presents Figaro, a probabilistic programming language that addresses usability without sacrificing power.
Figaro uses an object-functional style to achieve four goals.
First, it is implemented as an extensible library that can be used by Java programs.
Second, it can conveniently represent directed and undirected models with arbitrary constraints.
Third, it can naturally represent models with interacting objects Fourth, it provides for declarative algorithm specification.
Declarative algorithm specification means that algorithms are implemented as a library,
and model class designers declare which algorithms they support and what they require of related models in order to support those algorithms.
Given these specifications, the system automatically determines which algorithms can be applied to a given model.
February 3, Wednesday
12:00 – 14:00
Round-Trip Modeling Using OPM/PL
Graduate seminar
Lecturer : Guy Wiener
Affiliation : CS, BGU
Location : 37/202
Host : graduate seminar
show full content
In software development today there is a tension between the advantages of
model-based methodologies and the need for rapid development methodologies,
such as agile development methodologies (TDD, XP and Scrum, to name a few).
Our work aim at synthesizing those approaches by providing lightweight tools for
fleshing out a model from existing code. In this talk we present OPM/PL, a
suite of modeling tools for the Object-Process Methodology (OPM), implemented in
Prolog. We discuss the gap between model-based and agile software development
methodologies, and show how OPM/PL bridges the gap. Finally, we show an example
of using OPM/PL for round-trip modeling: Import information from code, link it
to a model, generate new code from the model, and import information from the
new code.