Ever since ubiquitous computing was articulated by Mark Weiser in 1988, many researchers have attempted to realize the potential of a variety of ubiquitous services. In the present study we surveyed existing research and found that many current ubiquitous services can be provided by employing cooperation among smart objects. Indeed, a few researchers have realized such characteristic of ubiquitous services, and have subsequently introduced community computing as a framework for cooperation among agents in a ubiquitous environment. Nonetheless, a number of unanswered questions remain. First and foremost, no well-defined abstraction model for intuitive design of a community computing system has yet to be developed. In order to implement such a community computing system, a developmental process for such a system needs to be specified.
In this thesis, we redefine the concept of community computing as a new paradigm in which ubiquitous services are provided through cooperation among existing smart objects. To help promote understanding of community computing, we introduce concepts and terminologies of community computing and propose an abstraction model for design of a community computing system. In this model, we represent computing systems through a ‘community’ metaphor, where ‘community’ represents an organization of cooperative objects for achieving a specified goal.
It is difficult to propose a single and general community computing model that is adequate for all community computing systems. Therefore, in this paper, we distinguish between the levels of community computing models according to characteristics of problems encountered in the everyday community computing model. In this model, a community has a defined set of goals and necessary roles, but no cooperation model. In the next step, we consider a more intelligent community in which each member performs their own tasks according to a cooperation model. As a cooperation model for community computing, we propose a community situation based cooperation model and distinguish between the various levels of this model. As the most limited version, we define the static community situation based cooperation model whereby there exists a certainty of community situations and cooperative behaviors of members are assumed. Finally, we propose a static community situation based computing model that employs the static community situation based cooperation model.
In addition, we present a development process based upon the MDA approach for fast and convenient implementation of a community computing system. Following the development steps of MDA, we propose the basis for high-level models, namely, CCM (Community Computing Model), and more detailed models such as CIM-PI (Platform Independent Community computing Implementation Model) and CIM-PS (Platform Specific Community computing Implementation Model). Through model transformation from CCM to CIM-PS, a community computing system is systematically implemented.
Finally, in order to verify our community computing models, we developed a few scenarios and small community computing systems. Through the simulated results of two community computing systems, we examined the possibility of community computing as a new computing paradigm.