1 / 6

Software Development at Academia, Government Labs, Industry

Software Development at Academia, Government Labs, Industry. John Barker Agenda/Questions: How can the three share development? Possibly cooperation like designer chemistry software? What are the technical challenges? What is the software we are talking about anyways? Who are the customers?

talib
Download Presentation

Software Development at Academia, Government Labs, Industry

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Development atAcademia, Government Labs, Industry John Barker Agenda/Questions: • How can the three share development? • Possibly cooperation like designer chemistry software? • What are the technical challenges? • What is the software we are talking about anyways? • Who are the customers? • Academia: students, who learn programming and science/engineering.+ new physical effects, push the science envelope- typically no tool development, small building blocks, fast and dirty • Government / Government Funded Industry: Government+ software performs the required tasks- typically no realistic commercialization plan • Industry: Industry, Government, Students=> old style: piecemeal university software together=> new style: build-up new software where there is a commercial market+ stable, functional, documented, maintained, supported- no software / science / engineering research

  2. 20/50/ 2 Software Engineering Object-Oriented Principles Documentation Tool Resonance Finder Physics Phonons Ionized Dopants Charging Formalism Green Function Theory & Boundary Cond. Material Param. Database Novel Grid Gen. Alloy Disorder Band- structure Interface Roughness Graphical User Interface Hybrid C, FORTRAN FORTRAN90 Library of Examples Batch Run Interface A Simulation Tool’s Facets: Physics, Formalism/Technology, and Marketing • Can one use the strengths of the three software developers academia / government / industry? • Academia: need to get serious about interacting with government / industry on REAL development • Don’t re-invent the wheel every time, colaborate on existing packages • Government/Industry: expect real deliverables from academia not just formulas on paper. Transport/ Engineering Quantum Mechanics / Physics MarketingModel Devices Paying Customers Care About

  3. GUI C F90 F F F90 Software Structure : Hybrid C, FORTRAN, and FORTRAN 90 Motif • Advantages of C: • flexible data design, fast prototyping. • simple hook-up of the graphical user interface. • close to the UNIX system level for job scheduling. • Advantages of FORTRAN • speed for floating point arithmetic. • 4x speed-up for the same algorithm comparing C and F77 on HP. • Advantages FORTRAN90 = FORTRAN + ... • standardized vector and matrix arithmetic. • data structures. • simple parallelization.

  4. Revision Control Systems (RCS, CVS) • Several people - one piece of code ? • Break up the source code into (many) files. • Use a central library system. • All developers can look at the latest versions. • The files cannot be changed. • Must check out and lock a file before editing. • FORGET about PRIVATE CODE VERSIONS!!! User gekco: locks and edits file.c r1.3 he creates the new r1.4 Library of all files and all revisions ci file.c Emacs facilitates the check-out & check-in file.c r1.4 file.c r1.3 r1.2 r1.1 file.c r1.4 file.c r1.3 r1.2 r1.1 file.c r1.4 file.c r1.3 r1.2 r1.1 co -l file.c Users lake, blanks, etc.: can look at the latest public revision of file.c (r1.3) co file.c

  5. Generic Data Structure I/O • Dynamic GUI Design. • data structure • member descriptor • -> I/O for GUI or files Create Read Data Structure PotType potential real hbarovertau Boolean Ec RangeStruct NonEq Graphical User Interface Translator File/Batch User Interface Read potential=Hartree hbarovertau=0.0066 Ec=FALSE < start=45, end=69 > Create Software Engineer Theorist

  6. Novel Interactive Documentation Tool • Pseudocode is a step by step description of a program in a natural language (high level and low level) • Maintain pseudocode and code in onedocument -> easy to keep it up-to-date • Generated automatically from comments in the code • Cross references to • theory description • further pseudocode • the actual code

More Related