Software Product Lines Going Beyond

Software Product Lines Going Beyond Book in PDF, ePub and Kindle version is available to download in english. Read online anytime anywhere directly from your device. Click on the download button below to get a free pdf file of Software Product Lines Going Beyond book. This book definitely worth reading, it is an incredibly well-written.

Software Product Lines: Going Beyond

Author : Jan Bosch,Jaejoon Lee
Publisher : Springer Science & Business Media
Page : 549 pages
File Size : 51,7 Mb
Release : 2010-08-30
Category : Computers
ISBN : 9783642155789

Get Book

Software Product Lines: Going Beyond by Jan Bosch,Jaejoon Lee Pdf

This volume constitutes the refereed proceedings of the 14th International Software Product Line Conference, SPLC 2010, held on Jeju Island, South Korea, in September 2010.

UML-Based Software Product Line Engineering with SMarty

Author : Edson OliveiraJr
Publisher : Springer Nature
Page : 517 pages
File Size : 47,9 Mb
Release : 2023-03-10
Category : Computers
ISBN : 9783031185564

Get Book

UML-Based Software Product Line Engineering with SMarty by Edson OliveiraJr Pdf

This book is about software product lines (SPLs) designed and developed taking UML diagrams as the primary basis, modeled according to a rigorous approach composed of an UML profile and a systematic process for variability management activities, forming the Stereotype-based Management of Variability (SMarty) approach. The book consists of five parts. Part I provides essential concepts on SPL in terms of the first development methodologies. It also introduces variability concepts and discusses SPL architectures finishing with the SMarty approach. Part II is focused on the design, verification and validation of SMarty SPLs, and Part III concentrates on the SPL architecture evolution based on ISO/IEC metrics, the SystEM-PLA method, optimization with the MOA4PLA method, and feature interaction prevention. Next, Part IV presents SMarty as a basis for SPL development, such as, the M-SPLearning SPL for mobile learning applications, the PLeTs SPL for testing tools, the PlugSPL plugin environment for supporting the SPL life cycle, the SyMPLES approach for designing embedded systems with SysML, the SMartySPEM approach for software process lines (SPrL), and re-engineering of class diagrams into an SPL. Eventually, Part V promotes controlled experimentation in UML-based SPLs, presenting essential concepts on how to plan, conduct, and document experiments, as well as showing several experiments carried out with SMarty. This book aims at lecturers, graduate students and experienced practitioners. Lecturers might use the book for graduate level courses about SPL fundamentals and tools; students will learn about the SPL engineering process, variability management, and mass customization; and practitioners will see how to plan the transition from single-product development to an SPL-based process, how to document inherent variability in a given domain, or how to apply controlled experiments to SPLs.

Consolidation of Customized Product Copies into Software Product Lines

Author : Klatt, Benjamin
Publisher : KIT Scientific Publishing
Page : 484 pages
File Size : 50,5 Mb
Release : 2016-11-10
Category : Electronic computers. Computer science
ISBN : 9783731503682

Get Book

Consolidation of Customized Product Copies into Software Product Lines by Klatt, Benjamin Pdf

In software development, project constraints lead to customer-specific variants by copying and adapting the product. During this process, modifications are scattered all over the code. Although this is flexible and efficient in the short term, a Software Product Line (SPL) offers better results in the long term, regarding cost reduction, time-to-market, and quality attributes. This book presents a novel approach named SPLevo, which consolidates customized product copies into an SPL.

Concurrent Engineering in the 21st Century

Author : Josip Stjepandić,Nel Wognum,Wim J.C. Verhagen
Publisher : Springer
Page : 839 pages
File Size : 43,5 Mb
Release : 2015-01-30
Category : Technology & Engineering
ISBN : 9783319137766

Get Book

Concurrent Engineering in the 21st Century by Josip Stjepandić,Nel Wognum,Wim J.C. Verhagen Pdf

Presenting the gradual evolution of the concept of Concurrent Engineering (CE), and the technical, social methods and tools that have been developed, including the many theoretical and practical challenges that still exist, this book serves to summarize the achievements and current challenges of CE and will give readers a comprehensive picture of CE as researched and practiced in different regions of the world. Featuring in-depth analysis of complex real-life applications and experiences, this book demonstrates that Concurrent Engineering is used widely in many industries and that the same basic engineering principles can also be applied to new, emerging fields like sustainable mobility. Designed to serve as a valuable reference to industry experts, managers, students, researchers, and software developers, this book is intended to serve as both an introduction to development and as an analysis of the novel approaches and techniques of CE, as well as being a compact reference for more experienced readers.

