Fast Fuzzy Pattern Tree Learning for Classification - Senge, Robin; Hüllermeier, Eyke (IEEE Transactions on Fuzzy Systems)

Visualisierung von SMT-Solver-Ausgaben - Osterbrink, Sebastian

Verified Service Compositions by Template-Based Construction - Walther, Sven; Wehrheim, Heike (Proceedings of the 11th International Symposium on Formal Aspects of Component Software (FACS))
Today, service compositions often need to be assembled or changed on-the-fly, which leaves only little time for quality assurance. Moreover, quality assurance is complicated by service providers only giving information on their services in terms of domain specific concepts with only limited semantic meaning. In this paper, we propose a method to construct service compositions based on pre-verifiedtemplates. Templates, given as workflow descriptions, are typed over a (domain-independent) template ontology defining concepts and predicates. Templates are proven correct using an abstract semantics, leaving the specific meaning of ontology concepts open, however, only up to given ontology rules. Construction of service compositions amounts to instantiation of templates with domain-specific services.Correctness of an instantiation can then simply be checked by verifying that the domain ontology(a) adheres to the rules of the template ontology, and (b) fulfills the constraints of the employed template.

Towards Systematic Configuration for Architecture Validation - Becker, Matthias; Becker, Steffen; Besova, Galina; Walther, Sven; Wehrheim, Heike (Proceedings of the 40th Euromicro Conference on Software Engineering and Advanced Applications (Work in Progress Session))

Template-based Generation of Semantic Services - Mohr, Felix; Walther, Sven (Proceedings of the 14th International Conference on Software Reuse (ICSR))
There are many technologies for the automation of processesthat deal with services; examples are service discovery and composition.Automation of these processes requires that the services are described semantically. However, semantically described services are currently not oronly rarely available, which limits the applicability of discovery and composition approaches. The systematic support for creating new semanticservices usable by automated technologies is an open problem.We tackle this problem with a template based approach: Domain independent templates are instantiated with domain specific services andboolean expressions. The obtained services have semantic descriptionswhose correctness directly follows from the correctness of the template.Besides the theory, we present experimental results for a service repository in which 85% of the services were generated automatically.

Statistisches Testen von unbeweisbaren Anforderungen an Programmspezifikationen in SMT-LIB - Töws, Manuel

SeSAME: Modeling and Analyzing High-Quality Service Compositions - Arifulina, Svetlana; Becker, Matthias; Platenius, Marie Christin; Walther, Sven (Proceedings of the 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014))
Today, software components are traded on markets in form of services. These services can also be service compositions consisting of several services. If a software architect wants to provide such a service composition in the market for trade, she needs to perform several tasks: she needs to model the composition, to discover existing services to be part of that composition, and to analyze the composition's functional correctness as well as its quality, e.g., performance. Up to now, the architect needed to find and use different tools for these tasks. Typically, these tools are not interoperable with each other. We provide the tool SeSAME that supports a software architect in all of these tasks. SeSAME is an integrated Eclipse-based tool-suite providing a comprehensive service specification language to model service compositions and existing services. Furthermore, it includes modules for service matching, functional analysis, and non-functional analysis. SeSAME is the first tool that integrates all these tasks into one tool-suite and, thereby, provides holistic support for trading software services. Thus, it contributes to a software provider's market success.

Cloud Computing Reduces Uncertainties in Quality-of-Service Matching! - Becker, Matthias; Platenius, Marie Christin; Becker, Steffen (Proceedings of the 2nd International Workshop on Cloud Service Brokerage (CSB))
Cloud computing resulted in a continuously growing number of provided software services to be used by consumers. Brokers discover services that fit best to consumers' requirements by matching Qualityof-Service (QoS) properties. In order to negotiate Service-Level Agreements (SLAs), a provider has to determine the provided QoS based on QoS analyses. However, the risk for the provider to violate the SLA is high as the service's actual quality can deviate from the specified QoS due to uncertainties that occur during the provider's quality analysis. In this paper, we discuss current software engineering paradigms like cloud computing and service-oriented computing with respect to the amount of uncertainty they induce into service matching and SLA negotiations. As a result, we explain, why cloud computing reduces such uncertainties.

