Executable Computational Logics: Combining Formal Methods and Programming Language Based System Design