Model Management and Analytics for Large Scale Systems

Author : Bedir Tekinerdogan,Önder Babur,Loek Cleophas,Mark van den Brand,Mehmet Aksit
Publisher : Academic Press
Page : 344 pages
File Size : 54,5 Mb
Release : 2019-09-14
Category : Computers
ISBN : 9780128166505

Get Book

Model Management and Analytics for Large Scale Systems by Bedir Tekinerdogan,Önder Babur,Loek Cleophas,Mark van den Brand,Mehmet Aksit Pdf

Model Management and Analytics for Large Scale Systems covers the use of models and related artefacts (such as metamodels and model transformations) as central elements for tackling the complexity of building systems and managing data. With their increased use across diverse settings, the complexity, size, multiplicity and variety of those artefacts has increased. Originally developed for software engineering, these approaches can now be used to simplify the analytics of large-scale models and automate complex data analysis processes. Those in the field of data science will gain novel insights on the topic of model analytics that go beyond both model-based development and data analytics. This book is aimed at both researchers and practitioners who are interested in model-based development and the analytics of large-scale models, ranging from big data management and analytics, to enterprise domains. The book could also be used in graduate courses on model development, data analytics and data management. Identifies key problems and offers solution approaches and tools that have been developed or are necessary for model management and analytics Explores basic theory and background, current research topics, related challenges and the research directions for model management and analytics Provides a complete overview of model management and analytics frameworks, the different types of analytics (descriptive, diagnostics, predictive and prescriptive), the required modelling and method steps, and important future directions

A Holistic View of Software and Hardware Reuse

Author : Fevzi Belli,Ferdinand Quella
Publisher : Springer Nature
Page : 386 pages
File Size : 51,6 Mb
Release : 2021-06-11
Category : Political Science
ISBN : 9783030722616

Get Book

A Holistic View of Software and Hardware Reuse by Fevzi Belli,Ferdinand Quella Pdf

This book focuses on software reuse and the chances, dependability tests and recommendations for best reuse practice. A short introduction of the Ecodesign of hardware is given combined with the latest update of relevant EU legislation and standardization. It also describes the combination of different states of software in a E&E system in order to guarantee dependability of the product to be resold.

Principled Software Development

Author : Peter Müller,Ina Schaefer
Publisher : Springer
Page : 323 pages
File Size : 47,5 Mb
Release : 2018-10-23
Category : Computers
ISBN : 9783319980478

Get Book

Principled Software Development by Peter Müller,Ina Schaefer Pdf

This book presents a collection of research papers that address the challenge of how to develop software in a principled way that, in particular, enables reasoning. The individual papers approach this challenge from various perspectives including programming languages, program verification, and the systematic variation of software. Topics covered include programming abstractions for concurrent and distributed software, specification and verification techniques for imperative programs, and development techniques for software product lines. With this book the editors and authors wish to acknowledge – on the occasion of his 60th birthday – the work of Arnd Poetzsch-Heffter, who has made major contributions to software technology throughout his career. It features articles on Arnd’s broad research interests including, among others, the implementation of programming languages, formal semantics, specification and verification of object-oriented and concurrent programs, programming language design, distributed systems, software modeling, and software product lines. All contributing authors are leading experts in programming languages and software engineering who have collaborated with Arnd in the course of his career. Overall, the book offers a collection of high-quality articles, presenting original research results, major case studies, and inspiring visions. Some of the work included here was presented at a symposium in honor of Arnd Poetzsch-Heffter, held in Kaiserslautern, Germany, in November 2018.

Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications

Author : Tiziana Margaria,Bernhard Steffen
Publisher : Springer
Page : 866 pages
File Size : 44,5 Mb
Release : 2016-10-04
Category : Computers
ISBN : 9783319471693

Get Book

Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications by Tiziana Margaria,Bernhard Steffen Pdf

