Variability Modeling in Modeling Languages
In economics an individual’s needs can be satisfied by means of acquiring goods and services. In the computing world computers provide services which generally facilitate processes required to produce or consume goods and services. A common service which most people would be familiar with is the ability to purchase goods and services from the internet, and on closer inspection it can be seen that such a service is composed of a number of other services. This would include a service to process the payment, a service to initiate the order and a service to deliver the goods, combining these services allows a consumer to successfully acquire an item of value. Such services can be defined in terms of functional or a non-functional features. The functional aspect defines the meaning of the composition or in scientific terms as the semantics of the service. On the other hand non-functional features include aspects such as the time it takes to complete the service, the cost of the service or the amount of resources that a service consumes. In the cloud computing environment an additional concern is that the service has to also interact with the underlying platform environment which is provided as a resource service to the business service. Thus it can be seen that the composition of various services would ultimately provide a means to achieve the intended objective, and the objective of the research would be to automate the validation of such a composition both at design time and runtime. This will be explored at a modeling language level, by analysing the composition of language variants. Modeling languages provides a means to describe a problem in a language which is well understood by the experts in the given business domain. Using our initial example the language could define concepts such as a purchase order, invoice, delivery options and so on. The semantics of these concepts would need to be used in the composition to ensure the correct interpretation, and these semantics can include both functional and non-functional concerns. Thus the research would investigate how to apply a mathematical model to a set of services with a predefined objective, in a manner that can be adapted dynamically and also support the option of introducing new factors in a modular manner.
Vacchi E., Cazzola W., Pillay S., Combemale B.: Variability Support in Domain-Specific Language Development. In Software Language Engineering. Proceedings of the 6th International Conference on Software Language Engineering (SLE 2013). Richard F. Paige et al. (eds.), Indianapolis, IN, USA, October 26-28, 2013, Springer Verlag 2013, p.76-95, LINK