Market-optimized Service Specification and Matching - Arifulina, Svetlana; Platenius, Marie Christin; Gerth, Christian; Becker, Steffen; Engels, Gregor; Schäfer, Wilhelm (Proceedings of the 12th International Conference on Service Oriented Computing (ICSOC 2014))
Various approaches in service engineering are based on servicemarkets where brokers use service matching in order to performservice discovery. For matching, a broker translates the specifications ofproviders' services and requesters' requirements into her own specificationlanguage, in order to check their compliance using a matcher. Thebroker's success depends on the configuration of her language and itsmatcher because they in uence important properties like the effort forproviders and requesters to create suitable specifications as well as accuracyand runtime of matching. However, neither existing service specification languages, nor existing matching approaches are optimized insuch way. Our approach automatically provides brokers with an optimalconfiguration of a language and its matcher to improve her success ina given market with respect to her strategy. The approach is based onformalized configuration properties and a predefined set of configurationrules.

Integrating Service Matchers into a Service Market Architecture - Platenius, Marie Christin; Becker, Steffen; Schäfer, Wilhelm (Proceedings of the 8th European Conference on Software Architecture (ECSA 2014))
Service markets provide software components in the formof services. In order to enable a service discovery that satisfies servicerequesters and providers best, markets need automatic service matching:approaches for comparing whether a provided service satisfies a servicerequest. Current markets, e.g., app markets, are limited to basic keywordbasedsearch although many better suitable matching approaches aredescribed in literature. However, necessary architectural decisions forthe integration of matchers have a huge impact on quality propertieslike performance or security.Architectural decisions wrt. servicematchers have rarely been discussed,yet, and systematic approaches for their integration into service marketsare missing. In this paper, we present a systematic integration approachincluding the definition of requirements and a discussion on architecturaltactics. As a benefit, the decision-making process of integrating servicematchers is supported and the overall market success can be improved.

Grammar-based model transformations - Besova, Galina; Steenke, Dominik; Wehrheim, Heike (Proceedings 3rd Workshop on Model Driven Approaches in System Development (MDASD))
Model transformation is a key concept in modeldrivensoftware engineering. The definition of model transformationsis usually based on meta-models describing the abstractsyntax of languages. While meta-models are thereby able to abstractfrom superfluous details of concrete syntax, they often loosestructural information inherent in languages, like information onmodel elements always occurring together in particular shapes.As a consequence, model transformations cannot naturally re-uselanguage structures, thus leading to unnecessary complexity intheir development as well as analysis.In this paper, we propose a new approach to model transformationdevelopment which allows to simplify and improve thequality of the developed transformations via the exploitation ofthe languages’ structures. The approach is based on context-freegrammars and transformations defined by pairing productions ofsource and target grammars. We show that such transformationsexhibit three important characteristics: they are sound, completeand deterministic.

Formal Semantics of Probabilistic SMT Solving in Verification of Service Compositions - Sanati, Maryam

Finding Optimal Self-Adaption Rules by Design-Space Exploration - Jojiju, Suman

Evaluating the Influence of Different Abstraction Levels of Software Design on Performance prediction - Bulk, Benjamin

Entwicklung eines Konzepts zur Kodierung eines objektorientierten Typsystems in SMT - Krakau, Andreas

Vergleichsstudie zur Ausdrucksstärke von SMT-Solvern - Engelbrecht, Marco

