Open source software development and very large scale software engineering
Download
1 / 19

Open Source Software Development and Very Large-Scale Software Engineering - PowerPoint PPT Presentation


  • 160 Views
  • Uploaded on

Open Source Software Development and Very Large-Scale Software Engineering. Walt Scacchi Institute for Software Research University of California, Irvine Irvine, CA, 92697-3425 USA 19 July 2005 www.isr.uci.edu/research-open-source.html. Overview. OSS Development Models

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Open Source Software Development and Very Large-Scale Software Engineering' - adrienne-finley


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Open source software development and very large scale software engineering

Open Source Software Development and Very Large-Scale Software Engineering

Walt Scacchi

Institute for Software ResearchUniversity of California, IrvineIrvine, CA, 92697-3425 USA

19 July 2005

www.isr.uci.edu/research-open-source.html


Overview
Overview Software Engineering

  • OSS Development Models

  • Service-Oriented Middleware Architectures

  • Information Assurance and Security in OSS

  • OSSD supporting DoD/Federal Agencies

  • Government and Industry Adoption of OSSD

  • Very Large-Scale Software Engineering

  • VLSSE Processes

  • OSSD/SE Processes Accommodating New H/W


Oss development models
OSS Development Models Software Engineering

  • Free Software (GPL)

  • Open Source (BSD/MIT, Mozilla, Apache)

  • Corporate Source (Hewlett-Packard)

  • Consortium/Alliance (OSDL, SugarCRM)

  • Corporate-Sponsored (IBM-Eclipse, Sun-Netbeans, Sun-OpenOffice, HP-Gelato)

  • Shared Source (Microsoft)

  • Community Source (Sakai, Westwood)

  • Open Systems (open APIs, closed components)


Critical ossd success factors
Critical OSSD Success Factors Software Engineering

  • OSS Developers are always users of what they build, while OSS users (>1%) are also OSS developers

  • Requires “critical mass” of contributors and OSS components connected through socio-technical interaction networks

  • OSSD projects emerge/evolve via bricolage

    • Unanticipated architectural compositions

    • Multi-project components and integrations

  • OSSD teams use 10-50 OSSD tools to support their development work


Critical ossd success factors1
Critical OSSD Success Factors Software Engineering

  • Operational code early and often--actively improved and continuously adapted

  • Post-facto software system requirements and design

    • OSSD is not Software Engineering

    • OSSD has its own “ilities” which differ from those for SE

  • Caution: the vast majority of OSSD projects fail to grow or to produce a beta release.


Service oriented middleware architectures
Service-Oriented Middleware Architectures Software Engineering

  • Exchangable data representations and definitional forms (HTML, SVG, ebXML, etc.)

  • Service component Application Program Interfaces (APIs)

  • Application Specific Protocols (Data exchange and process invocation)

  • Application domain processes (Business processes—logistics—expressed in WSDL)


Information assurance and security in oss
Information Assurance and Security in OSS Software Engineering

  • Closed versus Open Source—which is more secure?

    • Empirical question, not a technical or theoretical result

  • NSA has developed and certified Secure Linux (SELinux)

    • USNavy (SPAWAR) has been deploying SELinux in the Fleet

  • Darpa has invested in OpenBSD as its secure (plus encryption) operating system of choice


Ossd supporting dod federal agencies
OSSD supporting DoD/Federal Agencies Software Engineering

  • Dept. of Defense puts Open Source on a level playing field with proprietary software -DoD issues guidance for using OSS at DoD

  • MITRE Report - Use of Free and Open Source Software in the US Dept. of Defense - Report prepared by MITRE Corporation for Defense Information Systems Agency (DISA)

  • Developing An Open Source Option for NASA Software

    • Mission-Critical Development with Open Source—Lessons Learned (OSSD Case Study at JPL)

  • See www.egovos.org


