Evaluation von Graphpartitionierungsalgorithmen im Kontext von Konfigurierbarer Softwarezertifizierung - Bröcher, Henrik

Pairwise versus Pointwise Ranking: A Case Study - Melnikov, Vitalik; Hüllermeier, Eyke; Kaimann, Daniel; Frick, Bernd; Gupta, Pritha (Schedae Informaticae)

Verification of AUTOSAR Software Architectures with Timed Automata - Beringer, Steffen; Wehrheim, Heike (Critical Systems: Formal Methods and Automated Verification - Joint 21st International Workshop on Formal Methods for Industrial Critical Systems and 16th International Workshop on Automated Verification of Critical Systems, FMICS-AVoCS 2016, Pisa, Italy, September 26-28, 2016, Proceedings)

Ontologie-Erstellung mittels Text-Mining aus App-Marktplätzen am Beispiel des Google Marketplace - Heck, Eduard

Ontologie-basierte Extraktion funktionaler Softwareanforderungen am Fallbeispiel mobiler Kommunikationsapplikationen - Schwentker, Christoph

On-The-Fly Construction of Provably Correct Service Compositions - Templates and Proofs - Walther, Sven; Wehrheim, Heike (Science of Computer Programming)
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 for constructing service compositions based on pre-verified templates. Templates, given as workflow descriptions, are typed over a (domain-independent) template ontology defining concepts and predicates. Their meaning is defined by an abstract semantics, leaving the specific meaning of ontology concepts open, however, only up to given ontology rules. Templates are proven correct using a Hoare-style proof calculus, extended by a specific rule for service calls. 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.

On- and Off-Topic Classification and Semantic Annotation of User-Generated Software Requirements - Dollmann, Markus; Geierhos, Michaela (Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing (EMNLP))
Users prefer natural language software requirements because of their usability and accessibility. When they describe their wishes for software development, they often provide off-topic information. We therefore present an automated approach for identifying and semantically annotating the on-topic parts of the given descriptions. It is designed to support requirement engineers in the requirement elicitation process on detecting and analyzing requirements in user-generated content. Since no lexical resources with domain-specific information about requirements are available, we created a corpus of requirements written in controlled language by instructed users and uncontrolled language by uninstructed users. We annotated these requirements regarding predicate-argument structures, conditions, priorities, motivations and semantic roles and used this information to train classifiers for information extraction purposes. The approach achieves an accuracy of 92% for the on- and off-topic classification task and an F1-measure of 72% for the semantic annotation.

Imprecise Matching of Requirements Specifications for Software Services using Fuzzy Logic - Platenius, Marie Christin; Shaker, Ammar; Becker, Matthias; Hüllermeier, Eyke; Schäfer, Wilhelm (IEEE Transactions on Software Engineering (TSE), presented at ICSE 2017)
Today, software components are provided by global markets in the form of services. In order to optimally satisfy service requesters and service providers, adequate techniques for automatic service matching are needed. However, a requester’s requirements may be vague and the information available about a provided service may be incomplete. As a consequence, fuzziness is induced into the matching procedure. The contribution of this paper is the development of a systematic matching procedure that leverages concepts and techniques from fuzzy logic and possibility theory based on our formal distinction between different sources and types of fuzziness in the context of service matching. In contrast to existing methods, our approach is able to deal with imprecision and incompleteness in service specifications and to inform users about the extent of induced fuzziness in order to improve the user’s decision-making. We demonstrate our approach on the example of specifications for service reputation based on ratings given by previous users. Our evaluation based on real service ratings shows the utility and applicability of our approach.

How to Complete Customer Requirements: Using Concept Expansion for Requirement Refinement - Geierhos, Michaela; Bäumer, Frederik Simon (Proceedings of the 21st International Conference on Applications of Natural Language to Information Systems (NLDB))
One purpose of requirement refinement is that higher-level requirements have to be translated to something usable by developers. Since customer requirements are often written in natural language by end users, they lack precision, completeness and consistency. Although user stories are often used in the requirement elicitation process in order to describe the possibilities how to interact with the software, there is always something unspoken. Here, we present techniques how to automatically refine vague software descriptions. Thus, we can bridge the gap by first revising natural language utterances from higher-level to more detailed customer requirements, before functionality matters. We therefore focus on the resolution of semantically incomplete user-generated sentences (i.e. non-instantiated arguments of predicates) and provide ontology-based gap-filling suggestions how to complete unverbalized information in the user’s demand.
Keywords: Requirement refinement; Concept expansion; Ontology-based instantiation of predicate-argument structure

Herausforderungen im Umgang mit unvollständigen Softwareanforderungen durch Semantic Role Labeling - Reckhorn, Lena

Modellierung von domänenspezifischen Ontologien im Anwendungsfall funktionaler Softwareanforderungen - Stanco, Stefan

Learning to Aggregate Using Uninorms - Melnikov, Vitaly; Hüllermeier, Eyke (Proceedings of the Joint European Conference on Machine Learning and Knowledge Discovery in Databases (ECML/PKDD 2016))
In this paper, we propose a framework for a class of learning problems that we refer to as “learning to aggregate”. Roughly, learning-to-aggregate problems are supervised machine learning problems, in which instances are represented in the form of a composition of a (variable) number on constituents; such compositions are associated with an evaluation, score, or label, which is the target of the prediction task, and which can presumably be modeled in the form of a suitable aggregation of the properties of its constituents. Our learning-to-aggregate framework establishes a close connection between machine learning and a branch of mathematics devoted to the systematic study of aggregation functions. We specifically focus on a class of functions called uninorms, which combine conjunctive and disjunctive modes of aggregation. Experimental results for a corresponding model are presented for a review data set, for which the aggregation problem consists of combining different reviewer opinions about a paper into an overall decision of acceptance or rejection.

Just test what you cannot verify! - Czech, Mike; Jakobs, Marie-Christine; Wehrheim, Heike (Software Engineering 2016)
Software verification is an established method to ensure software safety. Nevertheless, verification still often fails, either because it consumes too much resources, e.g., time or memory, or the technique is not mature enough to verify the property. Often then discarding the partial verification, the validation process proceeds with techniques like testing.To enable standard testing to profit from previous, partial verification, we use a summary of the verification effort to simplify the program for subsequent testing. Our techniques use this summary to construct a residual program which only contains program paths with unproven assertions. Afterwards, the residual program can be used with standard testing tools.Our first experiments show that testing profits from the partial verification.The test effort is reduced and combined verification and testing is faster than a complete verification.

An Overview of Service Specification Language and Matching in On-The-Fly Computing (v0.3) - Platenius, Marie Christin; Josifovska, Klementina; van Rooijen, Lorijn; Arifulina, Svetlana; Becker, Matthias; Engels, Gregor; Schäfer, Wilhelm

