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; performing an analysis of the functional description of the new network service by an expert system learning algorithm trained using prior customer service creation requests, the expert system learning algorithm using the plurality of resource models; based on the analysis of the functional description of the new network service, suggesting to the customer one or more of the virtualized network function resources for use in composing the new network service; providing assistance to the customer in making an arrangement of icons, the arrangement of icons defining a proposed service composition, the arrangement of icons including representations of a subset of the virtualized network function resources, and further including representations of interconnections among the virtualized network function resources, the assistance being provided using the expert system learning algorithm; receiving from the customer, via a graphical user interface, the arrangement of icons; 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.