Transactions on Aspect-Oriented Software Development I


Book Description

Publisher description: "The LNCS Journal on Transactions on Aspect-Oriented Software Development is devoted to all facets of aspect-oriented software development (AOSD) techniques in the context of all phases of the software life cycle, from requirements and design to implementation, maintenance and evolution. The focus of the journal is on approaches for systematic identification, modularization, representation and composition of crosscutting concerns, i.e., the aspects, evaluation of such approaches and their impact on improving quality attributes of software systems. This book, the first volume in the Transactions on Aspect-Oriented Software Development series, presents nine revised papers that have been through a careful peer reviewing process by the journal's Editorial Board. The papers cover a wide range of topics from software design to implementation of aspect-oriented languages. The first four articles address various issues of aspect-oriented modeling at the design level; the following four articles discuss various programming language issues. The final article in this volume describes a workbench for implementing aspect-oriented languages, so that easy experimentation with new language features and implementation techniques are possible."




Aspect-oriented Software Development with Use Cases


Book Description

"A refreshingly new approach toward improving use-case modeling by fortifying it with aspect orientation." --Ramnivas Laddad, author of AspectJ in Action "Since the 1980s, use cases have been a way to bring users into software design, but translating use cases into software has been an art, at best, because user goods often don''t respect code boundaries. Now that aspect-oriented programming (AOP) can express crosscutting concerns directly in code, the man who developed use cases has proposed step-by-step methods for recognizing crosscutting concerns in use cases and writing the code in separate modules. If these methods are at all fruitful in your design and development practice, they will make a big difference in software quality for developers and users alike. --Wes Isberg, AspectJ team member"This book not only provides ideas and examples of what aspect-oriented software development is but how it can be utilized in a real development project." --MichaelWard, ThoughtWorks, Inc."No system has ever been designed from scratch perfectly; every system is composed of features layered in top of features that accumulate over time. Conventional design techniques do not handle this well, and over time the integrity of most systems degrades as a result. For the first time, here is a set of techniques that facilitates composition of behavior that not only allows systems to be defined in terms of layered functionality but composition is at the very heart of the approach. This book is an important advance in modern methodology and is certain to influence the direction of software engineering in the next decade, just as Object-Oriented Software Engineering influenced the last." --Kurt Bittner, IBM Corporation"Use cases are an excellent means to capture system requirements and drive a user-centric view of system development and testing. This book offers a comprehensive guide on explicit use-case-driven development from early requirements modeling to design and implementation. It provides a simple yet rich set of guidelines to realize use-case models using aspect-oriented design and programming. It is a valuable resource to researchers and practitioners alike." --Dr. Awais Rashid, Lancaster University, U.K., and author of Aspect-Oriented Database Systems "AOSD is important technology that will help developers produce better systems. Unfortunately, it has not been obvious how to integrate AOSD across a project''s lifecycle. This book shatters that barrier, providing concrete examples on how to use AOSD from requirements analysis through testing." --Charles B. Haley, research fellow, The Open University, U.K. Aspect-oriented programming (AOP) is a revolutionary new way to think about software engineering. AOP was introduced to address crosscutting concerns such as security, logging, persistence, debugging, tracing, distribution, performance monitoring, and exception handling in a more effective manner. Unlike conventional development techniques, which scatter the implementation of each concern into multiple classes, aspect-oriented programming localizes them. Aspect-oriented software development (AOSD) uses this approach to create a better modularity for functional and nonfunctional requirements, platform specifics, and more, allowing you to build more understandable systems that are easier to configure and extend to meet the evolving needs of stakeholders. In this highly anticipated new book, Ivar Jacobson and Pan-Wei Ng demonstrate how to apply use cases--a mature and systematic approach to focusing on stakeholder concerns--and aspect-orientation in building robust and extensible systems. Throughout the book, the authors employ a single, real-world example of a hotel management information system to make the described theories and practices concrete and understandable. The authors show how to identify, design, implement, test, and refactor use-case modules, as well as extend them. They also demonstrate how to design use-case modules with the Unified Modeling Language (UML)--emphasizing enhancements made in UML 2.0--and how to achieve use-case modularity using aspect technologies, notably AspectJ. Key topics include Making the case for use cases and aspects Capturing and modeling concerns with use cases Keeping concerns separate with use-case modules Modeling use-cases slices and aspects using the newest extensions to the UML notation Applying use cases and aspects in projects Whatever your level of experience with aspect-oriented programming, Aspect-Oriented Software Development with Use Cases will teach you how to develop better software by embracing the paradigm shift to AOSD.




Transactions on Aspect-Oriented Software Development II


Book Description

This volume presents two regular revised papers, a guest editors' introduction, and six papers in a special section that have been through a careful peer reviewing process by the journal's Editorial Board. Besides a wide range of topics from software design to implementation of aspect-oriented languages, the six papers of the special section concentrate on AOP systems, software and middleware.




Transactions on Aspect-Oriented Software Development V


Book Description

The LNCS journal Transactions on Aspect-Oriented Software Development is devoted to all facets of aspect-oriented software development (AOSD) techniques in the context of all phases of the software life cycle, from requirements and design to implementation, maintenance and evolution. The focus of the journal is on approaches for systematic identification, modularization, representation and composition of crosscutting concerns, i.e., the aspects and evaluation of such approaches and their impact on improving quality attributes of software systems. This volume, the fifth in the Transactions on Aspect-Oriented Software Development series, contains three papers submitted through the regular channel, and three papers on the special focus area of aspects, dependencies and interactions. The first two papers concentrate on applications of AOSD to the fields of scheduling of web applications and operations research, respectively, while the third paper applies the technique of bisimulation to aspect-oriented languages. The special focus area on aspects, dependencies and interactions is introduced by the guest editors Ruzanna Chitchyan, Johan Fabry, Shmuel Katz, and Arend Rensink.