An Architecture and Design Tool Flow for Embedding a Virtual FPGA into a Reconfigurable System-on-Chip - Wiersema, Tobias; Bockhorn, Arne; Platzner, Marco (Computers & Electrical Engineering)
Virtual field programmable gate arrays (FPGA) are overlay architectures realized on top of physical FPGAs. They are proposed to enhance or abstract away from the physical FPGA for experimenting with novel architectures and design tool flows. In this paper, we present an embedding of a ZUMA-based virtual FPGA fabric into a complete configurable system-on-chip. Such an embedding is required to fully harness the potential of virtual FPGAs, in particular to give the virtual circuits access to main memory and operating system services, and to enable a concurrent operation of virtualized and non-virtualized circuitry. We discuss our extension to ZUMA and its embedding into the ReconOS operating system for hardware/software systems. Furthermore, we present an open source tool flow to synthesize configurations for the virtual FPGA, along with an analysis of the area and delay overheads involved.

A short survey on using software error localization for service compositions - Krämer, Julia; Wehrheim, Heike (Proceedings of the 5th European Conference on Service-Oriented and Cloud Computing (ESOCC 2016))
In modern software development, paradigms like component-based software engineering (CBSE) and service-oriented architectures (SOA) emphasize the construction of large software systems out of existing components or services. Therein, a service is a self-contained piece of software, which adheres to a specified interface. In a model-based software design, this interface constitutes our sole knowledge of the service at design time, while service implementations are not available. Therefore, correctness checks or detection of potential errors in service compositions has to be carried out without the possibility of executing services. This challenges the usage of standard software error localization techniques for service compositions. In this paper, we review state-of-the-art approaches for error localization of software and discuss their applicability to service compositions.

A Holistic and Adaptive Approach for Automated Prototyping of Image Processing Functionality - Jungmann, Alexander; Kleinjohann, Bernd (Proceedings of the 21st IEEE International Conference on Emerging Technologies and Factory Automation (ETFA))
Image Processing is fundamental for any camera-based vision system. In order to automate the prototyping process of image processing solutions to some extend, we propose a holistic, adaptive approach that comprises concepts for specification, composition, recommendation, execution, and rating of image processing functionality. The fundamental idea is to realize image processing applications according to Service-oriented Computing design principles. That is, distinct image processing functionality is encapsulated in terms of stateless services. Services are then used as building blocks for more complex image processing functionality. To automatically compose complex image processing functionality, our proposed approach incorporates a flexible, Artificial Intelligence planning-based forward search algorithm. Decision-making between alternative composition steps is supported by a learning recommendation system, which keeps track of valid composition steps by automatically constructing a composition grammar. In addition, it adapts to solutions of high quality by means of feedback-based Reinforcement Learning techniques. A concrete use case serves as proof of concept and demonstrates the feasibility of our holistic, adaptive approach.

A Formal Approach to Error Localization and Correction in Service Compositions - Krämer, Julia; Wehrheim, Heike (Proceedings of the 1st International Workshop on Formal to Practical Software Verification and Composition (VeryComp 2016))
Error detection, localization and correction are time-intensive tasks in software development, but crucial to deliver functionally correct products. Thus, automated approaches to these tasks have been intensively studied for standard software systems. For model-based software systems, the situation is different. While error detection is still well-studied, error localization and correction is a less-studied domain. In this paper, we examine error localization and correction for models of service compositions. Based on formal definitions of error and correction in this context, we show that the classical approach of error localization and correction, i.e. first determining a set of suspicious statements and then proposing changes to these statements, is ineffective in our context. In fact, it lessens the chance to succeed in finding a correction at all.In this paper, we introduce correction proposal as a novel approach on error correction in service compositions integrating error localization and correction in one combined step. In addition, we provide an algorithm to compute such correction proposals automatically.

A CEGAR Scheme for Information Flow Analysis - Töws, Manuel; Wehrheim, Heike (Proceedings of the 18th International Conference on Formal Engineering Methods (ICFEM 2016))
Information flow analysis studies the flow of data between program entities (e.g. variables), where the allowed flow is specified via security policies. Typical information flow analyses compute a conservative (over-)approximation of the flows in a program. Such an analysis may thus signal non-existing violations of the security policy.In this paper, we propose a new technique for inspecting the reported violations (counterexamples) for spuriousity. Similar to counterexample-guided-abstraction-refinement (CEGAR) in software verification, we use the result of this inspection to improve the next round of the analysis. We prove soundness of this scheme.

Automatized Derivation of Comprehensive Specifications for Black-box Services - Schwichtenberg, Simon (Proceedings of the 38th International Conference on Software Engineering Companion (ICSE))
Today, cloud vendors host third party black-box services, whose developers usually provide only textual descriptions or purely syntactical interface specifications. Cloud vendors that give substantial support to other third party developers to integrate hosted services into new software solutions would have a unique selling feature over their competitors. However, to reliably determine if a service is reusable, comprehensive service specifications are needed. Characteristic for comprehensive in contrast to syntactical specifications are the formalization of ontological and behavioral semantics, homogeneity according to a global ontology, and a service grounding that links the abstract service description and its technical realization. Homogeneous, semantical specifications enable to reliably identify reusable services, whereas the service grounding is needed for the technical service integration. In general, comprehensive specifications are not availableand have to be derived. Existing automatized approaches are restricted to certain characteristics of comprehensiveness. In my PhD, I consider an automatized approach to derive fully-fledged comprehensive specifications for black-box services. Ontological semantics are derived from syntactical interface specifications. Behavioral semantics are mined from call logs that cloud vendors create to monitor the hosted services. The specifications are harmonized over a global ontology. The service grounding is established using traceability information. The approach enables third party developers to compose services into complex systems and creates new sales channels for cloud and service providers.

Automatic Composition of Service-based Image Processing Applications - Jungmann, Alexander; Kleinjohann, Bernd (Proceedings of the 13th IEEE International Conference on Services Computing (SCC))
In the Image Processing domain, automated generation of complex Image Processing functionality is highly desirable; e.g., for rapid prototyping. Service composition techniques, in turn, facilitate automated generation of complex functionality based on building blocks in terms of services. For that reason, we aim for transferring the Service Composition paradigm into the Image Processing domain. In this paper, we present our symbolic composition approach that enables us to automatically generate Image Processing applications. Functionality of Image Processing services is described by means of a variant of first-order logic, which grounds on domain knowledge operationalized in terms of ontologies. A Petri-net formalism serves as basis for modeling data-flow of services and composed services. A planning-based composition algorithm automatically composes complex data-flow for a required functionality. A brief evaluation serves as proof of concept.

Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java - Späth, Johannes; Nguyen Quang Do, Lisa; Ali, Karim; Bodden, Eric (European Conference on Object-Oriented Programming (ECOOP))
Keywords: ATTRACT; ITSECWEBSITE

