오늘날 분산 소프트웨어 시스템은 통신 환경 및 H/W의 발전에 의해 더 복잡해지고 있으며, 이러한 소프트웨어 시스템은 개방성(Openness), 이질성(Heterogeneity), 이동성(Mobility)과 같은 요구사항들을 해결해야 한다. 이러한 환경에서는 기존의 정적인 소프트웨어 시스템과는 달리 분산 시스템을 구성하는 노드 및 구성요소들이 실행시간(Runtime)에 동적으로 상호작용(Interaction)하여 추가, 수정, 교체, 삭제 등의 기능을 수행할 수 있어야 한다. 이처럼 환경의 변화에 동적으로 대응하기 위한 적응성(Adaptability)을 확보하기 위한 방안으로는 기존의 컴포넌트(Component) 기반의 방법과 최근 주목을 받고 있는 역할(Role)기반의 방법이 있다. 특히 ROAD(Role-Oriented Adaptive Design) 연구에서는 소프트웨어 컴포넌트에서 역할과 행위자(player)의 개념을 분리하였고, 역할과 행위자를 동적으로 연결함으로써 적응성을 확보하려 하였다. 그러나 ROAD 모델은 역할과 행위자에 기능을 분배하는 측면에서, 행위자가 수행하는 프로세스(Process)를 행위자 내에 정의하였고 이러한 경우 행위자는 미리 자신이 정의하고 있는 역할만 수행 가능 하게 된다. 본 논문에서는 ROAD의 모델과는 달리 프로세스를 행위자가 아닌 역할 외부로 분리하여, 행위자가 수행해야 할 역할 및 프로세스를 실행시간(Runtime)에 동적으로 부여 할 수 있는 수정된 모델을 제안한다. 또한 제안하는 모델을 만족시키기 위해, 행위자가 수행하는 역할들을 관리할 수 있는 컨테이너 프레임워크(Container framework)의 아키텍처 및 구현 방안을 제안한다.