Handling the continuous changes dictated by the increasing demand is one of the greatest challenges Information Technology faces nowadays. Dealing with this problem is impossible without systems that support the efficient and reliable integration of new requirements.
When building complex applications in a particular field, similar problems are often encountered. Efficiency demands that the knowledge gained through the solution of a problem is systematically reused to solve similar problems. Without reuse, there is no way to build modern applications that satisfy the increasing needs.
In order to create and manage reusable domain-specific knowledge, it is necessary to identify the common and variable features of systems. Domain-specific modeling supports this approach, offering a clear, expressive and extensible representation that can be processed in automated ways. Models created via domain-specific languages are easily handled by domain experts, and support model transformation and code generation.
Services are integral parts of modern distributed systems. They appear not only at the end-user but also in the internal implementation of systems. A service usually depends on other services, which results in a dependency graph. Specially, this may meet the requirements of a tree graph, introducing the concept of service tree.
This thesis aims to elaborate a domain-specific language for the modeling of service trees. The abstract metamodel of this language enables the creation of specialized domain-specific languages via model transformation. The resulting metamodels are specific to the targeted industry fields, supporting efficient model processing techniques to assist reliable service provisioning.
Several examples are provided to demonstrate the use of the newly created domain-specific language. Furthermore, two new software applications are also presented that provide a host for the implementation of the metamodel transformation and model processing algorithms.