Patterns for Constructing Mutation Operators: Limiting the Search Space in a Software Engineering Application - Kühne, Thomas; Hamann, Heiko; Arifulina, Svetlana; Engels, Gregor (Proceedings of the 19th European Conference on Genetic Programming (EuroGP 2016))
We apply methods of genetic programming to a general problem from software engineering, namely example-based generation of specifications. In particular, we focus on model transformation by example. The definition and implementation of model transformations is a task frequently carried out by domain experts, hence, a (semi-)automatic approach is desirable. This application is challenging because the underlying search space has rich semantics, is high-dimensional, and unstructured. Hence, a computationally brute-force approach would be unscalable and potentially infeasible. To address that problem, we develop a sophisticated approach of designing complex mutation operators. We define ‘patterns’ for constructing mutation operators and report a successful case study. Furthermore, the code of the evolved model transformation is required to have high maintainability and extensibility, that is, the code should be easily readable by domain experts. We report an evaluation of this approach in a software engineering case study.

PAndA 2 : Analyzing Permission Use and Interplay in Android Apps (Tool Paper) - Jakobs, Marie-Christine; Töws, Manuel; Pauck, Felix (Workshop on Formal and Model-Driven Techniques for Developing Trustworthy Systems)
We present PAndA2, an extendable, static analysis tool for Android apps which examines permission related security threats like overprivilege, existence of permission redelegation and permission flows. PAndA2 comes along with a textual and graphical visualization of the analysis result and even supports the comparison of analysis results for different android app versions.

Induction-based Verification of Timed Systems - Isenberg, Tobias

Running out of Words: How Similar User Stories Can Help to Elaborate Individual Natural Language Requirement Descriptions - Bäumer, Frederik Simon; Geierhos, Michaela (Proceedings of the 22nd International Conference on Information and Software Technologies (ICIST))
While requirements focus on how the user interacts with the system, user stories concentrate on the purpose of software features. But in practice, functional requirements are also described in user stories. For this reason, requirements clarification is needed, especially when they are written in natural language and do not stick to any templates (e.g., "as an X, I want Y so that Z ..."). However, there is a lot of implicit knowledge that is not expressed in words. As a result, natural language requirements descriptions may suffer from incompleteness. Existing approaches try to formalize natural language or focus only on entirely missing and not on deficient requirements. In this paper, we therefore present an approach to detect knowledge gaps in user-generated software requirements for interactive requirement clarification: We provide tailored suggestions to the users in order to get more precise descriptions. For this purpose, we identify not fully instantiated predicate argument structures in requirements written in natural language and use context information to realize what was meant by the user.
Keywords: Natural language requirements clarification; Syntactically incomplete requirements; Compensatory user stories

Solving Heterogeneity for a Successful Service Market - Arifulina, Svetlana

Requirements Specification-by-Example Using a Multi-Objective Evolutionary Algorithm - van Rooijen, Lorijn; Hamann, Heiko (Proceedings of 24th IEEE International Requirements Engineering Conference (RE 2016))
A task at the beginning of the software development process is the creation of a requirements specification. The requirements specification is usually created by a software engineering expert. We try to substitute this expert by a domain expert (the user) and formulate the problem of creating requirements specifications as a search-based software engineering problem. The domain expert provides only examples of event sequences that describe the behavior of the required software program. These examples are represented by simple sequence diagrams and are divided into two subsets: positive examples of required program behavior and negative examples of prohibited program behavior. The task is then to synthesize a generalized requirements specification that usefully describes the required software. We approach this problem by applying a genetic algorithm and evolve deterministic finite automata (DFAs). These DFAs take the sequence diagrams as input that should be either accepted (positive example) or rejected (negative example). The problem is neither to find the minimal nor the most general automaton. Instead, the user should be provided with several appropriate automata from which the user can select, or which help the user to refine the examples given initially. We present the context of our research ("On-The-Fly Computing"), present our approach, report results indicating its feasibility, and conclude with a discussion.

Program Slicing: A Way of Separating WHILE Programs into Precise and Approximate Portions - Zhang, Guangli

Predicting Rankings of Software Verification Tools Using Kernels for Structured Data - Czech, Mike

Towards On-The-Fly Image Processing - Jungmann, Alexander

Towards Automated Service Composition Under Quality Constraints - Mohr, Felix

Verifying Worst-Case Completion Times for Reconfigurable Hardware Modules using Proof-Carrying Hardware - Wiersema, Tobias; Platzner, Marco (Proceedings of the 11th International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC 2016))
Runtime reconfiguration can be used to replace hardware modules in the field and even to continuously improve them during operation. Runtime reconfiguration poses new challenges for validation, since the required properties of newly arriving modules may be difficult to check fast enough to sustain the intended system dynamics. In this paper we present a method for just-in-time verification of the worst-case completion time of a reconfigurable hardware module. We assume so-called run-to-completion modules that exhibit start and done signals indicating the start and end of execution, respectively. We present a formal verification approach that exploits the concept of proof-carrying hardware. The approach tasks the creator of a hardware module with constructing a proof of the worst-case completion time, which can then easily be checked by the user of the module, just prior to reconfiguration. After explaining the verification approach and a corresponding tool flow, we present results from two case studies, a short term synthesis filter and a multihead weigher. The resultsclearly show that cost of verifying the completion time of the module is paid by the creator instead of the user of the module.

Verifikation von Service Kompositionen mit Spin - Dewender, Markus
.

Verifikation von Service Kompositionen mit Prolog - Heinisch, Philipp
.

Vergleich von Disambiguierungsansätzen bei Anforderungsbeschreibungen - Vollmers, Daniel

Speed Up Configurable Certificate Validation by Certificate Reduction and Partitioning - Jakobs, Marie-Christine (Proceedings of the 13th International Conference on Software Engineering and Formal Methods (SEFM))
Before execution, users should formally validate the correctness of software received from untrusted providers. To accelerate this validation, in the proof carrying code (PCC) paradigm the provider delivers the software together with a certificate, a formal proof of the software’s correctness. Thus, the user only checks if the attached certificate shows correctness of the delivered software.Recently, we introduced configurable program certification, a generic, PCC based framework supporting various software analyses and safety properties. Evaluation of our framework revealed that validation suffers from certificate reading. In this paper, we present two orthogonal approaches which improve certificate validation, both reducing the impact of certificate reading. The first approach reduces the certificate size, storing information only if it cannot easily be recomputed. The second approach partitions the certificate into independently checkable parts. The trick is to read parts of the certificate while already checking read parts. Our experiments show that validation highly benefits from our improvements.

