open source software open source software in …...open source software in research and/or open...
Embed Size (px)
TRANSCRIPT

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 [email protected] 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
StagingWorking copy deployed on staging
Staging
Developlocal branches
Production
LiveWorking copy deployed on live-testing
Live
LiveWorking copy deployed on live (learn-d, ex-production)
Githubgithub/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 branchWorking copy
Testing
$ git cherry-pick
$ git cherry-pick

Multi-Layered Co-Development of Information systems
Tech
nica
l dom
ain
expe
rts
Busi
ness
dom
ain
expe
rts
Prog
ram
sEx
ecut
able
spe
cific
atio
ns
Cont
ent,
data
Tech
nica
l dom
ain
expe
rts
Busi
ness
dom
ain
expe
rts
Prog
ram
s
Sche
mat
aCo
nten
t, da
ta
Informationalartifacts
Informationalartifacts
Executableartifacts
Executableartifacts
Sche
mat
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
Business
Information layer
Con�guration layer
Content schema layer
Technical
Work⇢ow schema layer
Application layer
Infrastructure layer
Multilayered co-developedinformation system
Outerbusinessenvironment
Sociallayer
Organizationallayer
Business processlayer
Applicationlayer
Communications anddata management layer
Outertechnicalenvironment
Operating systemlayer
Equipmentlayer
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