The two-volume set LNCS 9952 and LNCS 9953 constitutes the refereed proceedings of the 7th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2016, held in Imperial, Corfu, Greece, in October 2016. The papers presented in this volume were carefully reviewed and selected for inclusion in the proceedings. Featuring a track introduction to each section, the papers are organized in topical sections named: statistical model checking; evaluation and reproducibility of program analysis and verification; ModSyn-PP: modular synthesis of programs and processes; semantic heterogeneity in the formal development of complex systems; static and runtime verification: competitors or friends?; rigorous engineering of collective adaptive systems; correctness-by-construction and post-hoc verification: friends or foes?; privacy and security issues in information systems; towards a unified view of modeling and programming; formal methods and safety certification: challenges in the railways domain; RVE: runtime verification and enforcement, the (industrial) application perspective; variability modeling for scalable software evolution; detecting and understanding software doping; learning systems: machine-learning in software products and learning-based analysis of software systems; testing the internet of things; doctoral symposium; industrial track; RERS challenge; and STRESS.

Handbook of Re-Engineering Software Intensive Systems into Software Product Lines

Author : Roberto E. Lopez-Herrejon,Jabier Martinez,Wesley Klewerton Guez Assunção,Tewfik Ziadi,Mathieu Acher,Silvia Vergilio
Publisher : Springer Nature
Page : 535 pages
File Size : 46,8 Mb
Release : 2022-11-22
Category : Computers
ISBN : 9783031116865

Get Book

Handbook of Re-Engineering Software Intensive Systems into Software Product Lines by Roberto E. Lopez-Herrejon,Jabier Martinez,Wesley Klewerton Guez Assunção,Tewfik Ziadi,Mathieu Acher,Silvia Vergilio Pdf

This handbook distils the wealth of expertise and knowledge from a large community of researchers and industrial practitioners in Software Product Lines (SPLs) gained through extensive and rigorous theoretical, empirical, and applied research. It is a timely compilation of well-established and cutting-edge approaches that can be leveraged by those facing the prevailing and daunting challenge of re-engineering their systems into SPLs. The selection of chapters provides readers with a wide and diverse perspective that reflects the complementary and varied expertise of the chapter authors. This perspective covers the re-engineering processes, from planning to execution. SPLs are families of systems that share common assets, allowing a disciplined software reuse. The adoption of SPL practices has shown to enable significant technical and economic benefits for the companies that employ them. However, successful SPLs rarely start from scratch, but instead, they usually start from a set of existing systems that must undergo well-defined re-engineering processes to unleash new levels of productivity and competitiveness. Practitioners will benefit from the lessons learned by the community, captured in the array of methodological and technological alternatives presented in the chapters of the handbook, and will gain the confidence for undertaking their own re-engineering challenges. Researchers and educators will find a valuable single-entry point to quickly become familiar with the state-of-the-art on the topic and the open research opportunities; including undergraduate, graduate students, and R&D engineers who want to have a comprehensive understanding of techniques in reverse engineering and re-engineering of variability-rich software systems.

Complex Systems Design & Management

Author : Daniel Krob,Lefei Li,Junchen Yao,Hongjun Zhang,Xinguo Zhang
Publisher : Springer Nature
Page : 485 pages
File Size : 41,7 Mb
Release : 2021-04-09
Category : Computers
ISBN : 9783030735395

Get Book

Complex Systems Design & Management by Daniel Krob,Lefei Li,Junchen Yao,Hongjun Zhang,Xinguo Zhang Pdf

This book contains all refereed papers accepted during the fourth asia-pacific edition & twelve edition – which were merged this year – of the CSD&M conference that took place in Beijing, People’s Republic of China by 2021. Mastering complex systems requires an integrated understanding of industrial practices as well as sophisticated theoretical techniques and tools. This explains the creation of an annual go-between European and Asian forum dedicated to academic researchers & industrial actors working on complex industrial systems architecting, modeling & engineering. These proceedings cover the most recent trends in the emerging field of complex systems, both from an academic and professional perspective. A special focus was put this year on “Digital Transformation in Complex Systems Engineering”. CESAM Community The CSD&M series of conferences are organized under the guidance of CESAM Community, managed by CESAMES. CESAM Community aims in organizing the sharing of good practices in systems architecting and model-based systems engineering (MBSE) and certifying the level of knowledge and proficiency in this field through the CESAM certification. The CESAM systems architecting & model-based systems engineering (MBSE) certification is especially currently the most disseminated professional certification in the world in this domain through more than 1,000 real complex system development projects on which it was operationally deployed and around 10,000 engineers who were trained on the CESAM framework at international level.

