Other Peoples Software - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Other Peoples Software

Description:

When adopting a standard, what is difference between choosing commercial and free software? ... even popular free software can lose support (Xview) commercial ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 35
Provided by: paulme
Category:
Tags: free | peoples | software

less

Transcript and Presenter's Notes

Title: Other Peoples Software


1
Other Peoples Software
  • Group E
  • Interfaces to Scientific Data Archives
  • Workshop

2
Background Comments
  • Small workshops are great for exchanging ideas
    but not for gathering large samples of data on
    specific packages
  • Therefore we had difficulty identifying strengths
    and shortcomings of existing software in areas
    such as data exchange
  • need follow-up study?
  • see question E-7, for example

3
What software technologies have resulted in
effective user interfaces?
  • Html a real success
  • object-oriented technologies
  • scripting languages
  • widgets
  • a good example of reusable code
  • All of above very broad-based
  • used in entire computing industry
  • millions use them
  • All also very structured

4
What software technologies have resulted in
effective user interfaces?
  • The 2 models in The Cathedral and the Bazaar by
    Eric Raymond have both been successful and are
    represented in list above
  • bazaar Linux, X, Gnu
  • cathedral PowerPoint

5
What software technologies have NOT resulted in
effective user interfaces?
  • We punted on this one
  • see slide on background comments

6
What software standards have been used in case
studies?
7
What software standards have been used for viz?
  • Xlib graphics in XtalView
  • great portability across Unix machines, lowest
    common denominator
  • obnoxious to maintain and develop but successful
    (users like resulting interface)
  • obsolescent, now using OpenGL for graphics
  • Xview for GUI
  • porting to 64-bit system was difficult

8
What software standards/packages have been used
for viz?
  • TCL-tk used in SkyCat (LIGO will probably use as
    its standard)
  • interpreted language, similar to LISP
  • rapid prototyping
  • freely available source for Unix systems
  • compiled code available for Suns, SGIs, Windows,
    and Macs
  • used in Quanta
  • a widely used chemistry package prod. by MSI Inc
  • can use the OpenGL API

9
What software standards/packages have been used
for viz?
  • LIGO (as did other projects) considered AVS but
    licensing, difficulty of use led to its
    abandonment
  • Postscript
  • not viz as such but can be used to display
  • can be used as an exchange format

10
What software standards/packages have been used
for viz?
  • XVT, a comml product (GUI builder)
  • portable across Unix, Macs, Windows
  • will Java replace it?
  • Web-enabled XVT under development

11
What platforms do users want supported for viz
nowadays?
  • Windows NT
  • Linux
  • vendor Unix workstations still major segment
  • as opposed to Linux
  • Use of web browsers reduces support issues
  • but client code may still be platform dependent

12
What Data Exchange Formats Have Been Successful?
  • ASCII
  • PostScript/PDF
  • XDR
  • HDF, DIF, etc.
  • Gif, jpeg, mpeg,
  • sgml

13
What software standards/packages have been used
for DB?
  • Nucleic acid DB uses Sybase for relational part
    (but designed so could easily port)
  • metadata complicated but schema written in such a
    way that can transform
  • ESO has used Sybase since 1985
  • as have several others, for some years
  • SDSC has used Oracle, not too bad

14
What software standards/packages have been used
for DB?
  • Caltech seismo lab is going to try Oracle
  • had home-grown till now
  • A project started with Britton-Lee Database
    Machine, then ported to Sybase, now going to
    SQL-server (Microsoft, on NT)
  • Ecodata project at SDSC now using Oracle for
    metadata interfaced to SRB for HPSS for base data

15
Observations re use of DBMS
  • Use DBMS for the metadata, not for the data
    itself if records are very large
  • manage the data via pointers
  • Use DBMS if have
  • fixed data model
  • size of records not too large
  • have many records
  • The point is that metadata easier to move to a
    different DBMS than data itself

16
Observations re use of DBMS
  • Relational models provide transportability
  • object DBs do not yet have model that provides
    portability
  • European Southern Observatory designed interface
    between web and the DBMS to reduce dependence on
    DBMS

