16 research outputs found
FatPaths: Routing in Supercomputers and Data Centers when Shortest Paths Fall Short
We introduce FatPaths: a simple, generic, and robust routing architecture
that enables state-of-the-art low-diameter topologies such as Slim Fly to
achieve unprecedented performance. FatPaths targets Ethernet stacks in both HPC
supercomputers as well as cloud data centers and clusters. FatPaths exposes and
exploits the rich ("fat") diversity of both minimal and non-minimal paths for
high-performance multi-pathing. Moreover, FatPaths uses a redesigned "purified"
transport layer that removes virtually all TCP performance issues (e.g., the
slow start), and incorporates flowlet switching, a technique used to prevent
packet reordering in TCP networks, to enable very simple and effective load
balancing. Our design enables recent low-diameter topologies to outperform
powerful Clos designs, achieving 15% higher net throughput at 2x lower latency
for comparable cost. FatPaths will significantly accelerate Ethernet clusters
that form more than 50% of the Top500 list and it may become a standard routing
scheme for modern topologies
Failure Resilience and Traffic Engineering for Multi-Controller Software Defined Networking
This thesis explores and proposes solutions to address the challenges faced by Multi-Controller SDN (MCSDN) systems when deploying TE optimisation on WANs. Despite the interest from the research community, existing MCSDN systems present limitations. For example, TE optimisation systems are computationally complex, have high consistency requirements, and need network-wide state to operate. Because of such requirements, MCSDN systems can encounter performance overheads and state consistency problems when implementing TE. Moreover, performance and consistency problems are more prominent when deploying the system on WANs as these network types have higher inter-device latency, delaying state propagation.
Unlike existing literature, this thesis presents several design choices that address all four challenges affecting MCSDN systems (scalability, consistency, resilience, and coordination). We use the presented design choices to build Helix, a hierarchical MCSDN system. Helix provides better scalability, performance and failure resilience compared to existing MCSDN systems by sharing minimal state between controllers, offloading operations closer to the data plane and deploying lightweight tasks.
A challenge that we faced when building Helix was that existing TE algorithms did not meet Helix's design choices. This thesis presents a new CSPF-based TE algorithm that needs minimal state to operate and supports offloading inter-area TE to local controllers, fulfilling Helix's requirements. Helix's TE algorithm provides better performance and forwarding stability, addressing 1.6x more congestion while performing up to 29x fewer path modifications than the other algorithms evaluated in our experiments.
While MCSDN literature has explored evaluating different aspects of system performance, there is a lack of readily available tools and concrete testing methodologies. To this end, this thesis provides concrete testing methodologies and tools readily available to the MCSDN community to evaluate the data plane failure resilience, control plane failure resilience, and TE optimisation performance of MCSDN systems
Towards Scalable Network Traffic Measurement With Sketches
Driven by the ever-increasing data volume through the Internet, the per-port speed of network devices reached 400 Gbps, and high-end switches are capable of processing 25.6 Tbps of network traffic. To improve the efficiency and security of the network, network traffic measurement becomes more important than ever. For fast and accurate traffic measurement, managing an accurate working set of active flows (WSAF) at line rates is a key challenge. WSAF is usually located in high-speed but expensive memories, such as TCAM or SRAM, and thus their capacity is quite limited. To scale up the per-flow measurement, we pursue three thrusts. In the first thrust, we propose to use In-DRAM WSAF and put a compact data structure (i.e., sketch) called FlowRegulator before WSAF to compensate for DRAM\u27s slow access time. Per our results, FlowRegulator can substantially reduce massive influxes to WSAF without compromising measurement accuracy. In the second thrust, we integrate our sketch into a network system and propose an SDN-based WLAN monitoring and management framework called RFlow+, which can overcome the limitations of existing traffic measurement solutions (e.g., OpenFlow and sFlow), such as a limited view, incomplete flow statistics, and poor trade-off between measurement accuracy and CPU/network overheads. In the third thrust, we introduce a novel sampling scheme to deal with the poor trade-off that is provided by the standard simple random sampling (SRS). Even though SRS has been widely used in practice because of its simplicity, it provides non-uniform sampling rates for different flows, because it samples packets over an aggregated data flow. Starting with a simple idea that independent per-flow packet sampling provides the most accurate estimation of each flow, we introduce a new concept of per-flow systematic sampling, aiming to provide the same sampling rate across all flows. In addition, we provide a concrete sampling method called SketchFlow, which approximates the idea of the per-flow systematic sampling using a sketch saturation event
On the design of efficient caching systems
Content distribution is currently the prevalent Internet use case, accounting for the majority of global Internet traffic and growing exponentially. There is general consensus that the most effective method to deal with the large amount of content demand is through the deployment of massively distributed caching infrastructures as the means to localise content delivery traffic. Solutions based on caching have been already widely deployed through Content Delivery Networks. Ubiquitous caching is also a fundamental aspect of the emerging Information-Centric Networking paradigm which aims to rethink the current Internet architecture for long term evolution. Distributed content caching systems are expected to grow substantially in the future, in terms of both footprint and traffic carried and, as such, will become substantially more complex and costly. This thesis addresses the problem of designing scalable and cost-effective distributed caching systems that will be able to efficiently support the expected massive growth of content traffic and makes three distinct contributions. First, it produces an extensive theoretical characterisation of sharding, which is a widely used technique to allocate data items to resources of a distributed system according to a hash function. Based on the findings unveiled by this analysis, two systems are designed contributing to the abovementioned objective. The first is a framework and related algorithms for enabling efficient load-balanced content caching. This solution provides qualitative advantages over previously proposed solutions, such as ease of modelling and availability of knobs to fine-tune performance, as well as quantitative advantages, such as 2x increase in cache hit ratio and 19-33% reduction in load imbalance while maintaining comparable latency to other approaches. The second is the design and implementation of a caching node enabling 20 Gbps speeds based on inexpensive commodity hardware. We believe these contributions advance significantly the state of the art in distributed caching systems
Elastic Resource Management in Distributed Clouds
The ubiquitous nature of computing devices and their increasing reliance on remote resources have driven and shaped public cloud platforms into unprecedented large-scale, distributed data centers. Concurrently, a plethora of cloud-based applications are experiencing multi-dimensional workload dynamics---workload volumes that vary along both time and space axes and with higher frequency.
The interplay of diverse workload characteristics and distributed clouds raises several key challenges for efficiently and dynamically managing server resources. First, current cloud platforms impose certain restrictions that might hinder some resource management tasks. Second, an application-agnostic approach might not entail appropriate performance goals, therefore, requires numerous specific methods. Third, provisioning resources outside LAN boundary might incur huge delay which would impact the desired agility.
In this dissertation, I investigate the above challenges and present the design of automated systems that manage resources for various applications in distributed clouds. The intermediate goal of these automated systems is to fully exploit potential benefits such as reduced network latency offered by increasingly distributed server resources. The ultimate goal is to improve end-to-end user response time with novel resource management approaches, within a certain cost budget.
Centered around these two goals, I first investigate how to optimize the location and performance of virtual machines in distributed clouds. I use virtual desktops, mostly serving a single user, as an example use case for developing a black-box approach that ranks virtual machines based on their dynamic latency requirements. Those with high latency sensitivities have a higher priority of being placed or migrated to a cloud location closest to their users. Next, I relax the assumption of well-provisioned virtual machines and look at how to provision enough resources for applications that exhibit both temporal and spatial workload fluctuations. I propose an application-agnostic queueing model that captures the resource utilization and server response time. Building upon this model, I present a geo-elastic provisioning approach---referred as geo-elasticity---for replicable multi-tier applications that can spin up an appropriate amount of server resources in any cloud locations. Last, I explore the benefits of providing geo-elasticity for database clouds, a popular platform for hosting application backends. Performing geo-elastic provisioning for backend database servers entails several challenges that are specific to database workload, and therefore requires tailored solutions. In addition, cloud platforms offer resources at various prices for different locations. Towards this end, I propose a cost-aware geo-elasticity that combines a regression-based workload model and a queueing network capacity model for database clouds.
In summary, hosting a diverse set of applications in an increasingly distributed cloud makes it interesting and necessary to develop new, efficient and dynamic resource management approaches
Human Practice. Digital Ecologies. Our Future. : 14. Internationale Tagung Wirtschaftsinformatik (WI 2019) : Tagungsband
Erschienen bei: universi - UniversitÀtsverlag Siegen. - ISBN: 978-3-96182-063-4Aus dem Inhalt:
Track 1: Produktion & Cyber-Physische Systeme
Requirements and a Meta Model for Exchanging Additive Manufacturing Capacities
Service Systems, Smart Service Systems and Cyber- Physical SystemsâWhatâs the difference? Towards a Unified Terminology
Developing an Industrial IoT Platform â Trade-off between Horizontal and Vertical Approaches
Machine Learning und Complex Event Processing: Effiziente Echtzeitauswertung am Beispiel Smart Factory
Sensor retrofit for a coffee machine as condition monitoring and predictive maintenance use case
Stakeholder-Analyse zum Einsatz IIoT-basierter Frischeinformationen in der Lebensmittelindustrie
Towards a Framework for Predictive Maintenance Strategies in Mechanical Engineering - A Method-Oriented Literature Analysis
Development of a matching platform for the requirement-oriented selection of cyber physical systems for SMEs
Track 2: Logistic Analytics
An Empirical Study of Customersâ Behavioral Intention to Use Ridepooling Services â An Extension of the Technology Acceptance Model
Modeling Delay Propagation and Transmission in Railway Networks
What is the impact of company specific adjustments on the acceptance and diffusion of logistic standards?
Robust Route Planning in Intermodal Urban Traffic
Track 3: Unternehmensmodellierung & Informationssystemgestaltung (Enterprise Modelling & Information Systems Design)
Work System Modeling Method with Different Levels of Specificity and Rigor for Different Stakeholder Purposes
Resolving Inconsistencies in Declarative Process Models based on Culpability Measurement
Strategic Analysis in the Realm of Enterprise Modeling â On the Example of Blockchain-Based Initiatives for the Electricity Sector
Zwischenbetriebliche Integration in der Möbelbranche: Konfigurationen und Einflussfaktoren
Novicesâ Quality Perceptions and the Acceptance of Process Modeling Grammars
Entwicklung einer Definition fĂŒr Social Business Objects (SBO) zur Modellierung von Unternehmensinformationen
Designing a Reference Model for Digital Product Configurators
Terminology for Evolving Design Artifacts
Business Role-Object Specification: A Language for Behavior-aware Structural Modeling of Business Objects
Generating Smart Glasses-based Information Systems with BPMN4SGA: A BPMN Extension for Smart Glasses Applications
Using Blockchain in Peer-to-Peer Carsharing to Build Trust in the Sharing Economy
Testing in Big Data: An Architecture Pattern for a Development Environment for Innovative, Integrated and Robust Applications
Track 4: Lern- und Wissensmanagement (e-Learning and Knowledge Management)
eGovernment Competences revisited â A Literature Review on necessary Competences in a Digitalized Public Sector
Say Hello to Your New Automated Tutor â A Structured Literature Review on Pedagogical Conversational Agents
Teaching the Digital Transformation of Business Processes: Design of a Simulation Game for Information Systems Education
Conceptualizing Immersion for Individual Learning in Virtual Reality
Designing a Flipped Classroom Course â a Process Model
The Influence of Risk-Taking on Knowledge Exchange and Combination
Gamified Feedback durch Avatare im Mobile Learning
Alexa, Can You Help Me Solve That Problem? - Understanding the Value of Smart Personal Assistants as Tutors for Complex Problem Tasks
Track 5: Data Science & Business Analytics
Matching with Bundle Preferences: Tradeoff between Fairness and Truthfulness
Applied image recognition: guidelines for using deep learning models in practice
Yield Prognosis for the Agrarian Management of Vineyards using Deep Learning for Object Counting
Reading Between the Lines of Qualitative Data â How to Detect Hidden Structure Based on Codes
Online Auctions with Dual-Threshold Algorithms: An Experimental Study and Practical Evaluation
Design Features of Non-Financial Reward Programs for Online Reviews: Evaluation based on Google Maps Data
Topic Embeddings â A New Approach to Classify Very Short Documents Based on Predefined Topics
Leveraging Unstructured Image Data for Product Quality Improvement
Decision Support for Real Estate Investors: Improving Real Estate Valuation with 3D City Models and Points of Interest
Knowledge Discovery from CVs: A Topic Modeling Procedure
Online Product Descriptions â Boost for your Sales?
EntscheidungsunterstĂŒtzung durch historienbasierte Dienstreihenfolgeplanung mit Pattern
A Semi-Automated Approach for Generating Online Review Templates
Machine Learning goes Measure Management: Leveraging Anomaly Detection and Parts Search to Improve Product-Cost Optimization
Bedeutung von Predictive Analytics fĂŒr den theoretischen Erkenntnisgewinn in der IS-Forschung
Track 6: Digitale Transformation und Dienstleistungen
Heuristic Theorizing in Software Development: Deriving Design Principles for Smart Glasses-based Systems
Mirroring E-service for Brick and Mortar Retail: An Assessment and Survey
Taxonomy of Digital Platforms: A Platform Architecture Perspective
Value of Star Players in the Digital Age
Local Shopping Platforms â Harnessing Locational Advantages for the Digital Transformation of Local Retail Outlets: A Content Analysis
A Socio-Technical Approach to Manage Analytics-as-a-Service â Results of an Action Design Research Project
Characterizing Approaches to Digital Transformation: Development of a Taxonomy of Digital Units
Expectations vs. Reality â Benefits of Smart Services in the Field of Tension between Industry and Science
Innovation Networks and Digital Innovation: How Organizations Use Innovation Networks in a Digitized Environment
Characterising Social Reading Platformsâ A Taxonomy-Based Approach to Structure the Field
Less Complex than Expected â What Really Drives IT Consulting Value
Modularity Canvas â A Framework for Visualizing Potentials of Service Modularity
Towards a Conceptualization of Capabilities for Innovating Business Models in the Industrial Internet of Things
A Taxonomy of Barriers to Digital Transformation
Ambidexterity in Service Innovation Research: A Systematic Literature Review
Design and success factors of an online solution for cross-pillar pension information
Track 7: IT-Management und -Strategie
A Frugal Support Structure for New Software Implementations in SMEs
How to Structure a Company-wide Adoption of Big Data Analytics
The Changing Roles of Innovation Actors and Organizational Antecedents in the Digital Age
Bewertung des Kundennutzens von Chatbots fĂŒr den Einsatz im Servicedesk
Understanding the Benefits of Agile Software Development in Regulated Environments
Are Employees Following the Rules? On the Effectiveness of IT Consumerization Policies
Agile and Attached: The Impact of Agile Practices on Agile Team Membersâ Affective Organisational Commitment
The Complexity Trap â Limits of IT Flexibility for Supporting Organizational Agility in Decentralized Organizations
Platform Openness: A Systematic Literature Review and Avenues for Future Research
Competence, Fashion and the Case of Blockchain
The Digital Platform Otto.de: A Case Study of Growth, Complexity, and Generativity
Track 8: eHealth & alternde Gesellschaft
Security and Privacy of Personal Health Records in Cloud Computing Environments â An Experimental Exploration of the Impact of Storage Solutions and Data Breaches
Patientenintegration durch Pfadsysteme
Digitalisierung in der StressprĂ€vention â eine qualitative Interviewstudie zu Nutzenpotenzialen
User Dynamics in Mental Health Forums â A Sentiment Analysis Perspective
Intent and the Use of Wearables in the Workplace â A Model Development
Understanding Patient Pathways in the Context of Integrated Health Care Services - Implications from a Scoping Review
Understanding the Habitual Use of Wearable Activity Trackers
On the Fit in Fitness Apps: Studying the Interaction of Motivational Affordances and Usersâ Goal Orientations in Affecting the Benefits Gained
Gamification in Health Behavior Change Support Systems - A Synthesis of Unintended Side Effects
Investigating the Influence of Information Incongruity on Trust-Relations within Trilateral Healthcare Settings
Track 9: Krisen- und KontinuitÀtsmanagement
Potentiale von IKT beim Ausfall kritischer Infrastrukturen: Erwartungen, Informationsgewinnung und Mediennutzung der Zivilbevölkerung in Deutschland
Fake News Perception in Germany: A Representative Study of Peopleâs Attitudes and Approaches to Counteract Disinformation
Analyzing the Potential of Graphical Building Information for Fire Emergency Responses: Findings from a Controlled Experiment
Track 10: Human-Computer Interaction
Towards a Taxonomy of Platforms for Conversational Agent Design
Measuring Service Encounter Satisfaction with Customer Service Chatbots using Sentiment Analysis
Self-Tracking and Gamification: Analyzing the Interplay of Motivations, Usage and Motivation Fulfillment
Erfolgsfaktoren von Augmented-Reality-Applikationen: Analyse von Nutzerrezensionen mit dem Review-Mining-Verfahren
Designing Dynamic Decision Support for Electronic Requirements Negotiations
Who is Stressed by Using ICTs? A Qualitative Comparison Analysis with the Big Five Personality Traits to Understand Technostress
Walking the Middle Path: How Medium Trade-Off Exposure Leads to Higher Consumer Satisfaction in Recommender Agents
Theory-Based Affordances of Utilitarian, Hedonic and Dual-Purposed Technologies: A Literature Review
Eliciting Customer Preferences for Shopping Companion Apps: A Service Quality Approach
The Role of Early User Participation in Discovering Software â A Case Study from the Context of Smart Glasses
The Fluidity of the Self-Concept as a Framework to Explain the Motivation to Play Video Games
Heart over Heels? An Empirical Analysis of the Relationship between Emotions and Review Helpfulness for Experience and Credence Goods
Track 11: Information Security and Information Privacy
Unfolding Concerns about Augmented Reality Technologies: A Qualitative Analysis of User Perceptions
To (Psychologically) Own Data is to Protect Data: How Psychological Ownership Determines Protective Behavior in a Work and Private Context
Understanding Data Protection Regulations from a Data Management Perspective: A Capability-Based Approach to EU-GDPR
On the Difficulties of Incentivizing Online Privacy through Transparency: A Qualitative Survey of the German Health Insurance Market
What is Your Selfie Worth? A Field Study on Individualsâ Valuation of Personal Data
Justification of Mass Surveillance: A Quantitative Study
An Exploratory Study of Risk Perception for Data Disclosure to a Network of Firms
Track 12: Umweltinformatik und nachhaltiges Wirtschaften
KommunikationsfĂ€den im Nadelöhr â Fachliche Prozessmodellierung der Nachhaltigkeitskommunikation am Kapitalmarkt
Potentiale und Herausforderungen der Materialflusskostenrechnung
Computing Incentives for User-Based Relocation in Carsharing
Sustainabilityâs Coming Home: Preliminary Design Principles for the Sustainable Smart District
Substitution of hazardous chemical substances using Deep Learning and t-SNE
A Hierarchy of DSMLs in Support of Product Life-Cycle Assessment
A Survey of Smart Energy Services for Private Households
Door-to-Door Mobility Integrators as Keystone Organizations of Smart Ecosystems: Resources and Value Co-Creation â A Literature Review
Ein EntscheidungsunterstĂŒtzungssystem zur ökonomischen Bewertung von Mieterstrom auf Basis der Clusteranalyse
Discovering Blockchain for Sustainable Product-Service Systems to enhance the Circular Economy
Digitale RĂŒckverfolgbarkeit von Lebensmitteln: Eine verbraucherinformatische Studie
Umweltbewusstsein durch audiovisuelles Content Marketing? Eine experimentelle Untersuchung zur Konsumentenbewertung nachhaltiger Smartphones
Towards Predictive Energy Management in Information Systems: A Research Proposal
A Web Browser-Based Application for Processing and Analyzing Material Flow Models using the MFCA Methodology
Track 13: Digital Work - Social, mobile, smart
On Conversational Agents in Information Systems Research: Analyzing the Past to Guide Future Work
The Potential of Augmented Reality for Improving Occupational First Aid
Prevent a Vicious Circle! The Role of Organizational IT-Capability in Attracting IT-affine Applicants
Good, Bad, or Both? Conceptualization and Measurement of Ambivalent User Attitudes Towards AI
A Case Study on Cross-Hierarchical Communication in Digital Work Environments
âShow Me Your People Skillsâ - Employing CEO Branding for Corporate Reputation Management in Social Media
A Multiorganisational Study of the Drivers and Barriers of Enterprise Collaboration Systems-Enabled Change
The More the Merrier? The Effect of Size of Core Team Subgroups on Success of Open Source Projects
The Impact of Anthropomorphic and Functional Chatbot Design Features in Enterprise Collaboration Systems on User Acceptance
Digital Feedback for Digital Work? Affordances and Constraints of a Feedback App at InsurCorp
The Effect of Marker-less Augmented Reality on Task and Learning Performance
Antecedents for Cyberloafing â A Literature Review
Internal Crowd Work as a Source of Empowerment - An Empirical Analysis of the Perception of Employees in a Crowdtesting Project
Track 14: GeschÀftsmodelle und digitales Unternehmertum
Dividing the ICO Jungle: Extracting and Evaluating Design Archetypes
Capturing Value from Data: Exploring Factors Influencing Revenue Model Design for Data-Driven Services
Understanding the Role of Data for Innovating Business Models: A System Dynamics Perspective
Business Model Innovation and Stakeholder: Exploring Mechanisms and Outcomes of Value Creation and Destruction
Business Models for Internet of Things Platforms: Empirical Development of a Taxonomy and Archetypes
Revitalizing established Industrial Companies: State of the Art and Success Principles of Digital Corporate Incubators
When 1+1 is Greater than 2: Concurrence of Additional Digital and Established Business Models within Companies
Special Track 1: Student Track
Investigating Personalized Price Discrimination of Textile-, Electronics- and General Stores in German Online Retail
From Facets to a Universal Definition â An Analysis of IoT Usage in Retail
Is the Technostress Creators Inventory Still an Up-To-Date Measurement Instrument? Results of a Large-Scale Interview Study
Application of Media Synchronicity Theory to Creative Tasks in Virtual Teams Using the Example of Design Thinking
TrustyTweet: An Indicator-based Browser-Plugin to Assist Users in Dealing with Fake News on Twitter
Application of Process Mining Techniques to Support Maintenance-Related Objectives
How Voice Can Change Customer Satisfaction: A Comparative Analysis between E-Commerce and Voice Commerce
Business Process Compliance and Blockchain: How Does the Ethereum Blockchain Address Challenges of Business Process Compliance?
Improving Business Model Configuration through a Question-based Approach
The Influence of Situational Factors and Gamification on Intrinsic Motivation and Learning
Evaluation von ITSM-Tools fĂŒr Integration und Management von Cloud-Diensten am Beispiel von ServiceNow
How Software Promotes the Integration of Sustainability in Business Process Management
Criteria Catalog for Industrial IoT Platforms from the Perspective of the Machine Tool Industry
Special Track 3: Demos & Prototyping
Privacy-friendly User Location Tracking with Smart Devices: The BeaT Prototype
Application-oriented robotics in nursing homes
Augmented Reality for Set-up Processe
Mixed Reality for supporting Remote-Meetings
Gamification zur Motivationssteigerung von Werkern bei der Betriebsdatenerfassung
Automatically Extracting and Analyzing Customer Needs from Twitter: A âNeedminingâ Prototype
GaNEsHA: Opportunities for Sustainable Transportation in Smart Cities
TUCANA: A platform for using local processing power of edge devices for building data-driven services
Demonstrator zur Beschreibung und Visualisierung einer kritischen Infrastruktur
Entwicklung einer alltagsnahen persuasiven App zur Bewegungsmotivation fĂŒr Ă€ltere Nutzerinnen und Nutzer
A browser-based modeling tool for studying the learning of conceptual modeling based on a multi-modal data collection approach
Exergames & Dementia: An interactive System for People with Dementia and their Care-Network
Workshops
Workshop Ethics and Morality in Business Informatics (Workshop Ethik und Moral in der Wirtschaftsinformatik â EMoWIâ19)
Model-Based Compliance in Information Systems - Foundations, Case Description and Data Set of the MobIS-Challenge for Students and Doctoral Candidates
Report of the Workshop on Concepts and Methods of Identifying Digital Potentials in Information Management
Control of Systemic Risks in Global Networks - A Grand Challenge to Information Systems Research
Die Mitarbeiter von morgen - Kompetenzen kĂŒnftiger Mitarbeiter im Bereich Business Analytics
Digitaler Konsum: Herausforderungen und Chancen der Verbraucherinformati
Generic Quality-Aware Refactoring and Co-Refactoring in Heterogeneous Model Environments
Software has been subject to change, at all times, in order to make parts of it, for instance, more reusable, better to understand by humans, or to increase efficiency under a certain point of view. Restructurings of existing software can be complex. To prevent developers from doing this manually, they got tools at hand being able to apply such restructurings automatically. These automatic changes of existing software to improve quality while preserving its behaviour is called refactoring. Refactoring is well investigated for programming languages and mature tools exist for executing refactorings in integrated development environments (IDEs).
In recent years, the development paradigm of Model-Driven Software Development (MDSD) became more and more popular and we experience a shift in the sense that development artefacts are considered as models which conform metamodels. This can be understood as abstraction, which resulted in the trend that a plethora of new so-called model-based Domain-Specific Languages (DSLs) arose. DSLs have become an integral part in the MDSD and it is obvious that models are subject to change, as well. Thus, refactoring support is required for DSLs in order to prevent users from doing it manually.
The problem is that the amount of DSLs is huge and refactorings should not be implemented for new for each of them, since they are quite similar from an abstract viewing. Existing approaches abstract from the target language, which is not flexible enough because some assumptions about the languages have to be made and arbitrary DSLs are not supported. Furthermore, the relation between a strategy which finds model deficiencies that should be improved, a resolving refactoring, and the improved quality is only implicit. Focussing on a particular quality and only detecting those deficiencies deteriorating this quality is difficult, and elements of detected deficient structures cannot be referred to in the resolving refactoring.
In addition, heterogeneous models in an IDE might be connected physically or logically, thus, they are dependent. Finding such connections is difficult and can hardly be achieved manually. Applying a restructuring in a model implied by a refactoring in a dependent model must also be a refactoring, in order to preserve the meaning. Thus, this kind of dependent refactorings require an appropriate abstraction mechanism, since they must be specified for dependent models of different DSLs.
The first contribution, Role-Based Generic Model Refactoring, uses role models to abstract from refactorings instead of the target languages. Thus, participating structures in a refactoring can be specified generically by means of role models. As a consequence, arbitrary model-based DSLs are supported, since this approach does not make any assumptions regarding the target languages.
Our second contribution, Role-Based Quality Smells, is a conceptual framework and correlates deficiencies, their deteriorated qualities, and resolving refactorings. Roles are used to abstract from the causing structures of a deficiency, which then are subject to resolving refactorings.
The third contribution, Role-Based Co-Refactoring, employs the graph-logic isomorphism to detect dependencies between models. Dependent refactorings, which we call co-refactorings, are specified on the basis of roles for being independent from particular target DSLs.
All introduced concepts are implemented in our tool Refactory. An evaluation in different scenarios complements the thesis. It shows that role models emerged as very powerful regarding the reuse of generic refactorings in arbitrary languages. Role models are suited as an interface for certain structures which are to be refactored, scanned for deficiencies, or co-refactored. All of the presented approaches benefit from it.:List of Figures xv
List of Tables xvii
List of Listings xix
1. Introduction 1
1.1. Language-Tool Generation Without Consideration Of Time And Space . . . . . 4
1.2. Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. Generic Quality-Aware Refactoring and Co-Refactoring in Heterogeneous Model
Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2. Foundations 15
2.1. Refactoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. Model-Driven Software Development . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1. Levels of Abstraction and Metamodelling . . . . . . . . . . . . . . . . . 17
2.2.2. Model Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3. Role-Based Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3. Related Work 23
3.1. Model Refactoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.2. Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.3. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2. Determination of Quality-Related De ciencies . . . . . . . . . . . . . . . . . . . 32
3.2.1. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.2. Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.3. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3. Co-Refactoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.1. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.2. Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.3. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4. Role-Based Generic Model Refactoring 51
4.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2. Specifying Generic Refactorings with Role Models . . . . . . . . . . . . . . . . . 53
4.2.1. Specifying Structural Constraints using Role Models . . . . . . . . . . . 55
4.2.2. Mapping Roles to Language Concepts Using Role Mappings . . . . . . . 57
4.2.3. Specifying Language-Independent Transformations using Refactoring
Speci cations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2.4. Composition of Refactorings . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3. Preserving Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5. Suggesting Role Mappings as Concrete Refactorings 73
5.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2. Automatic Derivation of Suggestions for Role Mappings with Graph Querying . 74
5.3. Reduction of the Number of Valid Matches . . . . . . . . . . . . . . . . . . . . . 76
5.4. Comparison to Model Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6. Role-Based Quality Smells as Refactoring Indicator 79
6.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2. Correlating Model De ciencies, Qualities and Refactorings . . . . . . . . . . . . 80
6.2.1. Quality Smell Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2.2. Quality Smell Calculation Repository . . . . . . . . . . . . . . . . . . . . 85
6.3. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7. A Quality Smell Catalogue for Android Applications 89
7.1. Quality Smell Catalogue Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.2. Acquiring Quality Smells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.3. Structure-Based Quality SmellsâA Detailed Example . . . . . . . . . . . . . . . 92
7.3.1. The Pattern Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.3.2. Quality Smell: Interruption from Background . . . . . . . . . . . . . . . 93
7.4. Quality Smells for Android Applications . . . . . . . . . . . . . . . . . . . . . . 96
7.4.1. Quality Smell: Data Transmission Without Compression . . . . . . . . . 96
7.4.2. Quality Smell: Dropped Data . . . . . . . . . . . . . . . . . . . . . . . . 98
7.4.3. Quality Smell: Durable WakeLock . . . . . . . . . . . . . . . . . . . . . 98
7.4.4. Quality Smell: Internal Use of Getters/Setters . . . . . . . . . . . . . . . 99
7.4.5. Quality Smell: No Low Memory Resolver . . . . . . . . . . . . . . . . . 101
7.4.6. Quality Smell: Rigid AlarmManager . . . . . . . . . . . . . . . . . . . . 101
7.4.7. Quality Smell: Unclosed Closeable . . . . . . . . . . . . . . . . . . . . . 102
7.4.8. Quality Smell: Untouchable . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8. Role-Based Co-Refactoring in Multi-Language Development Environments 105
8.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
8.3. Dependency Knowledge Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.3.1. Categories of Model Dependencies . . . . . . . . . . . . . . . . . . . . . 108
8.3.2. When to Determine Model Dependencies . . . . . . . . . . . . . . . . . 110
8.3.3. How to Determine Model Dependencies . . . . . . . . . . . . . . . . . . 111
8.4. Co-Refactoring Knowledge Base . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.4.1. Specifying Coupled Refactorings with Co-Refactoring Speci cations . . 114
8.4.2. Specifying Bindings for Co-Refactorings . . . . . . . . . . . . . . . . . . 116
8.4.3. Determination of Co-Refactoring Speci cations . . . . . . . . . . . . . . 118
8.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
9. Refactory: An Eclipse Tool For Quality-Aware Refactoring and Co-Refactoring 121
9.1. Refactoring Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
9.1.1. Role Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
9.1.2. Refactoring Speci cation . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
9.1.3. Role Model Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
9.1.4. Refactoring Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
9.1.5. Custom Refactoring Extensions . . . . . . . . . . . . . . . . . . . . . . . 129
9.1.6. Pre- and Post-conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
9.1.7. Integration Into the Eclipse Refactoring Framework . . . . . . . . . . . . 130
9.2. Quality Smell Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
9.3. Co-Refactoring Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.3.1. Concrete Syntax of a CoRefSpec . . . . . . . . . . . . . . . . . . . . . . . 138
9.3.2. Expression Evaluation by Using an Expression Language . . . . . . . . . 138
9.3.3. UI and Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
10. Evaluation 143
10.1. Case Study: Reuse of Generic Refactorings in many DSLs . . . . . . . . . . . . . 143
10.1.1. Threats to validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
10.1.2. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.1.3. Experience Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.2. Case Study: Suggestion of Valid Role Mappings . . . . . . . . . . . . . . . . . . 147
10.2.1. Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.2.2. Evaluation and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.3. Proof of Concept: Co-Refactoring OWL and Ecore Models . . . . . . . . . . . . 155
10.3.1. Coupled OWL-Ecore Refactorings . . . . . . . . . . . . . . . . . . . . . 156
10.3.2. Realisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.3.3. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
11. Summary, Conclusion and Outlook 161
11.1. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.2. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.3. Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Appendix 169
A. List of Role Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
B. Comparison to Role Feature Model . . . . . . . . . . . . . . . . . . . . . . . . . 171
C. Complete List of Role Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
D. List of all IncPL Patterns for Detecting Quality Smells . . . . . . . . . . . . . . . 176
E. Post-Processor of the Extract CompositeState refactoring for UML State Machines 183
F. Speci cation of the Conference Language . . . . . . . . . . . . . . . . . . . . . . 185
List of Abbreviations 187
Bibliography 19