Software Technology

Author : Mike Hinchey
Publisher : John Wiley & Sons
Page : 384 pages
File Size : 40,7 Mb
Release : 2018-07-09
Category : Computers
ISBN : 9781119174226

Get Book

Software Technology by Mike Hinchey Pdf

A comprehensive collection of influential articles from one of IEEE Computer magazine’s most popular columns This book is a compendium of extended and revised publications that have appeared in the “Software Technologies” column of IEEE Computer magazine, which covers key topics in software engineering such as software development, software correctness and related techniques, cloud computing, self-managing software and self-aware systems. Emerging properties of software technology are also discussed in this book, which will help refine the developing framework for creating the next generation of software technologies and help readers predict future developments and challenges in the field. Software Technology provides guidance on the challenges of developing software today and points readers to where the best advances are being made. Filled with one insightful article after another, the book serves to inform the conversation about the next wave of software technology advances and applications. In addition, the book: Introduces the software landscape and challenges associated with emerging technologies Covers the life cycle of software products, including concepts, requirements, development, testing, verification, evolution, and security Contains rewritten and updated articles by leaders in the software industry Covers both theoretical and practical topics Informative and thought-provoking throughout, Software Technology is a valuable book for everyone in the software engineering community that will inspire as much as it will teach all who flip through its pages.

Moving Integrated Product Development to Service Clouds in the Global Economy

Author : J. Stjepandić
Publisher : IOS Press
Page : 928 pages
File Size : 49,7 Mb
Release : 2014-09-23
Category : BUSINESS & ECONOMICS
ISBN : 9781614994404

Get Book

Moving Integrated Product Development to Service Clouds in the Global Economy by J. Stjepandić Pdf

The theory of concurrent engineering is based on the concept that the different phases of a product lifecycle should be conducted concurrently and initiated as early as possible within the product creation process. Concurrent engineering is important in many industries, including automotive, aerospace, shipbuilding, consumer goods and environmental engineering, as well as in the development of new services and service support. This book presents the proceedings of the 21st ISPE Inc. International Conference on Concurrent Engineering, held at Beijing Jiaotong University, China, in September 2014. It is the first volume of a new book series: 'Advances in Transdisciplinary Engineering'. The title of the CE2014 conference is: 'Moving Integrated Product Development to Service Clouds in the Global Economy', which reflects the variety of processes and methods which influence modern product creation. After an initial first section presenting the keynote papers, the remainder of the book is divided into 11 further sections with peer-reviewed papers: product lifecycle management (PLM); knowledge-based engineering (KBE); cloud approaches; 3-D printing applications; design methods; educational methods and achievements; simulation of complex systems; systems engineering; services as innovation and science; sustainability; and recent research on open innovation in concurrent engineering. The book will be of interest to CE researchers, practitioners from industry and public bodies, and educators alike.

Model-Based Testing of Automotive HMIs with Consideration for Product Variability

Author : Linshu Duan
Publisher : Cuvillier Verlag
Page : 190 pages
File Size : 51,6 Mb
Release : 2012-07-20
Category : Computers
ISBN : 9783736941496

Get Book

Model-Based Testing of Automotive HMIs with Consideration for Product Variability by Linshu Duan Pdf