Govt and industry adoption of ossd
Govt and Industry Adoption of OSSD Software Engineering

  • Large corporations/enterprises:

    • IBM-Eclipse, Sun-NetBeans and OpenOffice, HP-Gelato, Apple-Darwin, Microsoft Research-Rotor, etc.

    • Barclays Global Investors, DKW, Merrill Lynch, etc.

    • DoD, DoE, NSF, NIH, NASA, etc.

    • MIT, Stanford, CMU, UC, UMichigan, etc.

  • Mid-size corporations:

    • RedHat, Novell, Borland

  • Small (start-up) companies:

    • ActiveState (now part of Sophos), Collab.Net, Jabber, Ximian (now part of Novell), JBoss, Compiere, etc.


Very large scale software engineering
Very Large-Scale Software Engineering Software Engineering

  • Architectural specification (system, services (data, protocols, processes), team/organization.

  • Configuration management and version control

  • Process automation—builds, regression tests, etc.

  • Reliance on informalisms for development


Very large scale software engineering1
Very Large-Scale Software Engineering Software Engineering

  • Information density vs. knowledge coverage

  • VLSEE needs for ASB to consider:

    • Test-beds for full-size system mock-ups (probably built from OSS and Computer Game components)

    • Visualization aids—architecture, configuration, socio-technical networks

    • Empirical knowledge about existing VLSEE practices for both OSS and CSS

    • Computer-supported cooperative organizational learning environments (CSCOLE) supporting long-term organizational transformation.


Vlsse processes
VLSSE Processes Software Engineering

  • Configuration management and version control

  • Architectural specification and maintenance

  • Collaboration, leadership, control and conflict management

  • Community development and support

  • Software source code and artifact data mining


Ossd se processes accommodating new h w
OSSD/SE Processes Accommodating New H/W Software Engineering

  • New H/W being developed to support computer games and grid-based computing clusters using (massively scalable) cell/multi-core processors

    • Future Army training games should be capable of modeling, simulating, and dynamically reconfiguring “modular brigades” with high visual and operational realism in alternative engagement scenarios

  • Games and grids increasingly depend on OSSD methods and technologies

    • “Globus” grid middleware is OSS

    • Support for OSS game development capabilities now packaged with many successful computer games sold retail

    • DoD/Navy investing in development of Delta3D OSS game engine (www.delta3d.org)


Ossd se processes accommodating new h w1
OSSD/SE Processes Accommodating New H/W Software Engineering

  • Enable/subsidize the OSS Game and Grid Development communities to lead the way, and to contribute to sustaining the effort.

    • Example: Engage contractor to setup a “Corporate sponsored” OSS Game Grid project to develop and evolve a massively multi-player online game environment for “playing” real-time strategy games using modular brigades.


Recommendations for asb
Recommendations for ASB Software Engineering

  • Need to acquire knowledge about development processes, work practices, community dynamics, and system configuration management techniques employed in large-scale (500K-5M SLOC) and very large-scale (>5M SLOC) OSSD projects.

    • Focused, in-depth, and comparative case studies

    • Producing shareable, reusable, redeployable knowledge assets


Recommendations for asb1
Recommendations for ASB Software Engineering

  • Need to acquire knowledge of the (modular) architectures of the software systems, development teams, and user communities found in very large OSSD projects.

    • Architectures are socio-technical interaction networks.

    • Need knowledge for how to model, visualize, analyze, simulate, and enact OSSD project architectures, and their continuous evolution


Recommendations for asb2
Recommendations for ASB Software Engineering

  • Need to acquire knowledge for how best to adaptively configure modular force architectures for:

    • Software systems

    • Developer and User teams

    • Supporting contractors

    • Remote contributors (e.g., OSS community contributors)


Acknowledgements
Acknowledgements Software Engineering

  • Project collaborators:

    • Darren Atkinson, Santa Clara University

    • Mark Ackerman, University of Michigan, Ann Arbor

    • Les Gasser, University Illinois, Urbana-Champaign

    • John Noll, Santa Clara University

    • Chris Jensen and Margaret Elliott and others at UCI-ISR

  • Funding support (no endorsement implied):

    • National Science Foundation #0083075, #0205679, #0205724, and #0350754.


ad