Modeling Variability for Object Oriented Product Lines

Modeling Variability for Object Oriented Product Lines PDF Author: Matthias Riebisch
Publisher:
ISBN: 9783833007798
Category :
Languages : en
Pages : 82

Get Book Here

Book Description

Modeling Variability for Object Oriented Product Lines

Modeling Variability for Object Oriented Product Lines PDF Author: Matthias Riebisch
Publisher:
ISBN: 9783833007798
Category :
Languages : en
Pages : 82

Get Book Here

Book Description


Object-Oriented Technology. ECOOP 2003 Workshop Reader

Object-Oriented Technology. ECOOP 2003 Workshop Reader PDF Author: Frank Buschmann
Publisher: Springer Science & Business Media
ISBN: 354022405X
Category : Computers
Languages : en
Pages : 216

Get Book Here

Book Description
This volume represents the seventh edition of the ECOOP Workshop Reader, a compendiumofworkshopreportsfromthe17thEuropeanConferenceonObject- Oriented Programming (ECOOP 2003), held in Darmstadt, Germany, during July 21–25, 2003. The workshops were held during the ?rst two days of the conference. They cover a wide range of interesting and innovative topics in object-oriented te- nology and o?ered the participants an opportunity for interaction and lively discussion. Twenty-one workshops were selected from a total of 24 submissions based on their scienti?c merit, the actuality of the topic, and their potential for a lively interaction. Unfortunately, one workshop had to be cancelled. Special thanks are due to the workshop organizers who recorded and s- marized the discussions. We would also like to thank all the participants for their presentations and lively contributions to the discussion: they made this volume possible. Last, but not least, we wish to express our appreciation to the members of the organizing committee who put in countless hours setting up and coordinating the workshops. We hope that this snapshot of current object-oriented technology will prove stimulating to you. October 2003 Frank Buschmann Alejandro Buchmann Mariano Cilia Organization ECOOP 2003 was organized by the Software Technology Group, Department of Computer Science, Darmstadt University of Technology under the auspices of AITO (Association Internationale pour les Technologies Objets) in cooperation with ACM SIGPLAN. The proceedings of the main conference were published as LNCS 2743.

Modeling and Analysis of Software Product Line Variability in Clafer

Modeling and Analysis of Software Product Line Variability in Clafer PDF Author: Kacper Bąk
Publisher:
ISBN:
Category :
Languages : en
Pages : 136

Get Book Here

Book Description
Both feature and class modeling are used in Software Product Line (SPL) engineering to model variability. Feature models are used primarily to represent user-visible characteristics (i.e., features) of products; whereas class models are often used to model types of components and connectors in a product-line architecture. Previous works have explored the approach of using a single language to express both configurations of features and components. Their goal was to simplify the definition and analysis of feature-to-component mappings and to allow modeling component options as features. A prominent example of this approach is cardinality-based feature modeling, which extends feature models with multiple instantiation and references to express component-like, replicated features. Another example is to support feature modeling in a class modeling language, such as UML or MOF, using their profiling mechanisms and a stylized use of composition. Both examples have notable drawbacks: cardinality-based feature modeling lacks a constraint language and a well-defined semantics; encoding feature models as class models and their evolution bring extra complexity. This dissertation presents Clafer (class, feature, reference), a class modeling language with first-class support for feature modeling. Clafer can express rich structural models augmented with complex constraints, i.e., domain, variability, component models, and meta-models. Clafer supports: (i) class-based meta-models, (ii) object models (with uncertainty, if needed), (iii) feature models with attributes and multiple instantiation, (iv) configurations of feature models, (v) mixtures of meta- and feature models and model templates, and (vi) first-order logic constraints. Clafer also makes it possible to arrange models into multiple specialization and extension layers via constraints and inheritance. On the other hand, in designing Clafer we wanted to create a language that builds upon as few concepts as possible, and is easy to learn. The language is supported by tools for SPL verification and optimization. We propose to unify basic modeling constructs into a single concept, called clafer. In other words, Clafer is not a hybrid language. We identify several key mechanisms allowing a class modeling language to express feature models concisely. We provide Clafer with a formal semantics built in a novel, structurally explicit way. As Clafer subsumes cardinality-based feature modeling with attributes, references, and constraints, we are the first to precisely define semantics of such models. We also explore the notion of partial instantiation that allows for modeling with uncertainty and variability. We show that Object-Oriented Modeling (OOM) languages with no direct support for partial instances can support them via class modeling, using subclassing and strengthening multiplicity constraints. We make the encoding of partial instances via subclassing precise and general. Clafer uses this encoding and pushes the idea even further: it provides a syntactic unification of types and (partial) instances via subclassing and redefinition. We evaluate Clafer analytically and experimentally. The analytical evaluation shows that Clafer can concisely express feature and meta-models via a uniform syntax and unified semantics. The experimental evaluation shows that: 1) Clafer can express a variety of realistic rich structural models with complex constraints, such as variability models, meta-models, model templates, and domain models; and 2) that useful analyses can be performed within seconds.

