Software Foundry Project - Fall 2002

Software Studio

Revised: 11/17/2011
Home  Courses  SWTrack  Code  Handouts  StudCult  CoreTech  Books  Articles  Math  Research  TechnicalLinks  Student Projects  CASE Projects  Project Topics  SWDev  WebDev  News  OtherLinks  SiteDesign  Graduates  AllPages  Office Hours  Seminars  Notices  Summer Projects  Technical Links 

CSE382-AADS  CSE681-SWMAA  CSE686-IP  CSE687-OOD  CSE775-DO  CSE776-DP  CSE778-AWP  CSE784-SWS 

Project Topics Master's Projects Master's Theses Research References Cloner Software Foundry

image file not found image file not found image file not found
CSE784 - Foundry Project

Software Foundry Goals

The goal of the Foundry system is to provide a place to build, store, and dispense trusted components. A component is a module, program, or system that links to other components and files. A trusted component is one that has been tested, documented, and used sufficiently that the developing organization is willing to use it without further test or documentation.

We define components, and build tools to manage them, in order to manage the complexity of software. One of the defining characteristics of software is its interconnectedness. Even relatively modest commercial systems may contain thousands of modules and scores of executables. Most of those thousands of modules depend on other modules. They can not be treated as autonomous elements of the product. This interconnectedness is one of the principle features that make the management of software and software development so difficult.

In the Foundry, each component represents a collection of related things. A module is a collection of files that represent the source code, test code, and documentation for a relatively small cohesive body of functionality. A module, however, may also refer to other modules, and, in the perspective of the Foundry the lower level modules it refers to are part of the higher level module. Similarly a program is a collection of modules and documentation files; and a system is a collection of programs and documentation files.

The power of the Foundry lies in the fact that each of these components is managed by name. If we extract a program we get all the files that make up that program, without citing them individually. If we request a build of a module as a library we get a compiled library (DLL) of the source code AND of the source code of any module that it may depend on – all by citing only the module name in the request to build.

Foundry Screen Shots: Client, Server and One of the Tools

image file not found

image file not found

image file not found


Foundry Client Team

image file not found
Client Developers
Alvaro Ramirez, Yi-Yang Huang (Team Leader), Goldie Fernandes (Test Team Mgr),
Cheng-We Yang (Client Test), Kuo-Chun Chin, Mahesh Manglani, Vineet Sharma (not in Picture)

Foundry Server Team

image file not foundimage file not found
Server Developers
Jeff Ting (Team Leader), Girish Murthy, Eswara Balasu (1st Pic), Srinivas Shilagani (right-2nd Pic)

Foundry Tools Team

image file not found
Tools Developers
Sivaraj Shanmuganathan, Tsung Shin Jei, Ozer Ozkaraoglu (Team Leader), Baohua Tao, Aykut Sahin

Prototyping Team

image file not found
Prototype Developers
Jamshidur Rahman, Srinivasa Neerudu (Team Leader & Software Architect), Norman Leach

Test Team

image file not foundimage file not found
Test Developers
Cheng-We Yang (back to camera - also at top of this page on right), Huseyin Tekin,
Goldie Fernandes (back to camera - Team Leader), Apoorva Joshi (2nd-Pic)

Foundry Management

image file not found
Team Leads, SW Architect, Proj Mgr
Back Row: Ozer Ozkaraoglu (Tools), Jeff Ting (Server), Goldie Fernandes (Test),
Yi-Yang Huang (Client), Srinivasa Neerudu (Software Architect)
Front Row: Alexey Zaitsev (Project Manager)

Getting Ready

image file not foundimage file not found
Pizza then Conference before Test