Die Mensch-Maschine-Schnittstellen (HMIs) von Infotainmentsystemen der heutigen Premiumfahrzeuge sind sehr komplexe und eingebettete Systeme. Sie haben im Vergleich mit herkömmlichen PC-Applikationen besondere Eigenschaften, insbesondere bezogen auf ihre Variabilität. Die Variabilität von Infotainmentsystem HMIs ergibt sich aus unterschiedlichen Fahrzeugmodellen, Produktserien, Märkten, Ausstattungen, System- sowie Sprachvarianten. Die hohe Anzahl der Varianten führt zu enorm hohem Testaufwand. Modellbasiertes Testen ist ein vielversprechender Ansatz, um den Testaufwand durch die automatische Testfallgenerierung und Testausführung zu reduzieren und gleichzeitig die Testabdeckung zu erhöhen. Während modellbasiertes Testen bereits für Funktionstests häufig eingesetzt wird, bleiben HMI Tests meist noch manuell oder teil-automatisiert. Außerdem kann durch manuelles Testen eine systematische Testabdeckung nur sehr schwierig erreicht werden. Zahlreiche Forschungsarbeiten befassen sich mit dem GUI-Testen. Variabilität ist im Bereich der Software-Produktentwicklung ein immer beliebteres Forschungsthema. Ein modellbasierter Testansatz für komplexe HMIs mit Berücksichtigung der Variabilität ist allerdings immer noch nicht vorhanden. Diese Doktorarbeit präsentiert eine modellbasierte Testmethode für Infotainmentsystem HMIs mit dem besonderen Ziel das Variabilitätsproblem zu lösen. Zusätzlich bietet diese Doktorarbeit eine Basis für zukünftiges HMI-Testen in der Industrie an. Der Ansatz in dieser Doktorarbeit basiert auf einem modellbasiertem HMI-Testframework, das zwei essentielle Komponenten beinhaltet: eine Test-orientierte Spezifikation und eine Komponente zur Testgenerierung. Die Test-orientierte Spezifikation hat eine geschichtete Struktur und ist darauf ausgerichtet, die fürs Testen relevanten Daten zu spezifizieren. Sowohl dynamisches Menüverhalten als auch die Darstellung des HMI sind die Testziele. Die Testgenerierung erzeugt automatisch Tests aus der Test-orientierten HMI Spezifikation. Das Testframework kann um eine automatische Testausführung erweitert werden. Nachdem die generierten Tests instanziiert werden, ist es möglich, sie automatisch innerhalb eines Testautomatisierungsframeworks durchzuführen. Diese Doktorarbeit befasst sich mit Methoden, um die HMI-Varianten effizient zu spezifizieren und zu testen und basiert auf Ansatz für Software Produktlinien. Das bedeutet, die Test-orientierte Spezifikation ist erweitert um sowohl die Gemeinsamkeiten als auch die Spezialitäten der Varianten zu beschreiben. Insbesondere werden Strategien entwickelt, um Tests für unterschiedliche Varianten der Produktlinien automatisch zu generieren. Die Besonderheit dabei ist, dass Redundanzen sowohl für den Generierungsvorgang als auch den Ausführungsvorgang vermieden werden können. Das ist wegen den eingeschränkten Ressourcen und aus Effizienzsgründen besonders wichtig für die Industrie. Die Modellierung und das Testen von variantenreichen HMIs stellen die Hauptbeiträge dieser Dissertation dar. Die Ergebnisse dieser Doktorarbeit können hoffentlich als eine Lösung für modellbasiertes Testen der multi-varianten HMIs dienen und der Automotive-Industrie eine Basis der zukünftigen HMI Testenstandards liefern. The human-machine interfaces (HMIs) of today’s premium automotive infotainment systems are complex embedded systems which have special characteristics in comparison to GUIs of standard PC applications, in particular regarding their variability. The variability of infotainment system HMIs results from different car models, product series, markets, equipment configuration possibilities, system types and languages and necessitates enormous testing efforts. The model-based testing approach is a promising solution for reducing testing efforts and increasing test coverage. However, while model-based testing has been widely used for function tests of subsystems in practice, HMI tests have remained manual or only semi-automated and are very time-consuming and work-intensive. Also, it is very difficult to achieve systematic or high test coverage via manual tests. A large amount of research work has addressed GUI testing in recent years. In addition, variability is becoming an ever more popular topic in the domain of software product line development. However, a model-based testing approach for complex HMIs which also considers variability is still lacking. This thesis presents a modelbased testing approach for infotainment system HMIs with the particular aim of resolving the variability problem. Furthermore, the thesis provides a foundation for future standards of HMI testing in practice. The proposed approach is based on a model-based HMI testing framework which includes two essential components: a test-oriented HMI specification and a test generation component. The test-oriented HMI specification has a layered structure and is suited to specifying data which is required for testing different features of the HMI. Both the dynamic behavior and the representation of the HMI are the testing focuses of this thesis. The test generation component automatically generates tests from the test-oriented HMI specification. Furthermore, the framework can be extended in order to automatically execute the generated tests. Generated tests must first be initialized, which means that they are enhanced with concrete user input data. Afterwards, initialized tests can be automatically executed with the help of a test execution tool which must be extended into the testing framework. In this thesis, it is proposed to specify and test different HMI-variants which have a large set of commonalities based on the software product line approach. This means the test-oriented HMI specification is extended in order to describe the commonalities and variabilities between HMI variants of an HMI product line. In particular, strategies are developed in order to generate tests for different HMI products. One special feature is that redundancies are avoided both for the test generation and the execution processes. This is especially important for the industrial practice due to limited test resources. Modeling and testing variability of automotive HMIs make up the main research contributions of this thesis. We hope that the results presented in this thesis will offer GUI testing research a solution for model-based testing of multi-variant HMIs and provide the automotive industry with a foundation for future HMI testing standards.