Object-Oriented and Internet-Based Technologies

Object-Oriented and Internet-Based Technologies PDF Author: Mathias Weske
Publisher: Springer
ISBN: 3540301968
Category : Computers
Languages : en
Pages : 248

Get Book Here

Book Description
Based on the Net. ObjectDays tradition of bringing together researchers from academia and industry on the one hand and system architects, developers, and users fromindustry andadministrationon the other hand, this year'sconference took an international research perspective, so that we see the?rst volume of Net. ObjectDays main conference proceedings published in the Springer Lecture Notes in Computer Science series. This volume consists of 16 papers carefully selected in a rigorous reviewing process by an international program committee; to provide a concise overview, these papers are brie?y described. In the Languages and Models session, Beate Ritterbach proposes a new l- guage element for object-oriented programming languages that supports ar- trary value types. In her contribution Support for Value Types in an Object- OrientedProgramming Language shedescribesthecorrespondingkeywords, s- tax, and consistency checks, thereby giving an impression of the look and feel of value types from an application programmer's perspective. Walter Binder and Jarle Hulaas look at portable CPU accounting and control in Java, which is based on program transformation techniques. In their paper Self-accounting as Principle for Portable CPU Control in Java periodically the threads of an application component aggregate the information of their respective CPU c- sumption within a shared account; scheduling functions make sure applications do not exceed their allowed CPU share.

Complex Systems in Knowledge-based Environments: Theory, Models and Applications

Complex Systems in Knowledge-based Environments: Theory, Models and Applications PDF Author: Andreas Tolk
Publisher: Springer Science & Business Media
ISBN: 3540880747
Category : Mathematics
Languages : en
Pages : 272

Get Book Here

Book Description
The tremendous growth in the availability of inexpensive computing power and easy availability of computers have generated tremendous interest in the design and imp- mentation of Complex Systems. Computer-based solutions offer great support in the design of Complex Systems. Furthermore, Complex Systems are becoming incre- ingly complex themselves. This research book comprises a selection of state-of-the-art contributions to topics dealing with Complex Systems in a Knowledge-based En- ronment. Complex systems are ubiquitous. Examples comprise, but are not limited to System of Systems, Service-oriented Approaches, Agent-based Systems, and Complex Distributed Virtual Systems. These are application domains that require knowledge of engineering and management methods and are beyond the scope of traditional systems. The chapters in this book deal with a selection of topics which range from unc- tainty representation, management and the use of ontological means which support and are large-scale business integration. All contributions were invited and are based on the recognition of the expertise of the contributing authors in the field. By colle- ing these sources together in one volume, the intention was to present a variety of tools to the reader to assist in both study and work. The second intention was to show how the different facets presented in the chapters are complementary and contribute towards this emerging discipline designed to aid in the analysis of complex systems.

Designing Software Product Lines with UML

Designing Software Product Lines with UML PDF Author: Hassan Gomaa
Publisher: Addison-Wesley Professional
ISBN:
Category : Computers
Languages : en
Pages : 760

Get Book Here

