1. A method for composing a service in a communications network, comprising: defining a plurality of resource models, each resource model describing a behavior of a virtualized network function resource in the communications network; receiving a customer service creation request from a customer to create a new network service, the request including a functional description of the new network service; based on an expert system learning algorithm trained using prior customer service creation requests, suggesting to the customer one or more of the virtualized network function resources for use in composing the new network service; receiving from the customer, via a graphical user interface, an arrangement of icons representing a subset of the virtualized network function resources, the arrangement of icons including representations of interconnections among the virtualized network function resources; based on the arrangement of icons and on the behaviors of the subset of the virtualized network function resources, validating the arrangement of icons as representing a feasible service composition for deployment in the communications network; and deploying the service composition in the communications network for use by the customer.