17
What software standards are emerging/disappearing
for viz, DB, etc.
18
JAVA or not?
  • When will it be portable everywhere?
  • There was a report of difficulty in porting to
    Macs, e.g.
  • Dependent on a vendors virtual machine
  • can cause incompatibility with other packages
  • Tower of Babel
  • HP introducing its own version,

19
JAVA or not?
  • Performance
  • Numerical behavior
  • NCSA (in HDF context) had difficulty in
    transferring data structures
  • Strong typing in Java a plus for portability

20
May (not should) mgt recommend or require that
clients install a particular software package?
  • Yes, if
  • free or inexpensive
  • very easy to install
  • runs on most platforms (OS and hardware)
  • long-term maintenance/development is feasible and
    planned
  • but 15 years is a long time, may not be able to
  • counter-example emacs

21
May (not should) mgt recommend or require that
clients install a particular software package?
  • Advantages
  • avoids having to re-implement many things
  • Xlibs, Java beans, e.g.
  • higher quality in some cases
  • parsing tools Perl, cgi scripts
  • numerical algorithms and their implementation
  • BLAS 1, 2, 3
  • Examples
  • MATLAB as required base
  • project-developed toolkit as add-on

22
May (not should) mgt recommend or require that
clients install a particular software package?
  • In graphics/GUI area, no clear examples
  • tend to be tied to underlying system (Motif,
    e.g.)
  • But Java will solve everything
  • just a joke

23
How protect against changes or disappearance of
software packages, future price gouging, etc.?
  • Pragmatic Cant, assume will have to transition
    periodically to other technologies
  • High-minded design overall system so that
    swapping subsytems is feasible
  • broker paradigm should help

24
When adopting a standard, what is difference
between choosing commercial and free software?
  • No marked difference
  • support can be as good for free software
  • in some cases can buy support for free software
  • longevity likewise
  • even popular free software can lose support
    (Xview)
  • commercial packages of course sometimes die
  • Caveat emptor

25
Compare protocols for storing and communicating
data
  • In terms of
  • portability
  • efficiency
  • transparency
  • openness
  • security
  • Sidestep issue by using brokers that enable
    separation of storage and transport issues from
    the application
  • but then need to choose appropriate broker taking
    5 issues above into account

26
Protocols for storing and communicating data
  • There are successful examples, most within a
    discipline
  • STAR (self-describing text archive)
  • for crystallography, subset called CIF
  • in PDS
  • ODL (object description language)
  • In astronomy
  • FITS (flexible image transport)
  • HDF
  • netCDF

27
What is the transition path from a small to a
large library?
  • See the Mythical Man Month
  • Plan to re-write the small system to effect the
    transition

28
Gradual learning path for using advanced software
technologies
  • Design system so that effort to learn is
    proportional to
  • complexity of task or
  • level of performance needed
  • Analogy using computers with complex
    architectures can ignore architecture if
    performance not an issue
  • Eventually will be able to hide complexity

29
How use products of DL Initiative for scientific
archives?
  • Need to know more about the products of the DLI
  • excuse our ignorance

30
What role is there for CORBA?
  • No opinion
  • But the broker function is clearly a key one
  • for separating applications from specific
    implementations
  • for separating data archives from data base
    systems, e.g.

31
When should software be acquired and when should
it be made?
  • Build your own
  • take care to use the right tools/toolkits
  • re-use if at all possible
  • using open source software will enable you to
    control your own destiny
  • C, C, Java, Perl, tcl-tk will be around

32
When should software be acquired and when should
it be made?
  • Acquire packages
  • pick software that will probably be around for a
    long time
  • use it in a way that provides escape hatch
  • be prepared to have to switch (get new product)
  • develop a migration plan from the beginning

33
Summary
  • As usual with software-related topics, there is
    no clear answer to most questions
  • It would be useful to get a larger sample of
    experience data than our small group contained
  • There are clear success stories in the use (and
    re-use) of free software and de facto standards
    as well as with commercial packages and formal
    standards

34
Summary
  • The use of brokers, of client-server models, of
    web browser interfaces will facilitate the use of
    other peoples software
  • Some of the most useful other peoples software
    is in the form of tools (compilers, scripting
    languages) and toolkits (libraries)
  • as opposed to complete packages
Write a Comment
User Comments (0)
About PowerShow.com