Book Description
"Designing Software Product Lines with UML is well-written, informative, and addresses a very important topic. It is a valuable contribution to the literature in this area, and offers practical guidance for software architects and engineers." --Alan Brown Distinguished Engineer, Rational Software, IBM Software Group "Gomaa''s process and UML extensions allow development teams to focus on feature-oriented development and provide a basis for improving the level of reuse across multiple software development efforts. This book will be valuable to any software development professional who needs to manage across projects and wants to focus on creating software that is consistent, reusable, and modular in nature." --Jeffrey S Hammond Group Marketing Manager, Rational Software, IBM Software Group "This book brings together a good range of concepts for understanding software product lines and provides an organized method for developing product lines using object-oriented techniques with the UML. Once again, Hassan has done an excellent job in balancing the needs of both experienced and novice software engineers." --Robert G. Pettit IV, Ph.D. Adjunct Professor of Software Engineering, George Mason University "This breakthrough book provides a comprehensive step-by-step approach on how to develop software product lines, which is of great strategic benefit to industry. The development of software product lines enables significant reuse of software architectures. Practitioners will benefit from the well-defined PLUS process and rich case studies." --Hurley V. Blankenship II Program Manager, Justice and Public Safety, Science Applications International Corporation "The Product Line UML based Software engineering (PLUS) is leading edge. With the author''s wide experience and deep knowledge, PLUS is well harmonized with architectural and design pattern technologies." --Michael Shin Assistant Professor, Texas Tech University Long a standard practice in traditional manufacturing, the concept of product lines is quickly earning recognition in the software industry. A software product line is a family of systems that shares a common set of core technical assets with preplanned extensions and variations to address the needs of specific customers or market segments. When skillfully implemented, a product line strategy can yield enormous gains in productivity, quality, and time-to-market. Studies indicate that if three or more systems with a degree of common functionality are to be developed, a product-line approach is significantly more cost-effective. To model and design families of systems, the analysis and design concepts for single product systems need to be extended to support product lines. Designing Software Product Lines with UML shows how to employ the latest version of the industry-standard Unified Modeling Language (UML 2.0) to reuse software requirements and architectures rather than starting the development of each new system from scratch. Through real-world case studies, the book illustrates the fundamental concepts and technologies used in the design and implementation of software product lines. This book describes a new UML-based software design method for product lines called PLUS (Product Line UML-based Software engineering). PLUS provides a set of concepts and techniques to extend UML-based design methods and processes for single systems in a new dimension to address software product lines. Using PLUS, the objective is to explicitly model the commonality and variability in a software product line. Hassan Gomaa explores how each of the UML modeling views--use case, static, state machine, and interaction modeling--can be extended to address software product families. He also discusses how software architectural patterns can be used to develop a reusable component-based architecture for a product line and how to express this architecture as a UML platform-independent model that can then be mapped to a platform-specific model. Key topics include: Software product line engineering process, which extends the Unified Development Software Process to address software product lines Use case modeling, including modeling the common and variable functionality of a product line Incorporating feature modeling into UML for modeling common, optional, and alternative product line features Static modeling, including modeling the boundary of the product line and information-intensive entity classes Dynamic modeling, including using interaction modeling to address use-case variability State machines for modeling state-dependent variability Modeling class variability using inheritance and parameterization Software architectural patterns for product lines Component-based distributed design using the new UML 2.0 capability for modeling components, connectors, ports, and provided and required interfaces Detailed case studies giving a step-by-step solution to real-world product line problems Designing Software Product Lines with UML is an invaluable resource for all designers and developers in this growing field. The information, technology, and case studies presented here show how to harness the promise of software product lines and the practicality of the UML to take software design, quality, and efficiency to the next level. An enhanced online index allows readers to quickly and easily search the entire text for specific topics.

Software Product Lines

Software Product Lines PDF Author: Patrick Donohoe
Publisher: Springer Science & Business Media
ISBN: 1461543398
Category : Computers
Languages : en
Pages : 527

Get Book Here

