Distributed collaboration over the Internet has become increasingly common in recent years, supported by various technologies such as virtual workspace systems. Often such collabo...
– Building large software systems out of existing software components can save time and cost. These software components range from architectural and design components to binary c...