Ph.D. Thesis
The Object-Process Programming Language is a visual programming language that is based on the Object-Process Methodology (ISO/PAS 19450:2015) developed by Prof. Dov Dori. During my studies I developed the visual language, programmed an editor and run-time for the language, and performed experiments with both students and professional developers to test value of the language as a tool for software developers, architects, and other stakeholders in the software industry. All code for the editor and run-time is hosted on github: https://github.com/vainolo/Object-Process-Programming
M.Sc. Thesis
A Graph Grammar-Based Formal Validation of an Object-Process Diagram – Object-Process Methodology (OPM) is a modeling methodology invented by Prof. Dov Dori of the Information Systems Area of the Industrial Engineering Faculty at the Technion. This methodology combines a simple modeling framework which includes abstraction features that are missing in most of the popular methodologies that I know. My Thesis describes a grammar to create Object-Process Diagrams (OPDs) and an algorithm to verify their validity.
Papers
- A graph grammar-based formal validation of object-process diagrams – Condensed version of my M.Sc. thesis, published in the Software and Systems Modeling Journal. The final version of this paper is available at www.springerlink.com
- Creating Domain-Specific Modeling Languages with OPM/D, A Meta-modeling approach – Presented at ICSOFT-PT 2013 International Conference on Software Paradigm Trends, Reykjavík, Iceland, 2013. If you’ve never been to Iceland, get accepted to a conference there. It is amazing.
Miscellaneous Work
- A System for Assisting Analysis of Some Block Ciphers – Research work done with Prof. Eli Biham on an automatic methodology for the analysis of some block ciphers. The research was funded by the NESSIE project.
- Improving Clock Synchronization in Large Networks – Final work of a Distributed Systems course.
- Evolving a Backgammon Player at Home – This is the work that I have enjoyed the most and also put effort into. We programmed a backgammon player that used neural networks to play backgammon, and then using genetic evolution we let the players evolve to see what happened. At the end we did get a decent player and a lot of enjoyment.
You can check out my current PhD Research page, which includes a list of the papers I have read and small summaries of their contents (Not updated a lot…).
I also started working on a Dictionary of Programming Language Terms, but got bored in the way. Maybe I’ll come back to it someday.
Resources