Technology Knowledge Repository

Mission: The everyday programming and maintenance activities make use of knowledge about programming-related technologies such as graphical interfaces (GUIs), communication, security or XML. Having this knowledge in a machine processable form would enable new software analyses and raise the abstraction level at which the current analyses are performed. This page contains a repository of ontologies that share knowledge about programming technologies. Our approach for building these ontologies is described here. More informations about the context and target of our work can be found here.

Ontologies:

    • Graphical widgets (Version 0.3)

        • Statistics: 526 concepts, 1747 triples

        • Download: OWL Triples

        • Analyzed APIs: AWT, Swing, SWT (Java); Windows Forms (.Net); QT (C++); Morphic (Smalltalk)

    • XML (Version 0.2)

        • Statistics: 136 concepts, 387 triples

        • Download: OWL Triples

        • Analyzed APIs: W3C.DOM, JDOM, DOM4J (Java); XML System (.Net); Yaxo (Smalltalk)

    • Collections (Version 0.3)

        • Statistics: 70 concepts, 143 triples

        • Download: OWL Triples

        • Analyzed APIs: Java collections API; Squeak collections; STL (C++); .NET collections API

    • Calendar (Version 0.1)

        • Download: OWL Triples

        • Analyzed APIs: Java standard API; ICU4J; Joda (Java)

    • I/O (Version 0.1)

        • Statistics: 43 concepts, 60 triples

        • Download: OWL Triples

        • Analyzed APIs: java.io package; Squeak; ASIO (C++); .NET

    • Networking (Version 0.1)

        • Statistics: 63 concepts, 73 triples

        • Download: OWL Triples

        • Analyzed APIs: java.net package; Squeak; .NET

    • Database (Version 0.1)

        • Statistics: 33 concepts, 28 triples

        • Download: OWL Triples

        • Analyzed APIs: Java standard library; ConnectDB (C++)

Repository contributors:

    • Martin Feilkas

    • Adrian Linhard

    • Petru Mihancea

    • Yongming Li

    • Daniel Ratiu

FAQ

    • How are the ontologies built?

        • We build the ontologies by analyzing the commonalities of several domain specific APIs that address the same domain. We manually did a post-processing step in order to eliminate the noise. For more details please see our paper: "Extracting Domain Ontologies from Domain Specific APIs" by Daniel Ratiu, Martin Feilkas, Jan Juerjens, (CSMR '08) pdf

    • How can I use the ontologies?

        • The ontologies are under the LGPL license and thereby you are free to downalod and use them in any application you want. We would be glad to hear of their usage and to get some feedback from you.