Open Source Software Open Source Software in ... Open Source Software in Research and/or Open Source...

Click here to load reader

  • date post

    14-Apr-2020
  • Category

    Documents

  • view

    22
  • download

    1

Embed Size (px)

Transcript of Open Source Software Open Source Software in ... Open Source Software in Research and/or Open Source...

  • Open Source Software in Research and/or Open Source Software as Research

    Open Source Software

    Univ.Prof. Dr. Gustaf Neumann Chair Information Systems and New Media

    MARCH 2017, SCIENCE SEMINAR SHANGHAI,

    CHINESE ACADEMY OF SCIENCES

  • Usage of Open Source Software in the Context of Information Systems Engineering

    Univ. Prof. Dr. Gustaf Neumann Page 1

    •  Business Information Systems and Knowledge Management (Support of Knowledge Acquisition): Learn@WU

    •  Community Frameworks: OpenACS, DotLRN

    •  Security and Workflow Management (Role Engineering … Wiki-Based Workflow Systems)

    •  Multi-Level Development, Domain Specific Languages, Feature Modeling and Composition: XOTcl, NX

  • Extended Object Tcl - XOTcl

    §  Development: §  Based on a Scripting Language of MIT (OTcl) §  First Language providing language support for Design Patterns

    (dynamically add/remove patterns, Neumann/Zdun) §  Feature-Composition through dynamic mixin classes §  Handling feature interactions through “filters”

    §  Facts and Figures: §  Over 100.000 downloads of the source code §  Binary distributions though third-parties

    (ActiveState, Debian/Ubuntu, Mac OS X) §  Over 40 scientific publications §  Supported by Google (GsoC)

  • Next Scripting Framework

    §  Development: §  Design based on 10 years experience with XOTcl §  Higher scalability §  Support for „Language Oriented Programming“ §  Improved Feature Composition §  Traits, optional type checking, different kind of mixins §  174 k LOC

    §  Language Oriented Programming (Martin Ward):

    §  Define requirements in the language/terminology of the stakeholders

    §  Implementation should be as close as possible to requirements

  • Next Scripting Framework

    Next Scripting

  • Open Source Frameworks (co-)developed at our Institute

    §  NaviServer: §  Originally developed for AOL (America Online) for high traffic websites (e.g. web

    platform for major US cities) §  Highly scalable, multithreaded Web-Server §  Co-Developed with companies (Archiware, qcode) §  33 committers, 193 k LOC

    §  OpenACS §  Community Framework, originally developed from MIT §  Empowering End-Users §  129 committers, 2 mio LOC §  ~20.000 registered users in online community

    §  DotLRN §  Course management systems based on OpenACS §  Originally developed for MIT Sloan School of Business §  Governed by DotLRN Consortium §  In use e.g. in Harvard Medical School, UNED, … WU

  • Learn@WU

    §  E-Learning Systems of WU §  4.000 courses / year, >120.000 learning resources §  Students solve up to 600.000 online exercises per day §  Processed >700.000 student exams §  > 2Mio learning work-flows §  “Without Learn@WU, the operations of our university

    would not be possible” (Christoph Badelt, Rector of WU) §  Learn@WU is one of the world’s mostly intensively used E-learning

    platforms in higher education

    §  Components §  Mostly developed in XOTcl/NX, using NaviServer,

    OpenACS, DotLRN §  Learning Activity Management based on Workflows §  Current focus Learning Analytics

    (descriptive, diagnostic, predictive, prescriptive)

  • Open Source Software ...

    §  As an enabler: it allows … §  … a small team to developed a state-of-the-art

    scalable, highly tailored system §  … to apply innovative software engineering

    concepts on real live systems and to establish efficient feedback loops and evaluation

    §  … us to improve operations at our university by a leading edge e-learning environment with many options of extensions (e.g. based on learning analytics)

    §  Problems/challenges

    §  Public and in-house versions develop (merging/ rebasing of software artefacts, complex code management workflows

    §  Goals of the Open Software Community are not necessarily the same as the goals of the in-house developments, especially for application level aspects (consortiums)

    §  Cost of providing code as Open-Source often underestimated

  • Institute of Information Systems and New Media Welthandelsplatz 1, 1020 Vienna, Austria UNIV.PROF. DR. Gustaf Neumann Chair Information Systems and New Media Program Direction Information Systems Technical Direction Learn@WU T +43-1-313 36-4671 F +43-1-313 36-4671 neumann@wu.ac.at nm.wu.ac.at

    UNIV. PROF. DR. GUSTAF NEUMANN PAGE 9

  • Commercial vs. Volunteer Contributions in OpenACS

  • Source Code Management for in- house needs and upstream updates

    Staging Working copy deployed on staging

    Staging

    Develop local branches

    Production

    Live Working copy deployed on live-testing

    Live

    Live Working copy deployed on live (learn-d, ex-production)

    Github github/oacs-5-...

    $ mr update

    $ git/mr staging

    $ git/mr production $ git/mr sync

    $ git merge $ git cherry-pick

    $ git rebase

    $ git push $ git tag $ mr update

    $ git push$ mr update

    $ git cherry-pick

    DevelopmentDevelopment TestingTesting Release & HotfixRelease & HotfixTime

    Remote branch Working copy

    Testing

    $ git cherry-pick

    $ git cherry-pick

  • Multi-Layered Co-Development of Information systems

    Te ch

    ni ca

    l d om

    ai n

    ex pe

    rt s

    Bu si

    ne ss

    d om

    ai n

    ex pe

    rt s

    Pr og

    ra m

    s Ex

    ec ut

    ab le

    s pe

    ci fic

    at io

    ns

    Co nt

    en t,

    da ta

    Te ch

    ni ca

    l d om

    ai n

    ex pe

    rt s

    Bu si

    ne ss

    d om

    ai n

    ex pe

    rt s

    Pr og

    ra m

    s

    Sc he

    m at

    a Co

    nt en

    t, da

    ta

    Informational artifacts

    Informational artifacts

    Executable artifacts

    Executable artifacts

    Sc he

    m at

    a

    Case A

    Case B

    Enable End Users to actively participate in IS Design “Secondary design” Support incremental improvement without reboot

  • Multi-Layer Development for Learn@WU

    Sociotechnical systems stack

    Information system

    Bu sin es s

    Information layer

    Con�guration layer

    Content schema layer

    T ec hn ic al

    Work⇢ow schema layer

    Application layer

    Infrastructure layer

    Multilayered co-developed information system

    Outer business environment

    Social layer

    Organizational layer

    Business process layer

    Application layer

    Communications and data management layer

    Outer technical environment

    Operating system layer

    Equipment layer

    Learn@WU layers

    Outer business environment

    Learn@WU

    Content repository items

    Preferences, package instance parameters, …

    XOWiki forms DSL

    XOWf work"ow engine

    OpenACS packages

    PostgreSQL, NaviServer, OpenACS, …

    Outer technical environment

    Learn@WU: 1500 workflow schemata 3 mio workflow instances

  • Co-Evolution of Workflows through Wiki-based Workflow Engine

    Wiki Text

    Enterprise Wiki Text and structured data

    Wiki-based workflow engine Text, structured data, and behaviour