A software language engineer's potpourri

I am visiting LogicBlox (and hence, transitively, Predictix) in Atlanta to re-learn logic programming properly and see what our SLE super-weapons of massive engineering can do for them. Hence, it probably makes sense to give a talk as a kind of potpourri.

Speaker: Ralf Lämmel (University of Koblenz-Landau)

TitleA software language engineer's potpourri 

Abstract: In this talk, I present some of our recent research results and interests; they all relate to and, in fact, enhance software language engineering in a broad sense.

The first topic is the 101companies project, which is developing into an advanced, structured, linked knowledge resource for software developers. At its heart, 101companies is a software chrestomathy, which illustrates 'many' software languages, technologies, and concepts by implementing a Human Resources Management System 'many' times; each implementation selects from the set of optional features for such a system.

The next topic is linguistic architecture or megamodeling, which helps with understanding software technologies at a high level of abstraction by focusing on the entities (e.g., languages, technologies, programs, metamodels, files) and relationships between these entities (e.g.,  domainOf, codomainOf, inputOf, outputOf, conformsTo, correspondsTo). Megamodeling can be powerfully demonstrated by using the 101companies chrestomathy for illustration.

The next topic is linguistic architecture recovery for software products and software repositories such that some basic aspects of linguistic architecture (e.g., links from source-code artifacts to languages, technologies, and concepts) are recovered  semi-automatically in a scalable manner such that possibly very heterogenous repositories with diverse languages and technologies can be analyzed. The approach relies on an easily configurable rule-based system that performs various analyses on a product or repository of interest. Such architecture recovery can again be powerfully demonstrated by using the 101companies chrestomathy for illustration.

The last topic is about drilling deeper into language-usage analysis such that a given corpus is understood in terms of coverage of the language constructs, metrics, cloning, validity, and other dimensions of language usage.

Slides: [.pdf]



Various members of the SoftLang Team at Koblenz and collaborators have contributed on the results and visions presented in this talk. The aforementioned papers are coauthored with these researchers:
  • Jean-Marie Favre (University of Grenoble)
  • Dragan Gašević (Athabasca University)
  • Martin Leinberger (Master student in the team)
  • Ekaterina Pek (PhD student in the team) 
  • Thomas Schmorleiz (Master student in the team)
  • Andrei Varanovich (PhD student in the team)


Revealing 101meta and 101explorer

This is an announcement for a talk at University of Brasilia on 8 Aug 2012.

Title: Rule-based metadata annotation for software repositories

Abstract: Take any non-trivial software project; how do we quickly and usefully enough understand what software languages and software technologies are at work in the project; how can we systematically represent very much related knowledge about software concepts or product features exercised in directories, files, or fragments thereof in the project? How can we, in fact, gather architectural understanding on the grounds of "tags" for languages, technologies, concepts, and features; what can we do to visualize, validate, and otherwise leverage such information for the benefit of understanding projects specifically and computer science generally? In this talk, the language 101meta and the technology 101explorer will be described in an effort of responding to the aforementioned challenges; 101meta and 101explorer are grown in the 101companies community project.

Acknowledgement: This is joint work with Jean-Marie Favre, Martin Leinberger, Thomas Schmorleiz, and Andrei Varanovich.


- 101meta: http://101companies.org/index.php/Language:101meta
- 101explorer: http://101companies.org/index.php/Technology:101explorer
- 101companies: http://101companies.org

Bio of the speaker: see here.


Meeting the shark

Tonight, Henrique Rebêlo will take me to the sea in Recife, which is notoriously known for the occasional shark attack. This means that this could be my last post, and I try to get some stuff done before we go there. This also includes posting the abstract of the talk that I was just giving. There is, in fact, a submitted paper to back up the new content in the talk (such as a rule-based language for metadata association with repository and wiki entities), but I was planning to work a bit more on the paper before I reveal it. Chances are that this will never happen; please contact the co-authors in case necessary.

TitleUnderstanding a multi-language, multi-technology software chrestomathy

Abstract: The 101companies community project implements a human-resources management system time and again while using many different software languages and software technologies. A key challenge of this project is to handle, in fact, to make good use of the diversity of languages and technologies involved. There are some emerging techniques of tagging, rendering, browsing, validation, fact extraction, fragment location, etc. such that the 101companies software chrestomathy can be explored richly and insights can be gathered. This presentation will take 42 minutes, cover 42 languages and exercise 42 technologies. This is how long a talk may take; this is how many languages one easily runs into; this is how many technologies one may need to struggle with. Further, the presentation will exercise 7 technological spaces as well as 7 themes of 101companies implementations. All such diversity is by design: it allows us to demonstrate the characteristics of a multi-language, multi-technology software chrestomathy as well as the means of specifically dealing with such a chrestomathy.

Acknowledgement: Joint work with Jean-Marie Favre, Martin Leinberger, Thomas Schmorleiz, and Andrei Varanovich


Movie w/ animated slides subject to manual advancement: