Active Expressions (AE) is a language-based model for the instantiation of type-safe concurrent applications. Using facilities included in modern object-oriented languages, AE allows the definition of communication and synchronization patterns that, when combined with user provided functionality through well defined interfaces, instantiate complete concurrent applications. The approach has several unique characteristics: First, it shows that common patterns of concurrency can be expressed using language provided facilities. Second, such a model can be implemented without requiring any complex user-interfaces, preprocessing stages or language extensions. Third, the pattern-based approach to building concurrent applications has the potential to reduce the complexity of developing concurrent applications. The model has been implemented using C++/Unix on shared-memory as well as distributed memory based platforms.