“…It is a timed extension of ABS [17], which builds on the Creol language [18] (used in our previous work [19,20]) but provides a fully implemented functional sublanguage and support for software product line modeling [7]. Characteristic features of Timed ABS are that: (1) it allows abstracting from implementation details while remaining executable; i.e., a functional sublanguage over abstract data types is used to specify internal, sequential computations [17]; (2) it provides flexible concurrency and synchronization mechanisms by means of asynchronous method calls, release points in method definitions, and cooperative scheduling of method activations [9,18]; (3) it supports user-provided deadlines to method calls to express local QoS requirements [10]; and (4) it features deployment components with parametric resources to model deployment variability [2,19,20]. Compared to previous work on deployment components, we here extend the syntax and semantics of Timed ABS with user-defined annotations to express general cost-models for resource usage.…”