Transactions on Aspect-Oriented Software Development VII


Book Description

– Those who want to learn about AOM ?nd in this special issue a concise collection of descriptions of solid and mature AOM approaches. They only have to take the time to understand one case study in order to appreciate the sample models shown in all papers. – Those who want to apply AOM for a particular purpose and are looking for the most appropriate AOM technique can use the papers presented in this specialissue to identify the mostpromisingapproach(es).By identifying similarities between their problem and the case study they should be able to determine candidate AOM approaches easily. – Those working on their own AOM approach can readily identify approaches that were able to handle concerns that their own approach is not able to handle elegantly. This stimulates cross-fertilization between approaches and collaborative research. – Thoseengineering researchersthat areworkingon enhancing softwaredev- opment processes can use the example models presented in this special issue to understand the potential bene?ts of using AOM techniques at di?erent phases of the software development life-cycle.




Transactions on Aspect-Oriented Software Development VIII


Book Description

This volume, the 8th in the Transactions on Aspect-Oriented Software Development series, contains two regular submissions and a special section, consisting of five papers, on the industrial applications of aspect technology. The regular papers describe a framework for constructing aspect weavers, and patterns for reusable aspects. The special section begins with an invited contribution on how AspectJ is making its way from an exciting new hype topic to a valuable technology in enterprise computing. The remaining four papers each cover different industrial applications of aspect technology, which include a telecommunication platform, a framework for embedding user assistance in independently developed applications, a platform for digital publishing, and a framework for program code analysis and manipulation.




Transactions on Aspect-Oriented Software Development VI


Book Description

work for small problems, but it introduces signi?cant accidental complexities when tackling larger problems. Notethattherealchallengehereisnothowtodesignthesystemtotakeap- ticular aspect into account: there is signi?cant design know-how in industry on this and it is often captured in the form of design patterns. Taking into account more than one aspect can be a little harder, but many large scale successful projects in industry provide some evidence that engineers know how di?erent concerns should be handled. The real challenge is reducing the e?ort that the engineerhasto expendwhengrapplingwithmanyinter-dependentconcerns.For example, in a product-line context, when an engineer wants to replace a variant of an aspect used in a system, she should be able to do this cheaply, quickly and safely. Manually weaving every aspect is not an option. Unlike many models used in the sciences, models in software and in lingu- tics have the same nature as the things they model. In software, this provides an opportunity to automatically derive software from its model, that is, to - tomate the weaving process. This requires models to be formal, and the weaving process be described as a program (i.e., an executable meta-model) manipul- ing models to produce a detailed design. The detailed design produced by the weaving process can ultimately be transformed to code or at least test suites.




Aspect-oriented Analysis and Design


Book Description

An introduction for developers who need practical information to make the significant shift to aspect-oriented development.




Aspect-Oriented Requirements Engineering


Book Description

Broadly-scoped requirements such as security, privacy, and response time are a major source of complexity in modern software systems. This is due to their tangled inter-relationships with and effects on other requirements. Aspect-Oriented Requirements Engineering (AORE) aims to facilitate modularisation of such broadly-scoped requirements, so that software developers are able to reason about them in isolation - one at a time. AORE also captures these inter-relationships and effects in well-defined composition specifications, and, in so doing exposes the causes for potential conflicts, trade-offs, and roots for the key early architectural decisions. Over the last decade, significant work has been carried out in the field of AORE. With this book the editors aim to provide a consolidated overview of these efforts and results. The individual contributions discuss how aspects can be identified, represented, composed and reasoned about, as well as how they are used in specific domains and in industry. Thus, the book does not present one particular AORE approach, but conveys a broad understanding of the aspect-oriented perspective on requirements engineering. The chapters are organized into five sections: concern identification in requirements, concern modelling and composition, domain-specific use of AORE, aspect interactions, and AORE in industry. This book provides readers with the most comprehensive coverage of AORE and the capabilities it offers to those grappling with the complexity arising from broadly-scoped requirements - a phenomenon that is, without doubt, universal across software systems. Software engineers and related professionals in industry, as well as advanced undergraduate and post-graduate students and researchers, will benefit from these comprehensive descriptions and the industrial case studies.




Models in Software Engineering


Book Description

This book constitutes a collection of the best papers selected from 9 workshops and 2 symposia held in conjunction iwth MODELS 2009, the 12 International Conference on Model Driven Engineering Languages and Systems, in Denver, CO, USA, in October 2009. The first two sections contain selected papers from the Doctoral Symposium and the Educational Symposium, respectively. The other contributions are organized according to the workshops at which they were presented: 2nd International Workshop on Model Based Architecting and Construction of Embedded Systems (ACES-MB'09); 14th International Workshop on Aspect-Oriented Modeling (AOM); [email protected] ([email protected]); Model-driven Engineering, Verification, and Validation: Integrating Verification and Validation in MDE (MoDeVVa09); Models and Evolution (MoDSE-MCCM); Third International Workshop on Multi-Paradigm Modeling (MPM09); The Pragmatics of OCL and Other Textual Specification Languages (OCL); 2nd International Workshop on Non-Functional System Properties in Domain Specific Modeling Languages (NFPinDSML); and 2nd Workshop on Transformation and Weaving OWL Ontologies and MDE/MDA (TWOMDE2009). Each section includes a summary of the workshop.