Homepage of Alexander Paar

last update: 11/26/2016

Recommender Systems

Software development, engineering or medicine – the fourth industrial revolution requires new methods of assistance in a wide range of industries. In many areas, the industrial working world is characterized by the highest demands on process efficiency and process security. Fundamental influencing factors such as demographic change, offshoring and additional applications in Industry 4.0 or with Big Data demand new forms of support for knowledge workers.

Already today, productively used information systems integrate intelligence and learning skills based on modern database technology. The information base available for automated decision-making is growing steadily and enables continuous improvements in the precision and yield of the predictions.

Recommender systems in the area of software development have been further developed from syntactic autocompletion to intelligent referral services based on natural language requirements specifications and software repository mining.

In the field of engineering, adaptive classification systems enable the encapsulation of many years of engineering experience and thus effectively counteract knowledge loss through employee fluctuation, enable the development of new user groups for offshoring and preserve value-adding activities in high-wage countries. The integration of automatic assessment systems is proven to increase process security and avoids expensive defects in late development phases.

In the field of medicine, physicians and patients benefit from the evaluation of extensive treatment data for algorithmically well-founded therapeutic recommendations far beyond the possible horizon of experience of an individual.

I work on the application of artificial intelligence and machine learning libraries, tools and methods to implement efficient and effective recommender systems for industrial use cases.

