This paper describes a framework for {\em modeling},{\em classifying}, and {\em specializing}various object-oriented concurrent programming (OOCP)languages constructs and schemes.This framework, named {\em Actalk},is implemented and integrated withinthe Smalltalk-80 programming environment.The architecture of the framework is based on the notions of {\em components},{\em parameterization} and {\em inheritance}.The {\em kernel} of the architectureis decomposed into a set of kernel {\em component classes} andassociated {\em parameter methods}, to be redefined invarious subclasses.Various {\em extensions}, defined as {\em subclasses} of the kernel classes,simulate various OOCP languages and constructs.They implement various models of{\em activity} (serialized, concurrent,with implicit or explicit message acceptance\ldots),{\em communication} (synchronous, eager reply, time stamped\ldots),and {\em synchronization schemes}(guards, abstract states transitions, synchronization counters\ldots).At first, our framework helps in classifying and experimentingwith various synchronization andcommunication models for a given program,by changing and specializing various models/components.Secondly, it helps in reusing them and building-upon previous expertisein order to derivate enhanced or novel constructs or schemes.To illustrate the possibilities in this paper,we progressively develop various synchronization schemesby successive {\em refinements} and {\em combinations},starting from two foundational synchronization schemes(namely {\em enabled sets} and {\em guards}).