SimuLizar: Design-Time modeling and Performance Analysis of Self-Adaptive Systems - Becker, Matthias; Becker, Steffen; Meyer, Joachim (Proceedings of the Software Engineering Conference (SE))
Modern software systems adapt themselves to changing environments, to meet quality-of-service requirements, such as response time limits. The engineering of the system’s self-adaptation logic does not only require new modeling methods, but also new analyzes of transient phases. Model-driven software performance engineering methods already allow design-time analysis of steady states of non-adaptive system models. In order to validate requirements for transient phases, new modeling and analysis methods are needed. In this paper, we present SimuLizar, our initial model-driven approach to model self-adaptive systems and analyze the performance of their transient phases. Our evaluation of a load balancer toy example shows the applicability of our modeling approach. Additionally, a comparison of our performance analysis with a prototypical implementation of our example system shows that the prediction accuracy is sufficient to identify unsatisfactory self-adaptations.

Performance Analysis of Self-Adaptive Systems for Requirements Validation at Design-Time - Becker, Matthias; Luckey, Markus; Becker, Steffen (Proceedings of the 9th ACM SigSoft International Conference on Quality of Software Architectures (QoSA'13))
Self-adaptation allows continuously running software systems to operate in changing and uncertain contexts while meeting their requirements in a broad range of contexts, e.g., from low to high load situations. As a consequence, requirementsfor self-adaptive systems are more complex than requirements for static systems as they have to explicitly address properties of the self-adaptation layer.While approaches exist in the literature to capture this new type of requirements formally, their achievement cannot be analyzed in early design phases yet. In this paper, we apply RELAX to formally specify non-functional requirements for self-adaptive systems. We then apply our model-based SimuLizar approach for a semi-automatic analysis to test whether the self-adaptation layer ensures that these non-functional requirements are met. We evaluate our approach on the design of a proof-of-concept load balancer system. As this evaluation demonstrates, we can iteratively improve our system design by improving unsatisfactory self-adaption rules.

Knowledge-Based Verification of Service Compositions - An SMT approach - Walther, Sven; Wehrheim, Heike (Proceedings of the 18th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS))
In the Semantic (Web) Services area, services are considered black boxes with a semantic description of their interfaces as to allow for precise service selection and conﬁguration. The semantic description is usually grounded on domain-speciﬁc concepts as modeled in ontologies. This accounts for types used in service signatures, but also predicates occurring in preconditions and effects of services. Ontologies, in particular those enhanced with rules, capture the knowledge of domain experts on properties of and relations between domain concepts. In this paper, we present a veriﬁcation technique for service compositions which makes use of this domain knowledge. We consider a service composition to be an assembly of services of which we just know signatures, preconditions, and effects. We aim at proving that a composition satisﬁes a (user-deﬁned) requirement, speciﬁed in terms of guaranteed preconditions and required postconditions. As an underlying veriﬁcation engine we use an SMT solver. To take advantage of the domain knowledge (and often, to enable veriﬁcation at all), the knowledge is fed into the solver in the form of sorts, uninterpreted functions and in particular assertions as to enhance the solver’s reasoning capabilities. Thereby, we allow for deductions within a domain previously unknown to the solver. We exemplify our technique on a case study from the area of water network optimization software.

Executing Reconfigurations in Hierarchical Component Architectures - Heinzemann, Christian; Becker, Steffen (Proceedings of the 16th International ACM SigSoft Symposium on Component-Based Software Engineering (CBSE))
Mechatronic systems reconfigure the structure of their software architecture, e.g., to avoid hazardous situations or to optimize operational conditions like minimizing their energy consumption. As software architectures are typically build on components, reconfiguration actions need to respect the component structure. This structure should be hierarchical to enable encapsulated components. While many reconfiguration approaches for embedded real-time systems allow the use of hierarchically embedded components, i.e., horizontal composition, none of them offers a modeling and verification solution to take hierarchical composition, i.e., encapsulation, into account. In this paper, we present an extension to our existing modeling language, MechatronicUML, to enable safe hierarchical reconfigurations. The two main extensions are (a) an adapted variant of the two-phase commit protocol to initiate reconfigurations which maintain component encapsulation and (b) a timed model checking verification approach for instances of our model. We illustrate our approach on a case study in the area of smart railway systems by showing two different use cases of our approach and the verification of their safety properties.