1. A method of providing a distributed service composition model for service composition in an ad hoc network comprising a plurality of mobile networks, the method comprising: confirming whether an adjacent mobile node exists within a number of hops from a task initiator node so as to execute a task; establishing a flow for executing the task with regard to the adjacent mobile node if it is confirmed that the adjacent mobile node exists; and executing the task using a routing algorithm in accordance with the flow, wherein at least one service necessary to execute the task and an execution order between services are determined based on cooperation between adjacent mobile nodes, and wherein the routing algorithm comprises: the adjacent mobile node receiving a flow request packet broadcasted by the task initiator node; a single mobile node of the adjacent mobile nodes determining whether at least one service allocated to the single mobile node exists in the flow request packet, wherein the at least one service is a part of a rule necessary to execute the task; the single mobile node executing the at least one service if the single mobile node determines that the at least one service allocated to the single mobile node exists in the flow request packet; and the single mobile node returning a result of executing the at least one service to the task initiator node, wherein the routing algorithm comprises a flow discovery process for discovering the flow determining at least one service necessary to execute the task and the execution order between services and a fault recovery process for recovering from faults occurring while the task is executed, wherein the flow discovery process is executed based on a directed acyclic graph which starts from a flow start node for receiving an input of service data necessary to execute the task, leads through a flow key node for receiving an input of the service data from at least two mobile nodes, and ends at a flow end node for creating an output suitable for an output pattern of the task, wherein the flow discovery process comprises: broadcasting a flow request packet to the task initiator node and the adjacent mobile nodes by the task initiator node if the task initiator node is a k th mobile node id k ; extracting an element, <id k , S t <ID t , I t , O t , C t >>, from the flow request packet by a (k+1) th mobile node id k +1 which received the flow request packet; discovering and executing a service S t +1 based on the element extracted by the mobile node id k +1, the service S t +1 being composed of a service S t and allocated to the mobile node id k +1; and ignoring the flow request packet if one of the service S t +1 and the service S t does not exist, wherein the ID t refers to a unique identifier (ID) of the service S t , the I t refers to an input pattern of the service S t , the O t , refers to an output pattern of the service S t , and the C t refers to cost necessary to execute the service S t , wherein the flow request packet comprises a path record for recording a path between mobile nodes, information regarding the task, an ID of the task, input and output patterns of the mobile nodes, and information regarding task initiation time, and wherein the method further comprises: adding a (k+1) th element <id k +1, S t +1<ID t +1, I t +1, O t +1, C t +1>>to the path record existing in the flow request packet, if the services S t and S t +1 are completely composed; and receiving a different flow reqsuest packet after a period of time by the node id k +1, if the services S t and S t +1 are partially composed, so that a last service existing on the path record is completely composed together with the service S t +1.