Market-Specific Service Compositions: Specification and Matching - Arifulina, Svetlana; Platenius, Marie Christin; Mohr, Felix; Engels, Gregor; Schäfer, Wilhelm (Proceedings of the IEEE 11th World Congress on Services (SERVICES), Visionary Track: Service Composition for the Future Internet)
The Collaborative Research Centre "On-The-Fly Computing" works on foundations and principles for the vision of the Future Internet. It proposes the paradigm of On-The-Fly Computing, which tackles emerging worldwide service markets. In these markets, service providers trade software, platform, and infrastructure as a service. Service requesters state requirements on services. To satisfy these requirements, the new role of brokers, who are (human) actors building service compositions on the fly, is introduced. Brokers have to specify service compositions formally and comprehensively using a domain-specific language (DSL), and to use service matching for the discovery of the constituent services available in the market. The broker's choice of the DSL and matching approaches influences her success of building compositions as distinctive properties of different service markets play a significant role. In this paper, we propose a new approach of engineering a situation-specific DSL by customizing a comprehensive, modular DSL and its matching for given service market properties. This enables the broker to create market-specific composition specifications and to perform market-specific service matching. As a result, the broker builds service compositions satisfying the requester's requirements more accurately. We evaluated the presented concepts using case studies in service markets for tourism and university management.

Just test what you cannot verify! - Czech, Mike; Jakobs, Marie-Christine; Wehrheim, Heike (Fundamental Approaches to Software Engineering)
Today, software verification is an established analysis method which can provide high guarantees for software safety. However, the resources (time and/or memory) for an exhaustive verification are not always available, and analysis then has to resort to other techniques, like testing. Most often, the already achieved partial verification results arediscarded in this case, and testing has to start from scratch.In this paper, we propose a method for combining verification and testing in which testing only needs to check the residual fraction of an uncompleted verification. To this end, the partial results of a verification run are used to construct a residual program (and residual assertions to be checked on it). The residual program can afterwards be fed into standardtesting tools. The proposed technique is sound modulo the soundness of the testing procedure. Experimental results show that this combinedusage of verification and testing can significantly reduce the effort for the subsequent testing.

Incremental Inductive Verification of Parameterized Timed Systems - Isenberg, Tobias (Proceedings of the 15th International Conference on Application of Concurrency to System Design (ACSD))
We propose an incremental workflow for the verification of parameterized systems modeled as symmetric networks of timed automata. Starting with a small number of timed automata in the network, a safety property is verified using IC3, a state-of-the-art algorithm based on induction.The result of the verification, an inductive strengthening, is reused proposing a candidate inductive strengthening for a larger network.If the candidate is valid, our main theorem states that the safety property holds for all sizes of the network of timed automata. Otherwise the number of automata is increased and the next iteration is started with a new run of IC3.We propose and thoroughly examine optimizations to our workflow, e.g. Feedback mechanisms to speed up the run of IC3.

Systematically Deriving Quality Metrics for Cloud Computing Systems - Becker, Matthias; Lehrig, Sebastian; Becker, Steffen (Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering)
In cloud computing, software architects develop systems for virtually unlimited resources that cloud providers account on a pay-per-use basis. Elasticity management systems provision these resources autonomously to deal with changing workload. Such changing workloads call for new objective metrics allowing architects to quantify quality properties like scalability, elasticity, and efficiency, e.g., for requirements/SLO engineering and software design analysis. In literature, initial metrics for these properties have been proposed. However, current metrics lack a systematic derivation and assume knowledge of implementation details like resource handling. Therefore, these metrics are inapplicable where such knowledge is unavailable.To cope with these lacks, this short paper derives metrics for scalability, elasticity, and efficiency properties of cloud computing systems using the goal question metric (GQM) method. Our derivation uses a running example that outlines characteristics of cloud computing systems. Eventually, this example allows us to set up a systematic GQM plan and to derive an initial set of six new metrics. We particularly show that our GQM plan allows to classify existing metrics.

Systematic Development and Re-Use of Model Tranformations - Besova, Galina

Quantitative Evaluation of Model-Driven Performance Analysis and Simulation of Component-based Architectures - Brosig, Fabian; Meier, Philipp; Becker, Steffen; Koziolek, Anne; Koziolek, Heiko; Kounev, Samuel (Transactions on Software Engineering)
During the last decade, researchers have proposed a number of model transformations enabling performance predictions. These transformations map performance-annotated software architecture models into stochastic models solved by analytical means or by simulation. However, so far, a detailed quantitative evaluation of the accuracy and efﬁciency of different transformations is missing, making it hard to select an adequate transformation for a given context. This paper provides an in-depth comparison and quantitative evaluation of representative model transformations to, e.g., Queueing Petri Nets and Layered Queueing Networks. The semantic gaps between typical source model abstractions and the different analysis techniques are revealed. The accuracy and efﬁciency of each transformation are evaluated by considering four case studies representing systems of different size and complexity. The presented results and insights gained from the evaluation help software architects and performance engineers to select the appropriate transformation for a given context, thus signiﬁcantly improving the usability of model transformations for performance prediction.

Programs from Proofs of Predicated Dataflow Analyses - Jakobs, Marie-Christine; Wehrheim, Heike (Proceedings of the 30th Annual ACM Symposium on Applied Computing)
Programs from Proofs" is a generic method which generates new programs out of correctness proofs of given programs. The technique ensures that the new and given program are behaviorally equivalent and that the new program is easily verifiable, thus serving as an alternative to proof-carrying code concepts. So far, this generic method has one instantiation that verifies type-state properties of programs. In this paper, we present a whole range of new instantiations, all based on data ow analyses. More precisely, we show how an imprecise but fast data ow analysis can be enhanced with a predicate analysis as to yield a precise but expensive analysis. Out of the safety proofs of this analysis, we generate new programs, again behaviorally equivalent to the given ones, which are easily verifiable" in the sense that now the data ow analysis alone can yield precise results. An experimental evaluation practically supports our claim of easy verification.

On-The-Fly Verification of Reconfigurable Image Processing Modules based on a Proof-Carrying Hardware Approach - Wiersema, Tobias; Wu, Sen; Platzner, Marco (Proceedings of the International Symposium in Reconfigurable Computing (ARC))
Proof-carrying hardware is an approach that has recently been proposed for the efficient verification of reconfigurable modules. We present an application of proof-carrying hardware to guarantee the correct functionality of dynamically reconfigured image processing modules. Our prototype comprises a reconfigurable-system-on-chip with an embedded virtual FPGA fabric. This setup allows us to leverage open source FPGA synthesis and backend tools to produce FPGA configuration bitstreams with an open format and, thus, to demonstrate and experimentally evaluate proof-carrying hardware at the bitstream level.