Book Description
Software product lines are emerging as a critical new paradigm for software development. Product lines are enabling organizations to achieve impressive time-to-market gains and cost reductions. With the increasing number of product lines and product-line researchers and practitioners, the time is right for a comprehensive examination of the issues surrounding the software product line approach. The Software Engineering Institute at Carnegie Mellon University is proud to sponsor the first conference on this important subject. This book comprises the proceedings of the First Software Product Line Conference (SPLC1), held August 28-31, 2000, in Denver, Colorado, USA. The twenty-seven papers of the conference technical program present research results and experience reports that cover all aspects of software product lines. Topics include business issues, enabling technologies, organizational issues, and life-cycle issues. Emphasis is placed on experiences in the development and fielding of product lines of complex systems, especially those that expose problems in the design, development, or evolution of software product lines. The book will be essential reading for researchers and practitioners alike.

Model-Driven Engineering Languages and Systems

Model-Driven Engineering Languages and Systems PDF Author: Juergen Dingel
Publisher: Springer
ISBN: 3319116533
Category : Computers
Languages : en
Pages : 712

Get Book Here

Book Description
This book constitutes the refereed proceedings of the 17th International Conference on Model Driven Engineering Languages and Systems, MODELS 2014, held in Valencia, Spain, in September/October 2014. The 41 full papers presented in this volume were carefully reviewed and selected from a total of 126 submissions. The scope of the conference series is broad, encompassing modeling languages, methods, tools, and applications considered from theoretical and practical angles and in academic and industrial settings. The papers report on the use of modeling in a wide range of cloud, mobile, and web computing, model transformation behavioral modeling, MDE: past, present, future, formal semantics, specification, and verification, models at runtime, feature and variability modeling, composition and adaptation, practices and experience, modeling for analysis, pragmatics, model extraction, manipulation and persistence, querying, and reasoning.

Software Product Lines

Software Product Lines PDF Author: Timo Käkölä
Publisher: Springer Science & Business Media
ISBN: 3540332537
Category : Computers
Languages : en
Pages : 658

Get Book Here

Book Description
This book covers research into the most important practices in product line organization. Contributors offer experience-based knowledge on the domain and application engineering, the modeling and management of variability, and the design and use of tools to support the management of product line-related knowledge.

Feature-Oriented Software Product Lines

Feature-Oriented Software Product Lines PDF Author: Sven Apel
Publisher: Springer Science & Business Media
ISBN: 3642375219
Category : Computers
Languages : en
Pages : 320

Get Book Here

Book Description
While standardization has empowered the software industry to substantially scale software development and to provide affordable software to a broad market, it often does not address smaller market segments, nor the needs and wishes of individual customers. Software product lines reconcile mass production and standardization with mass customization in software engineering. Ideally, based on a set of reusable parts, a software manufacturer can generate a software product based on the requirements of its customer. The concept of features is central to achieving this level of automation, because features bridge the gap between the requirements the customer has and the functionality a product provides. Thus features are a central concept in all phases of product-line development. The authors take a developer’s viewpoint, focus on the development, maintenance, and implementation of product-line variability, and especially concentrate on automated product derivation based on a user’s feature selection. The book consists of three parts. Part I provides a general introduction to feature-oriented software product lines, describing the product-line approach and introducing the product-line development process with its two elements of domain and application engineering. The pivotal part II covers a wide variety of implementation techniques including design patterns, frameworks, components, feature-oriented programming, and aspect-oriented programming, as well as tool-based approaches including preprocessors, build systems, version-control systems, and virtual separation of concerns. Finally, part III is devoted to advanced topics related to feature-oriented product lines like refactoring, feature interaction, and analysis tools specific to product lines. In addition, an appendix lists various helpful tools for software product-line development, along with a description of how they relate to the topics covered in this book. To tie the book together, the authors use two running examples that are well documented in the product-line literature: data management for embedded systems, and variations of graph data structures. They start every chapter by explicitly stating the respective learning goals and finish it with a set of exercises; additional teaching material is also available online. All these features make the book ideally suited for teaching – both for academic classes and for professionals interested in self-study.