Software Foundry Project - Fall 2002
Software Studio
Revised: 11/17/2011
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
Foundry Client Team
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
Server Developers
Jeff Ting (Team Leader), Girish Murthy, Eswara Balasu (1st Pic), Srinivas Shilagani (right-2nd Pic)
Foundry Tools Team
Tools Developers
Sivaraj Shanmuganathan, Tsung Shin Jei, Ozer Ozkaraoglu (Team Leader), Baohua Tao, Aykut Sahin
Prototyping Team
Prototype Developers
Jamshidur Rahman, Srinivasa Neerudu (Team Leader & Software Architect), Norman Leach
Test Team
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
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
Pizza then Conference before Test