One of the key features in ubiquitous computing is service continuity which allows a user to transparently continue a task regardless of movement across multiple heterogeneous places. As different places have different services, the user cannot use the same service during his movement across the multiple places. In this situation, alternative services can help the user continue doing the task. The possible alternative services are not limited to the services with exactly the same interfaces and semantically compatible services also can provide the functionality what the user wants, although they don't have same interfaces to the original service. For utilizing semantically compatible services, the user should adapt to new user interface of the alternative service. For resolving this adaptation burden on the user, the developer can provide predefined adaptation component called adapter. It hides the adaptation procedure from the user by automatically converting the exchanging messages between the user and service. Adapter is specialized to one pair of interfaces, so the overhead of adapter generation becomes one of serious problems in the adapter-based approach. There have been many research efforts regarding adapter generation load reduction like semi-automatic adapter generation and adapter chain construction scheme. Semi-automatic adapter generation scheme has limitations on load reduction, because it requires developer's input to resolve interface differences between the original service and alternative one. As an alternative approach, the system can compose multiple adapters into one adapter for unspecified adaptation procedure. Maybe, there exist multiple adapter chains and one of them is selected and used for adaptation provisioning. However, there is no quality optimization effort to select or construct optimal adapter chain, so, previous work may not provide optimal adapter chain to user. This thesis focuses on the quality evaluation problem, which should be considered during adapter chaining procedure for creating optimal adapter chain. We propose a real-time adaptation loss evaluation model and a Uniform Cost Search-based adapter chain construction algorithm, which creates an adapter chain with minimal adaptation loss and adapter chain length. Finally, we propose a systematic adapter development help to developer by analyzing existing adapter and adapter chains so that developer can easily add new adapter.
유비쿼터스 환경에서는 사용자의 이동성과 다양한 장소들 사이의 이질성이 중요한 이슈들이다. 각각의 장쇼에 존재하는 서비스들은 각양각색의 특징을 갖고 있다. 따라서, 여러 이질적인 공간을 이동하는 사용자의 동일 서비스를 이용한 작업을 지속할 수가 없으며, 이에 따라, 새로운 대체 서비스를 찾아 그 작업을 계속 하기 위한 방법이 고안되었다. 적절한 대체 서비스를 찾기 위해서는 단순히 기존의 서비스와 새로운 서비스가 인터페이스 상으로 동일한 것에서 그치는 것이 아니라 유미적 유사성을 평가하여 사용자의 목적에 가장 적합한 서비스를 찾을 수 있어야 한다. 이러한 과정에서, 인터페이스가 동일하지 않은 서비스가 대체 서비스로서 더 적합하다고 판단될 수 있는데, 이 경우에는 사용자가 대체 서비스의 새로운 인터페이스를 사용하기 위한 지식을 가지고, 그에 적합한 형태로 상호작용 방식을 사용자 스스로 변경해야 한다. 어댑터는 상호작용 방식의 변경을 제공해 주는 소프트웨어 컴포넌트로, 사용자 자신이 행해야 할 과정들을 자동으로 제공해 줌으로써, 사용자에게 상호작용 방식의 변경을 투명하게 제공한다. 이러한 어댑터는 서비스 개발자에게 의해서 제공되는데, 한 쌍의 인터페이스 사이의 상호작용을 위해서 제공되므로, N개의 인터페이스들 사이의 끊김없는 상호작용을 제공하기 위해서는, 2N(N-1) 개의 어댑터가 제공되어야만 한다. 이러한 어댑터 개발의 부담은 서비스의 수가 증가할수록 커지며, 서비스 개발의 부담보다 어댑터 개발의 부담이 더 커질 수 있게 되었다. 이에 따라, 이러한 어댑터 개발의 부담을 줄이기 위하여, 어댑터의 반자동 생성이나 어댑터 체인 기법이 고안되게 되었다. 어댑터의 반자동 생성 기법은 어댑터 생성 과정에서 필요한 개발자의 개입을 최소화하였으나, 필요한 어댑터의 개수는 동일하므로 다수의 서비스들에 대해 살펴보고 이를 위한 어댑터들을 생성하는 부담은 여전히 동일하게 존재하였다. 기존의 어댑터들을 조합하여 새로운 적응 기능을 제공할 수 있는 어댑터 체인 기법은 이러한 부담을 줄여줄 수 있으나, 어댑터들의 조합에 대한 기능적, 성능적 평가를 기반으로 한 보다 나은 어댑터 조합을 제공하는 방법에 대한 고려가 부족하였다. 본 논문에서는 이러한 어댑터 조합을 제공하는 데에 있어, 기능적, 성능적 손실을 고려하여, 최적의 어댑터 체인을 생성하는 기법을 제안한다. 제안한 기법은 기존의 어댑터 체인 기법에서 고려하지 못했던 단일 인터페이스 내의 메소드 의존성을 고려하여 기능적인 손실을 측정하고 사용자의 요구를 새로운 인터페이스에서 사용 가능한 형태로 변환하기 위해 소모되는 성능적 손실을 고려하여 어댑터 체인을 실시간으로 평가하고, 이를 바탕으로 최상의 어댑터 체인을 생성하는 어댑터 체인 생성 알고리즘을 제안하였다. 또한, 이러한 체인 평가 기법과 생성 알고리즘을 기반으로 하여, 현재까지 생성되어 있는 어댑터 및 어댑터 체인들을 분석하고, 개발자에게 어댑터 개발 과정을 제공하는 어댑터 개발 알고리즘을 제안하였다.