14
Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013 Research 2.0 for Software Engineering: SHARE & 101companies !"#$%&#'(" *#+'" ,$(+"'-(./ 01 2'"$034" *'#$5" 6("."' 7#$ 20'8 9($:;0+"$ ,$(+< 01 ="5;$040>/ =;" ?".;"'4#$:- @#41 ABCC"4 ,$(+"'-(./ 01 D034"$E%A#$:#F 2"'C#$/ http://softlang.uni-koblenz.de/ec13/

Research 2.0 for Software Engineering - Uni Koblenz-Landau

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

Research 2.0 for Software Engineering:

SHARE & 101companies!

"#$#%&'(!)*+!,-&!.-,/0%&#!12342##&4235!.67"1!8!9+9'-:;%24#$!

!!"#$%&#'(")*#+'")

,$(+"'-(./)01)2'"$034")*'#$5")

6("."')7#$)20'8)9($:;0+"$),$(+<)01)="5;$040>/)

=;")?".;"'4#$:-

@#41)ABCC"4),$(+"'-(./)01)D034"$E%A#$:#F)

2"'C#$/

SUMMARY While Research 2.0 initiatives receive a lot of attention from Life Sciences, Physics, Astronomy or Mathematics [3][10], the Software Engineering (SE) community seems to be lagging behind. This tutorial aims to tackle this problem and demonstrate concrete instances of Research 2.0 for SE. The tutorial is organized by three enthusiasts from the SE community who want (1) to explain how Research 2.0 principles could actually be applied in the context of Software Engineering, (2) to show why sharing and linking research is so important in practice, and (3) to illustrate these principles by demonstrating the results of two concrete community-oriented projects, namely SHARE [4] and 101companies [8]. We present the emerging best practices and show how participants can use these systems within the context of their own research.

1. CONTENT OF THE TUTORIAL The tutorial is divided in four parts. In the first part of the tutorial, we present shortly some background about Research 2.0 including a very brief historical perspective, some alternative or related terms (e.g., e-science, computational science, e-research, linked-science, big science, etc) and associated trends (big data, linked data, etc). In order to later position our own proposals in the next parts, a small conceptual framework for Research 2.0 is presented along five dimensions: People, Process, Processor, Product, and Places. We claim that the availability of Web 2.0 and Cloud technologies can significantly change research practices, in particular in the context of Software Engineering research. In particular, we focus our attention on the Product perspectives and consider the problem of building, evolving, sharing and linking repository of software engineering ressources. Before zooming on the SHARE project and 101companies project respectively we show the commonalities between these projects. Both projects indeed apply Research 2.0 principles to the problem of comparing and analyzing software technologies, and in particular modeling and tranformation technologies. The second part of the tutorial is devoted to the SHARE project. SHARE directly address the problem of "dark data" [2] and reproducibility in the context of Software Engineering. “Dark data” is a commonly accepted term for data that was not carefully indexed and stored. Data has a tendency of becoming dark if the researcher that produced it does not care about encoding it in a standardized form, or at least annotated with meta-data that enables the automatic interpretation or translation of the data. Even if such data is shared and indexed openly, other researchers may not manage to find it, evaluate and re-use it. While there are

ample technical solutions to encoding complex data in a standardized form (e.g., MOF, XMI, and EMF in the context of software engineering), the biggest barrier may relate to scientist incentives. We argue that (1) the research community needs a platform where scientists can conveniently backup their environments and seemlessly share them with their peers, (2) the research environments should be easily citeable and discoverable such that scientists trust that they may get credit for the sharing. In a nutshell, SHARE is a cloud-based platform that enables backup and sharing features already for 5 years. It has greatly supported the knowledge sharing and community building between the model transformation and the graph transformation communities in particuliar in the context of TTC, the Tool Transformation Contest [5], a practical workshop series from the Model Driven Engineering community. After giving an overview of the history and functionality of SHARE, we describe the process that we have used to successfully motivate various scientists to contribute their research environments to SHARE. Among others, the process includes the solving of case studies to benchmark each other's research techniques as well as the collaborative writing of journal papers. The latter point is important due to the financial and carreer drivers that dominate the contemporary research landscape.

The third part of the tutorial is devoted to the 101companies project [8]. 101 companies is a modern knowledge resource for software engineers, programmers, technologiest, educators, and learners in software engineering and programming. At the heart of this Research 2.0 project, there is a community-based collection of illustrative implementations of a conceived software system for human resources management, a particular case study. These implementations (their folders, files, and fragments thereof) are associated with rich metadata to link them to languages, technologies, concepts and other entities. The implementations are available publicly and are documented on a semantic wiki. All links between all entities are fully discoverable and can be processed on the grounds of suitable LinkedData dumps and endpoints for RDF triples. Services offer web-based access interfaces so that other projects can consume, validate, and enrich the LinkedData of 101companies. The tutorial will describe the architecture underlying 101companies and demonstrate LinkedData-like techniques with application scenarios in software reverse and re-engineering. The participants are guided to perform simple experiements on 101companies to better understand LinkedData principles and related programming techniques.

Finally in the last part of the tutorial, we present a synthesis of the notion introduced ; we draw lessons learned from these projects, establish a roadmap for new collaborations and

http://softlang.uni-koblenz.de/ec13/

Page 2: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

R1.01 researcher

Page 3: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

R2.0We are smarter than me.

Rely on diverse scientific

knowledge objects (SKOs).

Page 4: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

Research 0.1 Proto-Research

Research 0.5 Demonstrations

Research 1.0 Small Research

Research 1.5 Big Research

Research 2.0 Agile research / emerging intelligence

Don’t take this too seriously.

Page 5: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

Variations on Research 2.0

E-Research

Networked Science

E-Science

Computational Science

Big Science

Linked Science -- Linking Scientific Knowledge Objects

...

SKOs

Page 6: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

Linked Science – Linking SKOs

Concepts / glossaries / …

Papers / books / presentations / …

People / teams / events / networks …

Tools / projects / web services / demos …

Repositories / metaware / chrestomathies …

Page 7: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

Perspectives of Research 2.0

People Actors in R&D

Products Scientific Knowledge Objects (SKOs)

Processes New scientific processes

Processors Computational research

Page 8: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

Research 2.0 is quite an active area.

Page 9: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

Established Research 2.0 domains

Physics

Mathematics

Astronomy

Climatology

Biology

Genetics

What about

computer science?

Page 10: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

This tutorial

Page 11: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

planet-sl.org

Researchers Events

Events Misc.

Page 12: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

TTC/SHARE

Events

Technologies Cases

Researchers

Page 13: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

101companies

Languages

Concepts Misc.

Technologies

Page 14: Research 2.0 for Software Engineering - Uni Koblenz-Landau

Research 2.0 tutorial by J.M. Favre, Pieter Van Gorp, Ralf Lämmel at EC* 2013

Schedule

Introduction 10 minTransformation Tool Contest (TTC) 17 min The 101companies Project (101) 17 minShare’s support for reproducible research 33 minShare: Hands on 17 minBreak Break Break Break Break Break Break 30 minSurfacing 101 in the Linked Data manner 33 min101: Hands on 11 minDiscussion 42 min 210 min

http://softlang.uni-koblenz.de/ec13/