Bergen Language Design Laboratory (BLDL)
BLDL has an internal meeting series. Some of these have a content which may be of interest to a larger audience. The program of these are announced here.
Contact Magne Haveraaen for more information.
- Tuesday 2017-12-12 through Wednesday 2017-12-13,
Mikhail Barash (Turku Centre for Computer Science (TUCS), Turku, Finland):
Domain-specific programming languages
Domain-specific language (DSL) is a programming language specifically designed to working within a particular area of interest. DSLs have been a part of computing for ages, and in recent years they become more popular as a core part of model-driven software development. Using a DSL increases productivity for developers and improves their communication with business experts. One of the most promising applications of DSLs is a new programming paradigm -- called intentional programming -- where source code encodes precise intentions that programmers have in mind while creating the code.
The course introduces a wide range of DSL techniques and discusses approaches on how to implement such languages in practice.
Contents of the course (Detailed contents and additional resources)
- overview of domain-specific languages (DSL), both text-based and graphical
- fluent APIs (method chaining, etc.)
- hands-on tutorial on Xtext, a tool that facilitates creating a fully functional Eclipse-based IDE for a language (https://www.eclipse.org/Xtext/)
- hands-on tutorial on Meta Programming System MPS, a tool developed by JetBrains to implement projectional languages (https://www.jetbrains.com/mps/)
- design guidelines and design patterns for DSLs
- overview of language-oriented programming
The course is intended for a wide audience, but requires basic programming skills in Java or another object-oriented programming language. Students are expected to bring laptops to follow the tutorials.
Short bio: Mikhail Barash is a researcher and scientific coordinator in Turku Centre for Computer Science (Turku, Finland). His research interests include formal grammars, parsing algorithms, and compiler construction and implementation. Mikhail obtained his Ph.D. degree in Discrete Mathematics from University of Turku, Finland, focusing on studying different extensions of context-free grammars and their applications to defining syntax of programming languages.
- Thursday 2017-05-11 1415-1500,
Lille auditorium, Høyteknologisenteret.
Adrian Rutle (Department of Computing, Physics and Mathematics, Western Norway University of Applied Sciences):
Is model-driven software engineering (MDSE) dead?
Is model-driven software engineering accepted in the software industry at all? Or is it just an academic approach with no root in the practical world? Is it an approach which is well-understood by practitioners? Are the usefulness and usability well-documented? Or are they exaggerated? In which cases we can see its benefits, and which cases it is an overkill? Throughout the presentation, I will try to address these questions based on a literature review on the industrial acceptance of MDSE.
Short bio: ADRIAN RUTLE holds PhD and MSc degrees in Computer Science from the University of Bergen, Norway. Rutle is an associate professor at the Department of Computing, Physics and Mathematics at the Western Norway University of Applied Sciences. Rutle’s main interest is applying theoretical results from the field of model-driven software engineering to practical domains and has expertise in the development of modelling frameworks and domain-specific modelling languages. He also conducts research in the fields of modelling and simulation for virtual prototyping purposes, robotics, eHealth etc.
- Friday 2017-03-03 1015-1300,
Store auditorium, Høyteknologisenteret.
Tero Hasu (BLDL, Department of Informatics, University of Bergen) PhD defence:
Programming Language Technology for Niche Platforms (slides)
Most smartphone "apps" developed today run on the Android or iOS operating system, but less established app platforms (such as BlackBerry 10 and Tizen) also exist, and come and go as the mobile device market evolves. Consequently, keeping an app available for a wider selection of current platforms poses risks and costs for a software vendor. The dissertation outlines a strategy for systematically dealing with platforms targeted by a line of software products, and presents technology aimed at supporting that strategy.
A programming language is designed for human expression of what a computer should do, and different languages are favored for different platforms (e.g., Java for Android). To help shield product engineers from platform details, Hasu suggests building product line automation around an adaptable programming language familiar to the engineers and translatable into platform favorite languages. In order to make different tradeoffs between general translatability and platform specificity, the language might be adapted into a family of variations of itself.
For the development of such language families, the dissertation presents technology for customizing and translating languages. It also presents platform-agnostic features for inclusion in languages, to help programmers deal with common concerns such as error handling and product configuration management.
By assembling and maintaining a common technology base for multi-platform software production tooling, a software vendor can approach new platforms confidently, even when those platforms themselves lack healthy developer ecosystems.
Short bio: Tero Hasu (1972) was born in Finland. He got a master's degree in computer science from Helsinki University of Technology (1999), and has since then worked as a software developer. The doctoral thesis work was done at the Bergen Language Design Laboratory (BLDL).
- Thursday 2017-03-02 1415-1500,
Store auditorium, Høyteknologisenteret.
Sibylle Schupp (Institute for Software Systems, Hamburg University of Technology, DE):
Reasoning about Software in an Unreasonable World
The degree of dependability increases, and so does the need to provide guarantees about the workings of a software system. But what if reality cannot be modeled or if it damages the software system? In this talk I exemplify incomplete or hostile environments and show how formal reasoning still may prevail.
Short bio: Sibylle Schupp is professor and head of the Institute of Software Systems at Hamburg University of Technology (TUHH). Before joining TUHH, she was Associate Professor at Chalmers Technical University in Gothenburg, Sweden, and Assistant Professor at Rensselaer in NY, USA.
- Wednesday 2017-02-22 1415-1600,
Ali Alnajjar (BLDL, Department of Informatics, University of Bergen):
Institutions, property-aware programming and testing
- Wednesday 2017-02-22 1015-1100,
Lille auditorium, Høyteknologisenteret.
Tero Hasu (BLDL, Department of Informatics, University of Bergen):
What makes or breaks a programming language?
The talk presents the stories of a few prominent (some popular, some by other criteria) programming languages. The presentation focuses on the context and environment that made possible or triggered their creation, and the reasons that enabled them to gain stature.
It discusses characteristics and commonalities in contexts, language features, domains, the kind of people and organizations behind language development, etc. that correlate with a language's fate.
The presentation will be understandable by and informative to a 2nd-year Bachelor student in Computer Science.
- Tuesday 2017-02-21 1415-1600,
Simen Grønsund (BLDL, Department of Informatics, University of Bergen):
High-Performance Design Patterns for Modern Fortran
VilVite auditorium is in VilVite, Thormøhlensgt 51.
Conference room D is in VilVite, Thormøhlensgt 51.
Lille auditorium is in Datablokken, Høyteknologisenteret, Thormøhlensgt 55.
Stort auditorium is in Datablokken, Høyteknologisenteret, Thormøhlensgt 55.