Sharing is fun! Thoughts on open access research

Slides:



Advertisements
Similar presentations
Universität Koblenz-Landau Institut für Softwaretechnik Re-Group CASCON 2000Toronto, Graph Exchange Language An overview Ric Holt Andreas Winter.
Advertisements

Universität Koblenz-Landau Institut für Softwaretechnik GUPRO WOSEF 2000Limerick, (1) Components of Interchange Formats (Metaschemas and Typed.
Universität Koblenz-Landau Institut für Softwaretechnik Re-Group Interoperability of Reengineering Tools Dagstuhl, Jan 20-25, 2001 Graph Exchange Language.
Universität Koblenz-Landau Institut für Softwaretechnik Re-Group WCRE 2000Brisbn, Nov 25, 2000 Graph Exchange Language Representing Graph Schemas (a working.
Gerrit de Bolster September 24, 2013 Generating Blaise from DDI.
1 caAdapter Jan 24, caAdapter The caAdapter is an open source tool that facilitates HL7 version 3 message building, parsing and validation based.
University of Utah SoCCS Lecture 151 Inside UML CS6961 – Lecture 15 Nathan Dykman.
Universität Koblenz-Landau Institut für Softwaretechnik Re-Group Graph Drawing Vienna, September 26, 2001 Graph Exchange Language Andreas Winter joint.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Presenter : g9102 黃培智 Outline  Motivation and Background  GXL Overview  Exchange Graphs  Exchange Graph Schemas  Conclusion.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
XML in Development of Distributed Systems Tooling Programming Runtime.
Topic S Program Analysis and Transformation SEG 4110: Advanced Software Design and Reengineering.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
FIMS v1.1 Version numbers in schema Richard Cartwright Quantel July 2013.
1 © 1999 Microsoft Corp.. Microsoft Repository Phil Bernstein Microsoft Corp.
Computer Systems & Architecture Lesson 4 8. Reconstructing Software Architectures.
Frameworks CompSci 230 S Software Construction.
GXL Progress Report Susan Elliott Sim on behalf of Andreas Winter, Ric Holt, and Andy Schürr and the GXL Mailing List.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
LaQuSo is an activity of Technische Universiteit Eindhoven SQuAVisiT: A Software Quality Assessment and Visualisation Toolset Serguei Roubtsov, Alex Telea,
CSER / CASCON 1999 Exchange formats: Some problems, a few results, and a cool name Michael Godfrey Ivan Bowman and others … University of Waterloo.
Connecting Architecture Reconstruction Frameworks Ivan Bowman, Michael Godfrey, Ric Holt Software Architecture Group University of Waterloo CoSET ‘99 May.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
The Dagstuhl Middle Model: An Overview Timothy C. Lethbridge SITE, University. of Ottawa
Employee Engagement – The Next Generation of Workforce Management Why Employee Engagement? The Next Generation of Workforce Management © 2016 Cultural.
Report on DMM (Dagstuhl Middle Model)
Using European Component Oriented Architecture (ECOA™) on a CDE phase-1 project Dstl Platform Systems Division 9 September 2016 Dstl Document Reference:
Java Web Services Orca Knowledge Center – Web Service key concepts.
CIS 375 Bruce R. Maxim UM-Dearborn
Analysis Services in times of Continuous Integration
Building Enterprise Applications Using Visual Studio®
7th Annual Hong Kong Innovative Users Group Meeting
Discussion Topics for Exploring OMG UPDM Way-ahead
UNICOS Application Builder Architecture
Towards a framework for architectural design decision support
Continuous Integration (CI)
Software Tools and Environments
An Introduction to the IVC Software Framework
Pipeline Execution Environment
The Systems Engineering Context
Software Maintenance.
Food for Thought.
POOL persistency framework for LHC
Web Application Modeling
Deploying CIM to Bridge the Modeling Gap Between Operations and Planning Mike usa.siemens.com/digitalgrid unrestricted © Siemens AG 2017.
Phil Bernstein Microsoft Corp.
Modelling and Extracting the Build-Time Architectural View
Overview of the Course Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University.
Consideration of Modeling Evolution in ONAP Michela Bevilacqua Peter Wörndle and Tara Cummings 13 December , 2017.
XML Based Interoperability Components
National Library of Medicine Segmentation and Registration Toolkit
Why many Automation Frameworks? when ONE can do ALL
Visual Solution to Room Usage Reporting
Crowd Simulation (INFOMCRWS) - UU Crowd Simulation Software
Towards Automatic Model Synchronization from Model Transformation
1 مفهوم ارتباطات ارتباطات معادل واژه communications ) ميباشد(. ارتباطات يك فرايند اجتماعي و دو طرفه است كه در آن اطلاعات مبادله شده و نوعي تفاهم بين طرفهاي.
NASPAC 2.0 Architecture January 27, 2010
Constructing MDA-based Application Using Rational XDE for .NET
Touchstone Testing Platform
Secrets from the Monster: Extracting Mozilla’s Software Architecture
Experience with the process automation at SORS
Lecture 06:Software Maintenance
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
C++/Java/COM Interoperability
Software Re-engineering and Reverse Engineering
Introduction To Software Development Environment
Presentation transcript:

Sharing is fun! Thoughts on open access research Mike Godfrey University of Waterloo

Why share your research artifacts? So the community can validate your results So the community can build on your results It improves your visibility in the research community

Two experiences GXL What's in a name? Ric Holt, Andy Schürr, Susan Sim, Andreas Winter, many others c. 1999 What's in a name? Abram Hindle, Neil Ernst c. 2011

Project 1: GXL Background: late 1990s, lots of research source code reverse engineering environments emerging: e.g., Rigi/Shrimp, SwagKit/PBS, Bauhaus, MOOSE, GuPro, Datrix, Dali, CIA/Acacia …

Architectural Reconstruction Source Code Executing System Control System Artifacts Scanning Parsing Profiling Change Reporting Extractors Extracted Facts Repository View Generation Visualization Manipulation Architecture November 7, 1999 CSER / CASCON 1999

TAXForm Utopia November 7, 1999 CSER / CASCON 1999

Transforming Between Schemas Universal High-Level Procedural PL/I C Object-Oriented C++ Java Dali C Rigi C PBS C November 7, 1999 CSER / CASCON 1999

Let's share our tools! "I want to use your source code fact extractor with my analysis engine … how hard can that be?" "Just make your tools available for download!" "Just make your APIs and output data format public!" "Just make your source code available!" "Just show me your main internal meta-model!" "OK, maybe we need to talk …"

PBS C Language E/R View

PBS Architectural Schema

TA++ Combined E/R Model

BAUHAUS Combined E/R

GUPRO Multi-Language Model

Some problems To pre-process or not? Templates/generics are a bear Are interfaces classes? It's important … Naming, UIDs, mangling Lies my extractor told me

Let's share our tools! Key events CASCON 1999 / 2000 workshops on tool interoperability ICSE 2000 Workshop of Std Exchange Formats (WoSEF) Dagstuhl Seminar 01041, Interoperability of Reverse Engineering Tools, Jan 2001 Months of discussion + arguing led to three levels: Software architecture "Middle model" (f calls g, h uses v) "Code level" PLUS a XML-based notation that can be used to represent all three: GXL

GXL After arguing and arguing, we realized that all we could really agree on as a community is that models of programs are graphs GXL: Graph eXchange Language It's XML! It's not XMI! … but, ummm, BYO schema!

Success! … Some tool owners created GXL converters for their tools, but its use fizzles out It's a headache to maintain inter-tool compatibility when you're doing active research and keep changing your mind (and others do the same) That's the nature of research! Probably this works best with "stable" tools

Success! … So this "sharing" turned out to be a lot harder than it looked, even with a lot of good will and energy Instead of building large, robust bridges, we built a raft factory And that was good enough for its purpose Most importantly, we learned a lot about what to do "next time"

Project 2: What's in a name? Can we label/name topics automatically extracted from version control meta-data? For a given LDA topic, can we label it with non-functional requirements (NFRs) automatically + without training? … semi-automatically? Ref: "Automated Topic Naming: Supporting Cross-project Analysis of Software Maintenance", by A. Hindle, N. Ernst, M. Godfrey, J. Mylopoulos. Empirical Software Engineering, 18(6), December 2013.

What's in a name Abram Hindle is a big advocate of open access, wants to set a good example: http://softwareprocess.es/static/What's_in_a_Name.html Source code for original tools Original data (MaxDB repo: 1GB) Extracted data Tool output (LDA topics) VirtualBox VM (LDA, other tools + data preloaded: 3GB) Wordnet-like list for NFRs (Please reference if you use it!)

Lessons learned and open sores It is our moral duty as scientists to be open Assume no one will care, but someone might Sharing is hard! You can "design for sharing", but it takes effort You will get better at it

Sharing is fun! Thoughts on open access research Mike Godfrey University of Waterloo