Product Line Annotations with UML-F
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
Stereotypical Encounters of the Third Kind
UML '02 Proceedings of the 5th International Conference on The Unified Modeling Language
Generic Implementation of Product Line Components
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Embedded Software Market Transformation through Reusable Frameworks
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Software Process Representation and Analysis for Framework Instantiation
IEEE Transactions on Software Engineering
A Flexible Object-Oriented Software Architecture for Smart Wireless Communication Devices
DATE '03 Proceedings of the conference on Design, Automation and Test in Europe: Designers' Forum - Volume 2
Secrets, hot spots, and generalization: preparing students to design software families
Journal of Computing Sciences in Colleges
Using the divide and conquer strategy to teach Java framework design
Proceedings of the 3rd international symposium on Principles and practice of programming in Java
Towards the unification of patterns and profiles in UML
Nordic Journal of Computing
Using classic problems to teach Java framework design
Science of Computer Programming - Special issue: Principles and practices of programming in Java (PPPJ 2004)
Formal specification and analysis of JAAS framework
Proceedings of the 2006 international workshop on Software engineering for secure systems
Design fragments make using frameworks easier
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Framework design using function generalization: a binary tree traversal case study
Proceedings of the 44th annual Southeast regional conference
RDL: A language for framework instantiation representation
Journal of Systems and Software
Addressing separation of concerns in software engineering environments
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
A pattern to design crosscutting frameworks
Proceedings of the 2008 ACM symposium on Applied computing
UML-F in the Design of an Agent-Oriented Software Framework
PRIMA '08 Proceedings of the 11th Pacific Rim International Conference on Multi-Agents: Intelligent Agents and Multi-Agent Systems
UML-AOF: a profile for modeling aspect-oriented frameworks
Proceedings of the 13th workshop on Aspect-oriented modeling
Agent-Oriented Software Engineering IX
Multi-agent framework for a virtual enterprise of demand-responsive transportation
Canadian AI'08 Proceedings of the Canadian Society for computational studies of intelligence, 21st conference on Advances in artificial intelligence
A generic meta-model-based approach for specifying framework functionality and usage
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
An aspect-oriented reference architecture for Software Engineering Environments
Journal of Systems and Software
Standardizing variability --- challenges and solutions
SDL'11 Proceedings of the 15th international conference on Integrating System and Software Modeling
Proceedings of the 17th Conference on Pattern Languages of Programs
Hi-index | 0.00 |
From the Book:The Unified Modeling Language (UML) community has started to define so-called profiles in order to better suit the needs of specific domains or settings. For example, a profile for embedded systems should refine notational elements that represent real-time constraints. Another one for electronic business might take the typical software architecture of such systems, and thus its principal domain-specific entities, into consideration to come up with a UML notation tailored for that purpose.Object and component frameworks represent a special breed of object-oriented systems they are extensible semi-finished pieces of software. Completing the semi-finished software leads to different software pieces, typically specific applications, that share the same core. Though frameworks have been developed for a wide range of domains, they use common construction principles. For example, many of the design patterns written up by Gamma et al. (1995) rely on the framework construction principles.The aim of the UML profile for framework architectures is the definition of a UML subset, enriched with a few UML-compliant extensions, which allows the annotation of such artefacts. Thus, the resulting profile that we call UML-F does not correspond to a specific domain, but to framework technology. Though profiles might be standardized in the future, sound proposals from various communities will get the process of defining and standardizing UML profiles started. In that sense, this book sets the stage for the UML profile for framework architectures.The book is structured under two parts.Part I: The UML-F profileThe first chapter promotes the UML-Fprofile as an essential means of describing framework architectures and summarizes framework-related terminology. The following chapters cover the UML subset on which UML-F is based, and the notational elements of UML-F that support framework modeling and annotation. This includes a mechanism to define sets of related tags for essential construction principles and design patterns.Part II: UML-F@workThis part illustrates how UML-F is applied in the context of the sample framework JUnit. Considerations on the methodological implications of UML-F and a selection of practical hints and guidelines intended to assist in the design, development, and adaptation of frameworks complete this part.The UML-F web site (http://www.UML-F.net) provides additional material, such as the source code of the examples discussed in the book, additional examples, research papers, and UML-F presentations.AcknowledgmentsMany people helped and advised us in the course of writing this book. Rebecca Wirfs-Brock carefully reviewed the manuscript. Her detailed hints and suggestions led to significant improvements. We would also like to thank Alan Wills and Mohamed Fayad for their helpful comments on an early version of the manuscript.Timothy Brown, a computer science graduate from Washington University in St. Louis, not only corrected the English but also provided many useful ideas. Timothy Brown and Alessandro Pasetti co-authored Chapter 7. Several other colleagues helped us by reviewing parts of the manuscript and providing helpful feedback, including Lothar Schmitz, Heinrich Hussmann, Birgit Demuth, and Ljiljana Döhring. Thanks also go to the students of Wolfgang Prees software architecture course at the University of California, Berkeley in the Fall semester 2000.We thank Carlos Lucena, Edward Hermann Haeusler, Sergio Carvalho, Julio Leite (all at Pontifícia Universidade CatólicaPUC, Rio de Janeiro); Donald Cowan, Paulo Alencar (at the University of Waterloo); and Marcos Borges at the Federal University of Rio de Janeiro. They made excellent comments on and contributions to a previous version of this work (Fontoura, 1999).Special thanks go to Andrew Appel (Princeton University), and to Thomas K. Truong, Norm Pass, and Anant Jhingran (IBM Almaden Research Center, San Jose, CA) for their support regarding this work.Finally, it was a pleasure to cooperate with the people from Addison-Wesley: Alison Birtwell, J. Carter Shanklin, Katherin Ekstrom, Claudia Orrell, and the copy editor Derek Atkins.This work was partially funded by Nokia and the Bayerisches Staatsministerium für Wissenschaft, Forschung und Kunst under the Habilitation-Förderpreis Programm, by the Bayerische Forschungsstiftung under the FORSOFT research consortium, and the Bundesministerium für Bildung und Forschung (BMBF) under the Virtual Software Engineering Competence Center (ViSEK).Traces of the books historyThe book was initiated by Marus Fontoura when Wolfgang and Marcus met in Rio in July 1999. A month later Bernhard joined the team. Besides the truly distributed writing (Princeton, NJ; Constance, Germany; Munich, Germany; San Jose, CA; Berkeley, CA), the authors worked on the book during a sailing trip in the Caribbean in Spring 2000. The final proof-reading was accomplished on a lake near Salzburg in August 2001, exactly two years after Bernhard and Wolfgang met there for their initial discussions.