Distributed Real-Time Architecture for Mixed-Criticality Systems

Author : Hamidreza Ahmadian,Roman Obermaisser,Jon Perez
Publisher : CRC Press
Page : 508 pages
File Size : 45,7 Mb
Release : 2018-09-05
Category : Computers
ISBN : 9781351117814

Get Book

Distributed Real-Time Architecture for Mixed-Criticality Systems by Hamidreza Ahmadian,Roman Obermaisser,Jon Perez Pdf

This book describes a cross-domain architecture and design tools for networked complex systems where application subsystems of different criticality coexist and interact on networked multi-core chips. The architecture leverages multi-core platforms for a hierarchical system perspective of mixed-criticality applications. This system perspective is realized by virtualization to establish security, safety and real-time performance. The impact further includes a reduction of time-to-market, decreased development, deployment and maintenance cost, and the exploitation of the economies of scale through cross-domain components and tools. Describes an end-to-end architecture for hypervisor-level, chip-level, and cluster level. Offers a solution for different types of resources including processors, on-chip communication, off-chip communication, and I/O. Provides a cross-domain approach with examples for wind-power, health-care, and avionics. Introduces hierarchical adaptation strategies for mixed-criticality systems Provides modular verification and certification methods for the seamless integration of mixed-criticality systems. Covers platform technologies, along with a methodology for the development process. Presents an experimental evaluation of technological results in cooperation with industrial partners. The information in this book will be extremely useful to industry leaders who design and manufacture products with distributed embedded systems in mixed-criticality use-cases. It will also benefit suppliers of embedded components or development tools used in this area. As an educational tool, this material can be used to teach students and working professionals in areas including embedded systems, computer networks, system architecture, dependability, real-time systems, and avionics, wind-power and health-care systems.

Relating System Quality and Software Architecture

Author : Ivan Mistrik,Rami Bahsoon,Peter Eeles,Roshanak Roshandel,Michael Stal
Publisher : Morgan Kaufmann
Page : 420 pages
File Size : 48,9 Mb
Release : 2014-07-30
Category : Computers
ISBN : 9780124171688

Get Book

Relating System Quality and Software Architecture by Ivan Mistrik,Rami Bahsoon,Peter Eeles,Roshanak Roshandel,Michael Stal Pdf

System Quality and Software Architecture collects state-of-the-art knowledge on how to intertwine software quality requirements with software architecture and how quality attributes are exhibited by the architecture of the system. Contributions from leading researchers and industry evangelists detail the techniques required to achieve quality management in software architecting, and the best way to apply these techniques effectively in various application domains (especially in cloud, mobile and ultra-large-scale/internet-scale architecture) Taken together, these approaches show how to assess the value of total quality management in a software development process, with an emphasis on architecture. The book explains how to improve system quality with focus on attributes such as usability, maintainability, flexibility, reliability, reusability, agility, interoperability, performance, and more. It discusses the importance of clear requirements, describes patterns and tradeoffs that can influence quality, and metrics for quality assessment and overall system analysis. The last section of the book leverages practical experience and evidence to look ahead at the challenges faced by organizations in capturing and realizing quality requirements, and explores the basis of future work in this area. Explains how design decisions and method selection influence overall system quality, and lessons learned from theories and frameworks on architectural quality Shows how to align enterprise, system, and software architecture for total quality Includes case studies, experiments, empirical validation, and systematic comparisons with other approaches already in practice.