Meet me at the 1st Workshop Industrial Applications of Artificial Intelligence (IAAI'17).

Programming the Semantic Web

In recent years, Semantic Web technologies such as RDF(S) and the Description Logics based Web Ontology Language (OWL DL) have paved the way for standardized formal conceptualizations of all kinds of knowledge. Numerous ontologies have been developed to conceptualize a plethora of domains of discourse.

Since corporations from all sectors have braced to define company specific knowledge using Semantic Web technologies, ontology engineering has become a business model for a number of companies. As the underlying standards have matured, tools for ontology engineering have emerged both in commercial as well as in academic fields.

Knowledge acquisition systems such as Protégé make it particularly easy to construct domain ontologies and to enter data. Ontology management systems such as Jena can be used for creating, modifying, querying, and storing ontologies. Inference engines such as Pellet provide support for automatic reasoning. There is an incessantly growing set of tools, projects, and applications for ontology languages like OWL.

Still...

...processing ontological information programmatically is still laborious and error prone. From my experience, this is mainly caused by the lack of compile time support both for XML Schema Definition (XSD) type definitions, which may be the range of OWL data type properties, as well as for terminological knowledge in form of ontologies.

I developed the novel programming language Zhi#, which provides compile time and runtime support for XSD and OWL.

The Zhi# programming language is described in Zhi# – OWL Aware Compilation by Alexander Paar and Denny Vrandečić: "The usefulness of the Web Ontology Language to describe domains of discourse and to facilitate automatic reasoning services has been widely acknowledged. However, the programmability of ontological knowledge bases is severely impaired by the different conceptual bases of statically typed object-oriented programming languages such as Java and C# and ontology languages such as the Web Ontology Language (OWL). In this work, a novel programming language is presented that integrates OWL and XSD data types with C#. The Zhi# programming language is the first solution of its kind to make XSD data types and OWL class descriptions first-class citizens of a widely-used programming language. The Zhi# programming language eases the development of Semantic Web applications and facilitates the use and reuse of knowledge in form of ontologies. The presented approach was successfully validated to reduce the number of possible runtime errors compared to the use of XML and OWL APIs." Download PDF BibTeX

Use cases of the Zhi# programming language are delineated in Searching and Using External Types in an Extensible Software Development Environment by Alexander Paar: "Schema and ontology languages have proved to be useful for conceptualizing knowledge in a variety of applications. In many software projects, XML Schema Definition data types and ontological concept descriptions coexist with programming language class hierarchies. However, only programming language type definitions are fully integrated into today's software development environments. Support for external type systems is spotty. For programmers, it is particularly tedious to search type definitions in XML schema files and OWL ontologies, to browse external type hierarchies, to investigate external type members, and to analyze and comprehend the use of external type definitions in program code. In this work, it will be argued that improved search capabilities are required to ease the use of schema and ontology languages in software projects. Difficulties of searching type definitions in software project workspaces will be indicated. An extensible compiler framework will be outlined that facilitates the use of schema and ontology languages in C# programs. An Eclipse-based integrated development environment will be described that makes XML data types and OWL concept descriptions first-class citizens of the source code editor. Finally, identical search and (just in time) program analysis features for programming language and external type definitions will be suggested." BibTeX

A broader application scope of Zhi# is explained in Implementing OCL Invariants with Constrained Data Types by Alexander Paar: "The Object Constraint Language (OCL) facilitates textual specifications of constraints that apply to Unified Modeling Language (UML) models. In particular, OCL is used for the specification of invariants in UML class diagrams. This paper compares the implementation of OCL invariants in program code by means of aspect-oriented programming (AOP) on the one hand and by means of value space constrained data types on the other hand. By contradistinction of these two approaches it will be argued that the availability of constraint-based type derivation and value space-based subtyping in a statically typed programming language can provide for the enforcement of OCL invariants already at compile time as opposed to runtime." PDF

Consider yourself personally invited to have a go at this new tool!

Use-Case Responsibility Driven Analysis and Design

Use-Case Responsibility Driven Analysis and Design (URDAD) is a services-oriented analysis and design methodology for domain experts to develop semi-formal requirements and technology-neutral design models. I am contributing to the consistency and completeness properties of the URDAD MDE metamodel.

The URDAD MDE research project is co-funded by the South African National Research Foundation (NRF) in the THRIP program.

Computers in the Human Interaction Loop

The goal of the CHIL project was to make everybody’s daily life easier. CHIL was an integrated European research project with 15 project partners in Europe and in the US aiming to bring friendlier and more helpful computing services to society. Rather than requiring user attention to operate machines, CHIL services attempt to understand human activities and interaction in order to provide helpful services implicitly and unobtrusively. In CHIL, socially supportive environments proactively support human gatherings. Such environments offer, for example, meeting assistants that track and summarize human interactions in lectures, meetings, and office interactions.

The CHIL Ontology was developed to provide a formal high level description of the CHIL domain of discourse that can be efficiently used to build intelligent applications. As such, the CHIL ontology introduces a common programming language agnostic object model that can be used to formally represent elements of the CHIL domain of discourse. By using the Description Logics based Web Ontology Language (OWL DL) to model concepts, roles, and individuals of the CHIL domain of discourse it is possible to use a reasoner in order to automatically make implicit knowledge explicit, which can actually be considered as a form of artificial intelligence.

CHIL was co-funded by the European Union through the Information Society Technologies (IST) priority in the Sixth Framework Program.

MorphoSys SIMD Predication

MorphoSys is a reconfigurable computer architecture that is composed of a software programmable processing unit called TinyRISC and a reconfigurable hardware unit called Reconfigurable Cell Array (RC Array). The Reconfigurable Cell Array has 64 reconfigurable cells arranged in an 8 by 8 array. Each cell has an ALU/MAC unit and a register file. RC Array functionality and the interconnection network are configured through context words. Context words are stored in a context memory in two blocks (one for the rows and the other one for the columns). Each block has eight sets of sixteen context words.

I developed a novel branch predication scheme for the MorphoSys Reconfigurable Cell Array by improving and combining the unrestricted predication model and the guarded execution model. It could be shown that significant execution autonomy was added to the SIMD processing elements and that the code size was reduced considerably. The implemented predication scheme enables more efficient if-conversion compilations than previous predication schemes of general purpose processors.

This work was supported by DARPA (DoD) under contract F-33615-97-C-1126 and the National Science Foundation under grant CCR-0083080.

The BTRC Remote Control System

The Universal Bluetooth Remote Control System (BTRC) was a contribution to the 2001 IEEE Computer Society International Design Competition. The BTRC system enables devices to communicate over various transport protocols, allowing them to be controlled remotely using either a GUI, plain text messages, hyperlinks or speech. Exiting BTRC use cases include: With a BTRC-powered universal remote control you can use completely wireless technology to voice-operate your VCR in your living room at home while you are in your office at work. Via speech recognition you can set up the universal remote control to build a list of devices that are near your current location and/or are of general interest to you.

BTRC pursues a simple vision to make interaction with electronic devices less obtrusive and our everyday life more convenient:

"Any device, from anywhere - at any time!"

Recommendations for...
You!

Data analytics and machine learning strike me since 2011.

the Hubot

C# + XSD + OWL = Zhi#

The Zhi# programming language boasts compiler and runtime support for XSD and OWL. Development started in 2002. Version 1.0 including tool support was released in 2009.

Zhi# 

CHIL Knowledge Base Server

The CHIL Knowledge Base Server is an adapter for existing ontology management systems. It was developed from 2004 to 2007.

CHIL Knowledge Base Server

URDAD

From 2010 to 2011 I contributed to the South African research project Use-Case Responsibility Driven Analysis and Design.

URDAD

CHIL

From 2003 to 2007 I contributed to the European research project Computers in the Human Interaction Loop.

CHIL

MorphoSys

From 2001 to 2002, I contributed to the MorphoSys research project at the Department of Electrical & Computer Engineering at University of California, Irvine.

MorphoSys

BTRC

The Universal Bluetooth Remote Control System (BTRC) was a contribution to the 2001 IEEE Computer Society International Design Competition.

Bluetooth