An approach towards adaptive service composition in markets of composed services - Jungmann, Alexander; Mohr, Felix (Journal of Internet Services and Applications)
On-the-fly composition of service-based software solutions is still a challenging task. Even more challenges emerge when facing automatic service composition in markets of composed services for end users. In this paper, we focus on the functional discrepancy between “what a user wants” specified in terms of a request and “what a user gets” when executing a composed service. To meet the challenge of functional discrepancy, we propose the combination of existing symbolic composition approaches with machine learning techniques. We developed a learning recommendation system that expands the capabilities of existing composition algorithms to facilitate adaptivity and consequently reduces functional discrepancy. As a representative of symbolic techniques, an Artificial Intelligence planning based approach produces solutions that are correct with respect to formal specifications. Our learning recommendation system supports the symbolic approach in decision-making. Reinforcement Learning techniques enable the recommendation system to adjust its recommendation strategy over time based on user ratings. We implemented the proposed functionality in terms of a prototypical composition framework. Preliminary results from experiments conducted in the image processing domain illustrate the benefit of combining both complementary techniques.

A Metric for Functional Reusability of Services - Mohr, Felix (Proceedings of the 14th International Conference on Software Reuse (ICSR))
Services are self-contained software components that can beused platform independent and that aim at maximizing software reuse. Abasic concern in service oriented architectures is to measure the reusabilityof services. One of the most important qualities is the functionalreusability, which indicates how relevant the task is that a service solves.Current metrics for functional reusability of software, however, have verylittle explanatory power and do not accomplish this goal.This paper presents a new approach to estimate the functional reusabilityof services based on their relevance. To this end, it denes the degreeto which a service enables the execution of other services as its contri-bution. Based on the contribution, relevance of services is dened as anestimation for their functional reusability. Explanatory power is obtainedby normalizing relevance values with a reference service. The applicationof the metric to a service test set conrms its supposed capabilities.

Learning Boolean Specifications - Bubeck, Uwe; Kleine Büning, Hans (Artificial Intelligence)
In this paper we consider an extended variant of query learning where the hidden concept is embedded in some Boolean circuit. This additional processing layer modifies query arguments and answers by fixed transformation functions which are known to the learner. For this scenario, we provide a characterization of the solution space and an ordering on it. We give a compact representation of the minimal and maximal solutions as quantified Boolean formulas and we adapt the original algorithms for exact learning of specific classes of propositional formulas.
Keywords: Query learning; Propositional logic

Grammar-based model transformations: Definition, execution, and quality properties - Besova, Galina; Steenken, Dominik; Wehrheim, Heike (Computer Languages, Systems & Structures)
Model transformation is a key concept in model-driven software engineering. The definition of model transformations is usually based on meta-models describing the abstract syntax of languages. While meta-models are thereby able to abstract from uperfluous details of concrete syntax, they often loose structural information inherent in languages, like information on model elements always occurring together in particular shapes. As a consequence, model transformations cannot naturally re-use language structures, thus leading to unnecessary complexity in their development as well as in quality assurance.In this paper, we propose a new approach to model transformation development which allows to simplify the developed transformations and improve their quality via the exploitation of the languages׳ structures. The approach is based on context-free graph grammars and transformations defined by pairing productions of source and target grammars. We show that such transformations have important properties: they terminate and are sound, complete, and deterministic.

Fuzzy Matching von Vor- und Nachbedingungen in Servicespezikationen - Börding, Paul

Filtering Reviews by Random Individual Error - Geierhos, Michaela; Bäumer, Frederik Simon; Schulze, Sabine; Stuß, Valentina (Proceedings of the 28th International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems (IEA/AIE 2015))
Opinion mining from physician rating websites depends on the quality of the extracted information. Sometimes reviews are user-error prone and the assigned stars or grades contradict the associated content. We therefore aim at detecting random individual error within reviews. Such errors comprise the disagreement in polarity of review texts and the respective ratings. The challenges that thereby arise are (1) the content and sentiment analysis of the review texts and (2) the removal of the random individual errors contained therein. To solve these tasks, we assign polarities to automatically recognized opinion phrases in reviews and then check for divergence in rating and text polarity. The novelty of our approach is that we improve user-generated data quality by excluding error-prone reviews on German physician websites from average ratings.

Ein Framework für Fuzzy Service Matching basierend auf Fuzzy Sets - Neumann, Conrad

Design of an Evaluation Strategy for Fuzzy Service Matching - Bruns, Melanie

