Abstract:
An apparatus and method for testing a ubiquitous service or a ubiquitous device using a uniform object model are provided. Because a virtual ubiquitous environment is constructed with devices, services, users, layouts, and the like, physical construction of the ubiquitous environment to test services or devices is not needed. Therefore, the effectiveness of the ubiquitous device or service can be confirmed without requiring a ubiquitous environment to be physically constructed. Additionally, time or cost of constructing a ubiquitous environment can be reduced. Because a variety of environments can be easily constructed through the test of devices or services, the performances of the devices or services can also be improved.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit under 35 U.S.C. §119(a) of Korean Patent Application No. 2006-6000, filed Jan. 19, 2006, in the Korean Intellectual Property Office, the entire disclosure of which is hereby incorporated by reference. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The present invention relates to a method and apparatus for emulating and testing a ubiquitous service or a device used in a ubiquitous service using a uniform object model. More particularly, the present invention relates to a method and apparatus for a virtual test of ubiquitous service or a ubiquitous device, which uses a uniform object model of a device, service, user, layout and the like, and accordingly, which does not require actual construction of a physical ubiquitous environment. 
         [0004]    2. Description of the Related Art 
         [0005]    Ubiquitous networks currently available have computers acting as respective objects of everyday life to enable communications among the objects. This is usually called ‘ubiquitous computing’ and it means that users can log on to the network freely, that is, without having to know the location of the computers or the networks. Also, users can log on to the network without being limited by their location. 
         [0006]    A home network will be explained below as an example of ubiquitous service. A home network service connects electronic home appliances such as a refrigerator, a washing machine, or the like to a network, and controls the on and off switching of the connected devices via the Internet or a wireless communication network using a mobile phone. 
         [0007]    A home server, which controls the home network service, is connected with the home appliances such as a lighting device, a gas valve, a PDP television, a washing machine, an air conditioner, and a microwave oven, via networks such as an Ethernet, a wireless LAN, or a power line installed at home. 
         [0008]    Accordingly, the home server controls the network and devices such that the home appliances operate according to the user&#39;s control commands transmitted from outside the house via the Internet, or transmitted from a mobile terminal via a wireless communication network. Additionally, the home server may control the operation of home appliances according to a remote control signal wirelessly output from a home network remote controller placed somewhere in the house. 
         [0009]    In order to ensure that the home network service is provided efficiently, it is important to test and confirm that the home network and the status recognition service operate normally, once the home network is constructed by connecting digital electronic appliances with respect to the home server. The status recognition service may include any necessary or available service in the current state, based on the status information estimated from the information received from the digital electronic appliances or the sensor at home. 
         [0010]    However, the above system has a drawback in that it takes a long time and requires great expense to implement the physical home network environment due to the extensive construction. Even after the physical home network has been constructed, it takes additional time to perform tests on the respective devices or services. 
         [0011]    An additional drawback is that the currently available information about home network service such as research, standards, or patents, focuses on the structure and development of the service or a device, and it is difficult to find proposals regarding testing a ubiquitous environment-oriented device or service. 
         [0012]    Accordingly, there is a need for an improved apparatus and method for emulating and testing ubiquitous service or a ubiquitous device using a uniform object model. 
       SUMMARY OF THE INVENTION 
       [0013]    Exemplary embodiments of the present invention have been developed in order to address the above and other problems associated with the conventional arrangement and provide the objectives listed below. An aspect of the present invention is to provide a method and apparatus for testing ubiquitous service or a ubiquitous device, using a uniform object model of simulated devices, services, people, and layouts, and without requiring the physical construction of a ubiquitous environment. 
         [0014]    The foregoing and other objects and advantages are substantially realized by providing an exemplary apparatus for testing ubiquitous service or a ubiquitous device that comprises a profile manager for storing and managing profile information set by a user, a user interface for setting the profile information, and a device and a service to test and an engine emulator for generating uniform objects with respect to the device and the service based on the profile information, for emulating the uniform objects based on the unit of a time or an event, for perceiving a current status according to status changes in the uniform objects, and for displaying to the user interface when an abnormality occurs. 
         [0015]    The engine emulator may comprise a uniform object generator for generating a variety of uniform objects using a uniform object model and based on the profile information, a time- or event-based emulator for emulating the service and the operation of the device according to the uniform objects based on a time or event unit, an engine emulator for perceiving a current status based on status changes of the uniform objects by using ontology information, an abnormal status database for storing information about a plurality of situations defined as abnormal and an ontology information storage for providing the ontology information. 
         [0016]    The engine emulator may receive input data comprising a starting time and an ending time for testing the device and the service. 
         [0017]    According to another aspect of exemplary embodiments of the present invention, a method for testing ubiquitous service or device may comprise storing a plurality of types of profile information set by a user and information about a ubiquitous device and a service to test, generating uniform objects with respect to the device and the service based on the profile information, emulating the uniform objects to perceive a current status according to status changes in the uniform objects and displaying an abnormal status when the current status has abnormality. 
         [0018]    The plurality of types of profile information may comprise an environment profile, a place profile, a device profile, a service profile, an actor profile, and a trace profile. 
         [0019]    The generating of the uniform objects with respect to the device and the service based on the profile information may comprise generating a plurality of types of uniform objects using a uniform object model and based on the profile information. 
         [0020]    In the emulating of the uniform objects to perceive a current status according to status changes in the uniform objects, a current status based on information about status changes of the uniform objects may be perceived using ontology information. 
         [0021]    In the emulating of the uniform objects to perceive a current status according to status changes in the uniform objects, one cycle of operation may be performed at time intervals using a time event trigger. Alternatively, the next cycle of operation may be directly performed following the completion of the previous cycle of operation, without a help of the time event trigger. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0022]    These above and other objects, features, and advantages of certain exemplary embodiments of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings, in which: 
           [0023]      FIG. 1  is a block diagram of an apparatus for testing ubiquitous service or device using a uniform object model according to an exemplary embodiment of the present invention; 
           [0024]      FIG. 2  is a flowchart of method of testing ubiquitous service or device using a uniform object model according to an exemplary embodiment of the present invention; and 
           [0025]      FIG. 3  is a view showing a grid for use in setting of location profile according to an exemplary embodiment of the present invention. 
       
    
    
       [0026]    Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. 
       DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
       [0027]    The matters defined in the description such as a detailed construction and elements are provided to assist in a comprehensive understanding of the embodiments of the invention and are merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness. 
         [0028]      FIG. 1  is a block diagram of an apparatus for emulating and testing ubiquitous service or a ubiquitous device using a uniform object model according to a non-limiting exemplary embodiment of the present invention. 
         [0029]    According to a non-limiting exemplary embodiment of the present invention, an apparatus  100  for testing ubiquitous service or a ubiquitous device may include a profile manager  110 , an engine emulator  120 , a target device connector  130 , and a user interface  140 . 
         [0030]    The profile manager  110  may include an environment profile  101 , a place profile  102 , a device profile  103 , a service profile  104 , an actor profile  105 , a trace profile  106 , a profile reader  107 , a profile database  108 , and a profile loader  109 . 
         [0031]    The environment profile  101  may include natural information such as luminosity, temperature, or humidity of the environment which is detected by a sensor. 
         [0032]    The place profile  102  may include profiles about places such as, inter alia, a living room, a bedroom, a bathroom, a kitchen, a library and the like. For example, the place profile  102  may have profiles of, “Place: Hankuk Apartment 24”, “Latitude:  24 . 4 ”, “Longitude: 21”, “Direction: 315”, “Floor name: First floor”, “X size: 10”, “Y size: 10”, “Z size: 2”, “Grid size: 0.1”, “Room name: Bedroom”, “Room X start: 0”, “Room Y start: 0”, “Room X size: 15”, “Room Y size: 20”, and so on.  FIG. 3  shows a grid which is 10 m in length and 10 m in width. Based on the grid as shown in  FIG. 3  and with a grid size of 0.1 m, a bedroom in a non-limiting example occupies an area which is 2 m in length and 1.5 m in width. Each location of the house is specified by the coordinates, starting from an origin (0, 0). 
         [0033]    The device profile  103  may include profiles about devices of the house such as, inter alia, a refrigerator, a washing machine, a gas valve, lighting devices, a PDP television, an electric cooker, an air conditioner, a microwave oven and the like. The profile of the refrigerator, for example, may include “Maker: Samsung Electronics Co., Ltd.”, “Model: SRS739LMS”, “Direction: 90”, “Interface: PLC”, “Interface: WLAN”. 
         [0034]    The service profile  104  may include profiles such as “Service name: Basic light control”, “Condition: User location?”, “Status: Location: Brightness?”, “Status: Brightness=Dark”, “Action: Location: Lights”, “Action: Lights: Switch on”, and the like. 
         [0035]    The actor profile  105  may include profiles about people, for example, grandfather, grandmother, father, mother, sisters, brothers, aunts, uncles, or names set by the user. For example, the actor profile  105  may include profiles such as “Name: Father”, “Age: 55”, “Height: 167”, “Weight: 72”, “Hobby: Sports, Fishing, Movies”, “Schedule”. 
         [0036]    The trace profile  106  may include information about which actor uses which device in which place under which environment, and also include profiles about date, time, and frequency of the use. For example, the profiles about TV viewing, water drinking, hand washing, telephone call receiving, door opening and the like, in a form such as “TV watching: Start 21:00 End 21:45”, may be included. 
         [0037]    The profile reader  107  may read out the environment profile  101 , place profile  102 , device profile  103 , service profile  104 , actor profile  105 , and trace profile  106  which correspond to the service conditions set by the user through the user interface  140 . 
         [0038]    The profile database  108  may store the profile information which is read by the profile reader  107  according to the service condition. 
         [0039]    The profile loader  109  may load the engine emulator  120  with profiles corresponding to the service conditions set by the user. 
         [0040]    Meanwhile, the engine emulator  120  may include a uniform object creator  121 , a uniform object container  122 , a time/event-based emulator  123 , an analytical engine  124 , an abnormal condition database  125 , and ontology information storage  126 . 
         [0041]    The uniform object creator  121  may create a variety of uniform objects such as devices and people, using a uniform object model such as a Super Distributed Object (SDO) and based on the profile information received from the profile loader  109 . 
         [0042]    The uniform object container  122  may manage the uniform objects created by the uniform object creator  121 . 
         [0043]    The time/event-based emulator  123  may emulate the services of the uniform objects according to a certain unit of time, or according to an event generated by the uniform objects. 
         [0044]    The analytical engine  124  may determine a current status based on the status change information of the objects, using the ontology. Using the information defined in the ontology, the analytical engine  124  may indicate the events constituting an emergency or abnormality in the form of rules. The ontology, or the abnormal status information, may contain different configurations, products and positions. 
         [0045]    The abnormal status database  125  may store data about a plurality of statuses which can be defined as abnormal situations in the home network service. 
         [0046]    The ontology information in storage  126  may be configured to construct a condition tree regarding the inter-operation between an actor and a device, and the status of the device according to the location of the actor, and to provide the analytical engine  124  with ontology information. 
         [0047]    The ontology is an operational model that represents subjects in a domain, and relations between them. In artificial intelligence, the ontology is defined as a conceptualization specification that provides assistance in knowledge sharing between programs and human beings. In other words, the ontology can be an aggregation of objects, events and relations which are defined in a natural language to make agreed terminologies for information sharing. 
         [0048]    The target device connector  130  may include an access protocol/media adapter  132 , and an application protocol adapter  134 . 
         [0049]    The access protocol/media adapter  132  may include a UPNP bridge, and a PLC bridge, among other things. As these are generally known, these will not be explained below for the sake of brevity. 
         [0050]    The application protocol adapter  134  may include LAN, Zigbee, 1394, WLAN, and UWB, among other things. Again, these will not be explained below for the sake of brevity. 
         [0051]    For testing of the home network services, the user interface  140  may provide a graphic user interface so that users can input data to set a plurality of profiles, or select the service to test. Additionally, the user interface  140  may display a test status of home network services, or abnormalities detected according to the results of test. 
         [0052]      FIG. 2  is a flowchart illustrating a method of testing ubiquitous service or a ubiquitous device using a uniform object model according to a non-limiting exemplary embodiment of the present invention. 
         [0053]    The testing apparatus according to a non-limiting aspect of the present invention is particularly useful when a manufacturer produces new devices, because it is easy to test whether the new devices can operate within the ubiquitous network well without causing any problems with the neighboring devices in various situations. The test method according to a non-limiting aspect of the present invention is also useful in testing whether the status recognition service of the home server operates normally in the process of providing home network services around the house. 
         [0054]    The user may input and set profile information via the user interface  140 . Of course, the profile information may be input from a device vendor, automatically, locally or by any appropriate method. 
         [0055]    The user may additionally input data such as abnormal status data, device to test data, service data, starting time and ending time, among other things. 
         [0056]    For example, in order to test a TV, a refrigerator, an air cleaner, a washing machine, a video player, and an audio player in an A-type apartment which is approximately 76 m2 in size, with an address of Joogong Apartment 1-danji, Youngtong-gu, Suwon city, Seoul, Korea, where a family of four members (two adults and two children) live, the user first sets “Youngtong 1-danji Joogong A-type Apartment 76 m2” in the place profile. 
         [0057]    The user then selects and sets “Samsung TV, Samsung refrigerator, Samsung video player, Samsung washing machine, Samsung audio player”, etc. in the device profile. The data for each device profile may vary from three to four patterns, depending on the type, location and direction of the model. As for the actor profile, “female adult”, “male adult”, “toddler” and “baby” are set. The service for test is set to “to draw a curtain and turn on the lights when it gets dark”. The environment profile, starting time, and ending time of the test are also input. 
         [0058]    Accordingly, the profile data are input through the user interface and stored in the profile manager  110  in operation S 202 . 
         [0059]    The engine emulator  120  determines whether the communication interface and application protocol of a device for test are set or not in operation S 204 . The engine emulator  120  checks if set values for the communication interface and the application protocol are input through the user interface  140 . 
         [0060]    When there are key inputs with respect to the setting of the communication interface and the application protocol, the engine emulator  120  determines whether or not the object to test is set through the user interface  140  in operation S 206 . In other words, it is determined whether there is any device or service set to be tested. 
         [0061]    When the device or service to test is set, the engine emulator  120  transmits the characteristics of the target device, that is, the communication interface and the application protocol as input through the user interface  140 , to the target device connector  130  in operation S 208 . 
         [0062]    Accordingly, the target device connector  130  activates the access protocol/media adapter  132  and the application protocol adapter  134  according to the communication interface and the application protocol set by the user. 
         [0063]    The profile manager  110  reads out profile data set by the user, and stores the read data in the profile database  108 . The profile loader  109  then loads the profile data of the device for test from the profile database  108  to the engine emulator  120 . 
         [0064]    The engine emulator  120  generates a uniform object through the uniform object generator  121  based on the profile data of the device in operation S 210 . 
         [0065]    The engine emulator  120  also constructs a layout of the place based on the place profile  102 , and arranges locations of the devices and communication relations between them based on the device profile  103 . The engine emulator  120  also determines an initial location based on the actor profile  105 . The engine emulator  120  generates a device uniform object with reference to the device profile  103 , generates an actor uniform object based on the actor profile  105 , and generates an environment uniform object based on the environment profile  101 . 
         [0066]    The engine emulator  120  then checks the starting time, activates the respective objects according to the time unit or according to the event of the uniform objects, to determine whether there are any status changes in the output results based on the inputs to the devices in operation S 212 . 
         [0067]    The engine emulator  120  perceives the current status based on the ontology via the analytical engine  124 , and performs the service as a test to determine whether or not the current status falls to the abnormal situation in operation S 214 . 
         [0068]    For example, the abnormal status database  125  may store “Warning! Baby is close to the moving object” as abnormal status data. When the current status perceived through the analytical engine  124  corresponds to the abnormal status data stored in the abnormal database  125  in operation S 216 , the engine emulator  120  indicates abnormal status through the user interface  140  in operation S 218 . 
         [0069]    In an example of using time-based emulation, time may be extended and the chosen object may be re-activated when the test finishes before the ending time. The engine emulator  120  may perform one cycle of operation at regular time intervals using a time event trigger, or without using the time event trigger, extend the time and perform the next cycle of operation when the operation is performed. The engine emulator  120  broadcasts abnormal status to the devices. In an example of event-based emulation, one cycle of operation is performed upon occurrence of the event in the uniform object. The emulator may be stopped by the direct input of the user. 
         [0070]    As a result, the user is enabled to visually check the abnormal status via the graphic user interface. 
         [0071]    As explained above, the effectiveness of a device or service can be checked without requiring physical construction of a ubiquitous environment. Additionally, time and cost for establishing a ubiquitous environment can be reduced. Because a variety of environments can be easily established through the device or service test, performance of the device or service improves. 
         [0072]    While the present invention has been particularly shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.