Comprehensive Service Matching with MatchBox - Börding, Paul; Bruns, Melanie; Platenius, Marie Christin (10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'15))
Nowadays, many service providers offer software components in the form of Software as a Service. Requesters that want to discover those services in order to use or to integrate them, need to find out which service satisfies their requirements best. For this purpose, service matching approaches determine how well the specifications of provided services satisfy their requirements (including structural, behavioral, and non-functional requirements). In this paper, we describe the tool-suite MatchBox that allows the integration of existing service matchers and their combination as part of flexibly configurable matching processes. Taking requirements and service specifications as an input, MatchBox is able to execute such matching processes and deliver rich matching results. In contrast to related tools, MatchBox allows users to take into account many different kinds of requirements, while it also provides the flexibility to control the matching process in many different ways.

Combining Service-oriented Computing with Embedded Systems - A Robotics Case Study - Jungmann, Alexander; Jatzkowski, Jan; Kleinjohann, Bernd (Proceedings of the 5th IFIP International Embedded Systems Symposium)
In this paper, we introduce an approach for combining embedded systems with Service-oriented Computing techniques based on a concrete application scenario from the robotics domain. Our proposed Service-oriented Architecture allows for incorporating computational expensive functionality as services into a distributed computing environment. Furthermore, our framework facilitates a seamless integration of embedded systems such as robots as service providers into the computing environment. The entire communication is based on so-called recipes, which can be interpreted as autonomous messages that contain all necessary information for executing compositions of services.

Temporal plans for software architecture reconfiguration - Ziegert, Steffen; Wehrheim, Heike (Computer Science - R & D)

Automatic Service Discovery and Composition for heterogeneous service partners - Huma, Zille

Automated Online Service Composition - Mohr, Felix; Jungmann, Alexander; Kleine Büning, Hans (Proceedings of the 12th IEEE International Conference on Services Computing (SCC))
Services are self-contained and platform independent software components that aim at maximizing software reuse. The automated composition of services to a target software artifact has been tackled with many AI techniques, but existing approaches make unreasonably strong assumptions such as a predefined data flow, are limited to tiny problem sizes, ignore non-functional properties, or assume offline service repositories. This paper presents an algorithm that automatically composes services without making such assumptions. We employ a backward search algorithm that starts from an empty composition and prepends service calls to already discovered candidates until a solution is found. Available services are determined during the search process. We implemented our algorithm, performed an experimental evaluation, and compared it to other approaches.

On Adaptivity for Automated Composition of Service Functionality - Jungmann, Alexander (Proceedings of the IEEE 11th World Congress on Services (SERVICES))
Automated service composition aims at automatically generating software solutions based on services to provide more complex functionality. In this paper, we give an initial overview about why adaptivity becomes increasingly important when aiming for automated composition of service functionality in dynamic and freely accessible environments such as service markets. We systematically derive dependencies among crucial processes such as service composition and service execution in a holistic view. Furthermore, we briefly discuss the influences and effects of changes in the environment according to the derived dependencies, and derive possible future research directions.

MatchBox: A Framework for Dynamic Configuration of Service Matching Processes - Platenius, Marie Christin; Arifulina, Svetlana; Schäfer, Wilhelm (Proceedings of the 18th International ACM Sigsoft Symposium on Component-Based Software Engineering (CBSE'15))
Service discovery in global software markets is performed by brokers who act as intermediaries between service consumers and service providers.In order to discover services, brokers apply service matching for determining whether the specification of a provided service satisfies the consumer's requirements.Brokers can already choose between a lot of different service matching approaches considering different service properties (structural, behavioral, and non-functional properties).Different matching approaches can be combined into configurable matching processes leading to a high matching quality (e.g., accurate matching results). However, this combination and configuration is a manual procedure and has to be repeated for different consumers' or market requirements regarding matching quality. In this paper, we propose our framework MatchBox, which supports a broker in reusing existing matching approaches and combining them in a model-driven way based on a reconfigurable model of the matching process.Using this reconfigurable model, MatchBox takes care of control and data flow between matching approaches and executes the modeled processes automatically.As a case study, we integrated eleven matchers into MatchBox to demonstrate that it remains flexibility and reduces effort for a broker at the same time.

What did you mean? Facing the Challenges of User-generated Software Requirements - Geierhos, Michaela; Schulze, Sabine; Bäumer, Frederik Simon (Proceedings of the 7th International Conference on Agents and Artificial Intelligence (ICAART), Special Session on Partiality, Underspecification, and Natural Language Processing (PUaNLP 2015))
Existing approaches towards service composition demand requirements of the customers in terms of service templates, service query profiles, or partial process models. However, addressed non-expert customers may be unable to fill-in the slots of service templates as requested or to describe, for example, pre- and postconditions, or even have difficulties in formalizing their requirements. Thus, our idea is to provide non-experts with suggestions how to complete or clarify their requirement descriptions written in natural language. Two main issues have to be tackled: (1) partial or full inability (incapacity) of non-experts to specify their requirements correctly in formal and precise ways, and (2) problems in text analysis due to fuzziness in natural language. We present ideas how to face these challenges by means of requirement disambiguation and completion. Therefore, we conduct ontology-based requirement extraction and similarity retrieval based on requirement descriptions that are gathered from App marketplaces. The innovative aspect of our work is that we support users without expert knowledge in writing their requirements by simultaneously resolving ambiguity, vagueness, and underspecification in natural language.

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

IccTA: Detecting Inter-Component Privacy Leaks in Android Apps - Li, Li; Bartel, Alexandre; Bissyande, Tegawende F.; Klein, Jacques; Le Traon, Yves; Arzt, Steven; Rasthofer, Siegfried; Bodden, Eric; Octeau, Damien; McDaniel, Patrick (2015 International Conference on Software Engineering (ICSE))
Keywords: CROSSING; ATTRACT; ITSECWEBSITE

Konzept und Implementation einer Benutzeroberfläche zur Generierung virtueller FPGAs - Meißner, Roland

Webcam application using virtual FPGA - Wu, Sen

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.

Untersuchung transitiver Eigenschaften der Technik "Programs from Proofs" - Korth, Philipp

Transformation graphischer Protokollspezifikationen in Model-Checker-Anfragen - Klauke, Christoph

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))

Towards Context-Sensitive Service Composition for Service-Oriented Image Processing - Jungmann, Alexander; Kleinjohann, Bernd (Proceedings of the 6th International Conference on Cloud Computing Technology and Science (CloudCom))
Automatically composing service-based software solutions is a challenging task. Considering context information during this service composition process is even more challenging. In domains such as image processing, however, context-sensitivity is inherent and cannot be ignored when developing techniques for automatic service composition. Formal approaches tend to create ambiguous solutions, whenever the expressive power of the applied formalism is limited. For example, services may have the same formal specification, although their actual functionality depends on the concrete context. In order to satisfy individual user requests while providing data-dependent functionality, formal approaches have to be extended. We propose to incorporate Reinforcement Learning techniques and combine them with planning based composition approaches. While planning ensures formally correct solutions, learning enables the composition process to resolve ambiguity by implicitly considering context information. Preliminary results show that our combined approach adapts to a static context while still satisfying formally specified requirements.

Towards a Flexible and Privacy-Preserving Reputation System for Markets of Composed Services - Brangewitz, Sonja; Jungmann, Alexander; Petrlic, Ronald; Platenius, Marie Christin (Proceedings of the 6th International Conferences on Advanced Service Computing (SERVICE COMPUTATION))
One future goal of service-oriented computing is to realize global markets of composed services. On such markets, service providers offer services that can be flexibly combined with each other. However, most often, market participants are not able to individually estimate the quality of traded services in advance. As a consequence, even potentially profitable transactions between customers and providers might not take place. In the worst case, this can induce a market failure. To overcome this problem, we propose the incorporation of reputation information as an indicator for expected service quality. We address On-The-Fly Computing as a representative environment of markets of composed services. In this environment, customers provide feedback on transactions. We present a conceptual design of a reputation system which collects and processes user feedback, and provides it to participants in the market. Our contribution includes the identification of requirements for such a reputation system from a technical and an economic perspective. Based on these requirements, we propose a flexible solution that facilitates the incorporation of reputation information into markets of composed services while simultaneously preserving privacy of customers who provide feedback. The requirements we formulate in this paper have just been partially met in literature. An integrated approach, however, has not been addressed yet.

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.

Security and Privacy Challenges in On-The-Fly Computing - Petrlic, Ronald; Jungmann, Alexander; Platenius, Marie Christin; Schäfer, Wilhelm; Sorge, Christoph (Tagungsband der 4. Konferenz Software-Technologien und -Prozesse (STeP 2014))
On-The-Fly (OTF) Computing constitutes an approach towards highly dynamic and individualized software markets. Based on service-oriented computing, OTF Computing is about realizing global markets of services that can be flexibly combined. We report on our current research activities, the security and privacy implications thereof, and our approaches to tackle the challenges. Furthermore, we discuss how the security and privacy challenges are addressed in research projects similar to OTF Computing.

Reengineering Component-Based Software Systems with Archimetrix - von Detten, Markus; Platenius, Marie Christin; Becker, Steffen (Journal of Software and Systems Modeling)
Many software development, planning, or analysis tasks require an up-to-date software architecture documentation. However, this documentation is often outdated, unavailable, or at least not available as a formal model which analysis tools could use. Reverse engineering methods try to fill this gap. However, as they process the system’s source code, they are easily misled by design deficiencies (e.g., violations of component encapsulation) which leaked into the code during the system’s evolution. Despite the high impact of design deficiencies on the quality of the resulting software architecture models, none of the surveyed related works is able to cope with them during the reverse engineering process. Therefore, we have developed the Archimetrix approach which semi-automatically recovers the system’s concrete architecture in a formal model while simultaneously detecting and removing design deficiencies. We have validated Archi metrix on a case-study system and two implementation variants of the CoCoME benchmark system. Results show that the removal of relevant design deficiencies leads to an architecture model which more closely matches the system’s conceptual architecture.

Programs from Proofs -- Approach and Applications - Wonisch, Daniel; Schremmer, Alexander; Wehrheim, Heike (Proceedings of the Software Engineering Conference (SE))
Proof-carrying code approaches aim at safe execution of untrusted code by having the code producer attach a safety proof to the code which the code consumer only has to validate. Depending on the type of safety property, proofs can however become quite large and their validation - though faster than their construction - still time consuming. In this paper we introduce a new concept for safe execution of untrusted code. It keeps the idea of putting the time consuming part of proving on the side of the code producer, however, attaches no proofs to code anymore but instead uses the proof to transform the program into an equivalent but more eﬃciently veriﬁable program. Code consumers thus still do proving themselves, however, on a computationally inexpensive level only. Experimental results show that the proof eﬀort can be reduced by several orders of magnitude, both with respect to time and space.

On-the-Fly Computing: Automatic Service Discovery and Composition in Heterogeneous Domains - Huma, Zille; Gerth, Christian; Engels, Gregor (Computer Science - Research and Development)
In software markets of the future, customer-specific software will be developed on demand based on distributed software and hardware services. Based on a customer-specific request, available service offers have to be discovered and composed into sophisticated IT services that fulfill the customer's request.A prerequisite of this vision are rich service descriptions, which comprise structural as well as behavioral aspects of the services, otherwise an accurate service discovery and composition is not possible. However, automatic matching of service requests and offers specified in rich service descriptions for the purpose of service discovery is a complex task, due to the multifaceted heterogeneity of the service partners. This heterogeneity includes the use of different specification languages, different underlying ontologies, or different levels of granularity in the specification itself.In this article, we present a comprehensive approach for service discovery and composition, which overcomes the underlying heterogeneity of the service partners. Based on a realistic case study of our industrial partner from the e-tourism domain, we first introduce an automatic matching mechanism for service requests and offers specified in a rich service description language. In addition, we propose an automatic service composition approach, which determines possible service compositions by composing the service protocols through a composition strategy based on labeled transition systems.

Combining Automatic Service Composition with Adaptive Service Recommendation for Dynamic Markets of Services - Jungmann, Alexander; Mohr, Felix; Kleinjohann, Bernd (Proceedings of the 10th World Congress on Services (SERVICES))
Automatic service composition is still a challengingtask. It is even more challenging when dealing witha dynamic market of services for end users. New servicesmay enter the market while other services are completelyremoved. Furthermore, end users are typically no experts in thedomain in which they formulate a request. As a consequence,ambiguous user requests will inevitably emerge and have tobe taken into account. To meet these challenges, we proposea new approach that combines automatic service compositionwith adaptive service recommendation. A best first backwardsearch algorithm produces solutions that are functional correctwith respect to user requests. An adaptive recommendationsystem supports the search algorithm in decision-making.Reinforcement Learning techniques enable the system to adjustits recommendation strategy over time based on user ratings.The integrated approach is described on a conceptional leveland demonstrated by means of an illustrative example fromthe image processing domain.

Combination of Service Matching Steps in Consideration of Efficiency and Fuzziness - Gao, Yuan

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.

Certification for Configurable Program Analysis - Jakobs, Marie-Christine; Wehrheim, Heike (Proceedings of the 21st International Symposium on Model Checking of Software (SPIN))
Configurable program analysis (CPA) is a generic concept for the formalization of different software analysis techniques in a single framework. With the tool CPAchecker, this framework allows for an easy configuration and subsequent automatic execution of analysis procedures ranging from data-flow analysis to model checking. The focus of the tool CPAchecker is thus on analysis. In this paper, we study configurability from the point of view of software certification. Certification aims at providing (via a prior analysis) a certificate of correctness for a program which is (a) tamper-proof and (b) more efficient to check for validity than a full analysis. Here, we will show how, given an analysis instance of a CPA, to construct a corresponding sound certification instance, thereby arriving at configurable program certification. We report on experiments with certification based on different analysis techniques, and in particular explain which characteristics of an underlying analysis allow us to design an efficient (in the above (b) sense) certification procedure.

Automated Service Composition: Adaption of the ASTRO Approach - Heldt, Waleri

Applying Reinforcement Learning for Resolving Ambiguity in Service Composition - Jungmann, Alexander; Mohr, Felix; Kleinjohann, Bernd (Proceedings of the 7th International Conference on Service Oriented Computing and Applications (SOCA))
Automatically composing service-based software solutionsis still a challenging task. Functional as well as nonfunctionalproperties have to be considered in order to satisfyindividual user requests. Regarding non-functional properties,the composition process can be modeled as optimization problemand solved accordingly. Functional properties, in turn, can bedescribed by means of a formal specification language. Statespacebased planning approaches can then be applied to solvethe underlying composition problem. However, depending on theexpressiveness of the applied formalism and the completenessof the functional descriptions, formally equivalent services maystill differ with respect to their implemented functionality. As aconsequence, the most appropriate solution for a desired functionalitycan hardly be determined without considering additionalinformation. In this paper, we demonstrate how to overcome thislack of information by means of Reinforcement Learning. Inorder to resolve ambiguity, we expand state-space based servicecomposition by a recommendation mechanism that supportsdecision-making beyond formal specifications. The recommendationmechanism adjusts its recommendation strategy basedon feedback from previous composition runs. Image processingserves as case study. Experimental results show the benefit of ourproposed solution.

Normalizing Heterogeneous Service Description Models with Generated QVT Transformations - Schwichtenberg, Simon; Gerth, Christian; Huma, Zille; Engels, Gregor (Proceedings of the 10th European Conference on Modelling Foundations and Applications (ECMFA))
Service Oriented Architectures (SOAs) enable the reuse and substitution of software services to develop highly flexible software systems. To benefit from the growing plethora of available services, sophisticated service discovery approaches are needed that bring service requests and offers together. Such approaches rely on rich service descriptions, which specify also the behavior of provided/requested services, e.g., by pre- and postconditions of operations. As a base for the specification a data schema is used, which specifies the used data types and their relations. However, data schemas are typically heterogeneous wrt. their structure and terminology, since they are created individually in their diverse application contexts. As a consequence the behavioral models that are typed over the heterogeneous data schemas, cannot be compared directly. In this paper, we present an holistic approach to normalize rich service description models to enable behavior-aware service discovery. The approach consists of a matching algorithm that helps to resolve structural and terminological heterogeneity in data schemas by exploiting domain-specific background ontologies. The resulting data schema mappings are represented in terms of Query View Transformation (QVT) relations that even reflect complex n:m correspondences. By executing the transformation, behavioral models are automatically normalized, which is a prerequisite for a behavior-aware operation matching.

Modeling and Matching of Reputation of Services in On-The-Fly Computing - Bano, Dorina

Memory Security in Reconfigurable Computers: Combining Formal Verification with Monitoring - Wiersema, Tobias; Drzevitzky, Stephanie; Platzner, Marco (Proceedings of the International Conference on Field-Programmable Technology (FPT))
Ensuring memory access security is a challenge for reconfigurable systems with multiple cores. Previous work introduced access monitors attached to the memory subsystem to ensure that the cores adhere to pre-defined protocols when accessing memory. In this paper, we combine access monitors with a formal runtime verification technique known as proof-carrying hardware to guarantee memory security. We extend previous work on proof-carrying hardware by covering sequential circuits and demonstrate our approach with a prototype leveraging ReconOS/Zynq with an embedded ZUMA virtual FPGA overlay. Experiments show the feasibility of the approach and the capabilities of the prototype, which constitutes the first realization of proof-carrying hardware on real FPGAs. The area overheads for the virtual FPGA are measured as 2x-10x, depending on the resource type. The delay overhead is substantial with almost 100x, but this is an extremely pessimistic estimate that will be lowered once accurate timing analysis for FPGA overlays become available. Finally, reconfiguration time for the virtual FPGA is about one order of magnitude lower than for the native Zynq fabric.

Measuring Transformation-induced Uncertainty in Service Matching: A Feasibility Study - Bunse, Mirko

Matching of Incomplete Service Specifications Exemplified by Privacy Policy Matching - Platenius, Marie Christin; Arifulina, Svetlana; Petrlic, Ronald; Schäfer, Wilhelm (Proceedings of the 4th International Workshop on Adaptive Services for the Future Internet)
Service matching approaches determine to what extent a provided service matches a requester's requirements. This process is based on service specifications describing functional (e.g., signatures) as well as non-functional properties (e.g., privacy policies). However, we cannot expect service specifications to be complete as providers do not want to share all details of their services' implementation. Moreover, creating complete specifications requires much effort. In this paper, we propose a novel service matching approach taking into account a service's signatures and privacy policies. In particular, our approach applies fuzzy matching techniques that are able to deal with incomplete service specifications. As a benefit, decision-making based on matching results is improved and service matching becomes better applicable in practice.

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.

Issues of Automated Software Composition in AI Planning - Mohr, Felix (Proceedings of the 29th International Conference on Automated Software Engineering (ASE))
Automated programming aims at automatically assembling a new software artifact from existing software modules. Although automated programming was revitalized through automated software composition in the last decade, the problem cannot be considered solved. Automated software composition is widely accepted as being a planning task, but the problem is that it has very special properties that other planning problems do not have and that are commonly overseen. These properties usually imply that the composition problem cannot be solved with standard planning tools. This paper gives a brief and intuitive description of the planning problem that most approaches are based on. It points out special properties of this problem and explains why it is not adequate to solve the problem with classical planning tools as done by most existing approaches.

Integrating Software and Hardware Verification - Jakobs, Marie-Christine; Platzner, Marco; Wiersema, Tobias; Wehrheim, Heike (Proceedings of the 11th International Conference on Integrated Formal Methods (iFM))
Verification of hardware and software usually proceeds separately, software analysis relying on the correctness of processors executing instructions. This assumption is valid as long as the software runs on standard CPUs that have been extensively validated and are in wide use. However, for processors exploiting custom instruction set extensions to meet performance and energy constraints the validation might be less extensive, challenging the correctness assumption.In this paper we present an approach for integrating software analyses with hardware verification, specifically targeting custom instruction set extensions. We propose three different techniques for deriving the properties to be proven for the hardware implementation of a custom instruction in order to support software analyses. The techniques are designed to explore the trade-off between generality and efficiency and span from proving functional equivalence over checking the rules of a particular analysis domain to verifying actual pre and post conditions resulting from program analysis. We demonstrate and compare the three techniques on example programs with custom instructions, using stateof-the-art software and hardware verification techniques.

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.

Incorporating Reputation Information into Decision-Making Processes in Markets of Composed Services - Jungmann, Alexander; Brangewitz, Sonja; Petrlic, Ronald; Platenius, Marie Christin (International Journal On Advances in Intelligent Systems (IntSys))
One goal of service-oriented computing is to realize future markets of composed services. In such markets, service providers offer services that can be ﬂexibly combined with each other. However, although crucial for decision-making, market participants are usually not able to individually estimate the quality of traded services in advance. To overcome this problem, we present a conceptual design for a reputation system that collects and processes user feedback on transactions, and provides this information as a signal for quality to participants in the market. Based on our proposed concept, we describe the incorporation of reputation information into distinct decision-making processes that are crucial in such service markets. In this context, we present a fuzzy service matching approach that takes reputation information into account. Furthermore, we introduce an adaptive service composition approach, and investigate the impact of exchanging immediate user feedback by reputation information. Last but not least, we describe the importance of reputation information for economic decisions of different market participants. The overall output of this paper is a comprehensive view on managing and exploiting reputation information in markets of composed services using the example of On-The-Fly Computing.

Improving Service Specifications for the Service Matching on a Service Market - Taherinajafabadi, Vahide

Handling Incomplete Service Specifications using Fuzzy Matching - Vijapurwala, Shafi

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.

Generierung von Eigenschaftsprüfern in einem Hardware/Software-Co-Verifikationsverfahren - Pauck, Felix

Fuzzy Matching of Service Price Specifications - Merschjohann, Sven