Architecture Patterns for Mobile Games Product
|
|
- Robert York
- 6 years ago
- Views:
Transcription
1 Architecture Patterns for Mobile Games Product Lines Jin-Seok Yang POSTECH Information Research Lab, POSTECH Hojin Cho Dept. of Computer Science and Engineering, POSTECH Abstract - Product line software engineering (PLSE) is a promising method for software reuse. For the key of success, a reusable and adaptable architecture design is necessary. In domain of mobile games product lines, architectures have some common structures because of circumstance properties of the domain and business constraints. In this paper, we classify them as architecture patterns. By doing this, we can expect increasing portability, reusability, adaptability, maintainability, and eventually productivity and improving quality. Keywords - Software Product Line, Architecture Pattern, Mobile Game, Software Reuse. 1. Introduction' Software reuse has been getting popularity more and more since it has been considered as one of the most effective ways of increasing productivity and improving quality of software. Product line software engineering (PLSE) is an emerging software engineering paradigm in which applications are developed by integrating existing product line assets. Feature-oriented product line software engineering [1] is a promising software development paradigm and an effective way for software reuse. In the domain of mobile game, mobile games (mobile applications in general) require obligatory non-functionalities (e.g., portability, performance, security) because of its intrinsic qualities of environments and business constraints. In [2], many of the variations from constrained resources are listed. However, by following the process of [1], we also should consider the results of market analysis. Accordingly, environmental difficulties and business constraints are as follows: UT features (e.g., various screen sizes, number of colors, pixel depth, sound, keypad display, and vibrations); available memory and maximum application size; company-specific libraries; non-functional features (e.g., fast time-to-market, portability). Although the PLSE becomes more popular for reuse, in the domain of mobile games, it has been rarely used. The reasons ' This work was supported by the Korea Research Foundation Grant funded by the Korean Government (MOEHRD, Basic Research Promotion Fund) (KRF D00475) and was supported by the IT R&D program of MIC/IITA [2007-S032-01, Development of mobile application software environment technology supporting development multi-platform] why not to apply PLSE into the domain ofmobile games are as follows: First, basically the develop cycle is too short to follow processes of product line. Second, though there suggested developing methods with low cost and risk [2], small to medium-sized companies and organizations even tend not to try to find more effective ways. Third, there has been no explicit method for implementing reusable architectures in that domain. Thus, the guidelines for mobile applications product lines and the explicit implementation or construction of reusable architectures are essential for success. Given contemporary methods for developing product lines in the domain of mobile games and suggested software architecture patterns which are directly applicable, we can expect to improve quality and to increase productivity through using the available resources. Moreover, if the architectures are independent from various platforms which are converted later into a platform specific model (PSM), we can also expect to obtain the adaptability, portability, and reusability. Hence, in this paper, we suggest the feature-oriented architecture patterns for mobile games product lines. 2. Mobile Game Domain In general, applications in mobile application domain are mainly classified into server-side applications and client-side applications. However, we are more familiar with ones in client-side. Hence, we primarily focus on eliciting architecture patterns in the domain of rich-clients of mobile games. Mo b ile Game Garne Play Style Turn-Based,Scenario-Based Real-Time Genre Netwo rk Conrnection Always Co ntents Ev olut ion No rie Partial Simfulatio n Arcad e J ump & un Puzzle RctgFght Shoot ing Sp o rits Flight Love Strategy NuUrtur Histo ry Co nstruction TBS RTS Hybrid RPG TRPG Tactics Action RP G Onlinee RPG Figure 1. A partial feature model of mobile game domain Figure 1 shows a partial feature model of the mobile game client domain. Since the features such as "Game Play Style", "Genre", and "Contents Evolution" can affect the software architecture organization, they are used to parameterize the software architecture patterns. Hence, through the feature
2 selection, semi-automatic derivation of architecture patterns can be conducted in the mobile games product line. Although there are some other important factors such as QoS and other quality attributes which affect software architecture, the result of the feature selection mere guide the architecture selection. In other words, they are too abstract and thus we are hard to choose concrete one through them. For example, most of the applications in mobile game domain require QoS (Quality of Service) such as safety, usability, security, and performance and development quality attributes such as maintainability, reusability, modifiability, and fast time-to-market. Hence, it is possible to derive almost all ofthe pattern candidates from those general requirements. Thus, we should do feature modeling in a more domain-specific way through the significant characteristics in mobile game domain. That is, the feature model should contain more valuable for deriving (Fig. 1). 3. Architecture Pattern Basis For the reusable architecture as patterns, we focus on module architecture patterns which are derived from real products by applying reverse engineering. Since, in general, performance and generalization (for reuse) are in inverse proportion, we should regulate qualities of the patterns between performance and reusability. 3.1 Canonical Form Like design patterns [3], we can classify architecture patterns. By using classification templates, we can easily apply patterns to problems. Here, we suggest that a canonical form for architecture patterns. Table 1. A template for the canonical form Variants The name of a pattern The context for applying a pattern How a pattern applies to the context Variation points of a pattern Other patterns related to a pattern It is noted that, in addition to these items, descriptions for an architecture pattern should contain a static diagram to show the overall organization of the pattern and a behavior diagram to show the significant dynamic behavior to know how the pattern works. In addition to these items, we have been augmenting the entries to contain more specific and useful information such as names which are also known as, examples to explain the need ofthe pattern, problems which will be addressed by the pattern, implementation guidelines, resolved examples, and so on. 3.2 Constituents For delineating architectures, we suggest a notation for constituents of architecture patterns. In Fig. 2, the "use" matches the required interface of a component and the "interface" is an abbreviation of the provided interface of a component C 6 rh r1) oie it use )~ n1te ifce Figure 2. A notation for architecture pattern primitives Contours of a component and two lines of "use" and "interface" can be dotted lines meaning that they are optional. A component is composed of at least one class. For the classes and their relationships inside a component, we use UML class diagram notation [4]. 3.3 Implementation Components can be implemented by AOP [5]. According to [6], it is effective to implement variable features using AOP. Moreover, for the advanced implementation of inclusion and exclusion of a component depending on the feature selection, we are able to use the framed aspects [7]. By using these contemporary methods, variations of architecture patterns can be conducted. 4. Architecture Pattern Exploitation At the outset of elicitation, it is noted that we omitted the diagrams except for the last one because of space limitation. In fact, first two patterns are relatively easy to understand than the last one. 4.1 Ut-oriented decentralized control pattern Basically, many mobile games are developed by a unit of screens. Development teams are classified and managed by following the boundary of screens. Besides, there exist patterns related to inside screens (UI). For example, screens of setting menus, of board games, of shooting games, and so on. We call these screen-related patterns shortly as Ut-patterns. In other words, the code-level reuse of Ut can be overcome by Ut-patterns. But, it is not within the scope of this study to outline all of the related detail patterns. Hence, we will limit ourselves to architectural patterns. Ut-oriented decentralized control pattern is described as follows: Table 2. Ul-oriented decentralized control pattern Variants Ut-oriented decentralized control pattern. Parallel programming (reduce dev. time). Overcome code level reuse of Uls. Reusability; Maintainability. Use Ul patterns and let Uls communicate using predefined interfaces. Similar Uls can be bound together. Aux. (-Manager components) components. Observer pattern (Push).
3 lcontrolk "IIiibration ISound I INlet 4rk... IStorage Figure 3. Contents-adaptable pattern 4.2 Centralized control pattern Ifwe look into the mobile games in detail, we will find easily that they are very small-scaled products and that they are composed of similar UTs and data. In that case, we can consider them as cohesive elements. Thus, we can implement the tightly related elements in single component. That is, we bind a controller with all small data used in the controller. The, it looks like a huge single MVC structure. Centralized control pattern is described as follows: Table 3. Centralized control pattern Centralized control pattern A few numbers of UTs. A few resources (storage size, memory) Performance (reducing class loading time). Make a model component and a view component be passive, and make a controller component use them. Variants A model data can be a data object of inside a controller component. Aux. (-Manager components) components. Pure fabrication pattern Observer pattern (Pull). 4.3 Contents-adaptable pattern Users often want to change requirements. It means that the application should have modifiability and/or scalability. In a mobile game domain, for example, users sometimes want to change stories or sounds. Thus, extension ofthe game contents should be addressed. To accept these requirements, we suggest contents-adaptable pattern. The pattern is described as follows: Table 4. Contents-adaptable pattern Contents-adaptable pattern In a fixed structure of software, contents of it vary and are reconfigured. Make a downloadable content package contain constitution information (i.e., UT transition, UT composition) and a content manager component reconfigures an application based on the information Variants With supporting of dynamic class loading, we can extend to architectural reconfiguration. Factory pattern -120-
4 Figure 3 represents an organizational view ofthis pattern. As we discussed before, dashed line components and arrows mean that they are optional. According to the feature model in [8], the optional elements are sometimes related to variable features. Later, when we develop products, we select features for each, and then the result of selection affects to the architectures. Even the optional elements are not related to features, we should go through the adaption phase. Solid line components mean that they are mandatory. The classes and their relations inside each component are obligatory for the right operation of components. In addition to the static relationships among components in the pattern, we have to show the dynamic relationships among them to convince the pattern users that how it works. The following scenario shows how the content is installed within the architecture. GameManaqer U IModel Invoker li- li- pos = getposition Figure 5. Dynamic behavior of contents-adaptable pattern (display refresh) ContentManager 5. Concluding Remarks and Future Work I As we explained above, architectures for mobile games have some patterns because of constraints and natures of mobile game domain. However, we merely proposed a few ofthem in this paper. They are specified as a platform independent model and generic, highly adaptable, and flexible. Later we can generate a skeleton code following steps in [1]. We already tested some of these patterns by applying tem into the real product development. Though it is a commercial product and thus we make no mention of it in detail, the development and release were successful. In short, the reusable architecture buildmodel builduimodel Figure 4. Dynamic behavior of contents-adaptable pattern (install) To install a new content, first, the "GameManager" component requests the installation of a new content to the "ContentManager" component. Then, the "ContentManager" downloads the content through the "ContentReceiver" and builds a data model and an UT model, and update state transition graph (STG) for the screen transition. Since this pattern uses a different mechanism to refresh a display because ofthe variety of models, we show the scenario for updating the display (See Fig. 5). To refresh the screen, firstly, the "GameManage" component requests drawing through the call "paint(" to the "UTModellnvoker". Then, the "UTModellnvoker" gathers screen composition information such as a position, a size, and a shape from the "UTModel" and composes display to draw the screen. In fact, this pattern is the consequence of selection of the feature, "Contents Evolution" (See Fig. 1). It is noted that more than one pattern can be used in a hybrid way. However, it needs careful analysis of potential problems such as an interaction problem. Hence, we have shown mere primitive patterns so far patterns help effectively the product line engineering. The architecture patterns are effectively conducted to the real world products because we derived them from real products by the reverse engineering, then we associated them with the feature model. Thus, they are mapped intuitionally and easy to use by selection of features. Later, we will augment more architecture patterns and classify UT patterns. The support of a CASE tool is required for semi-automatic derivation of architecture patterns. Although we did not address the abstraction level of the patterns, various levels of abstraction are possible. Thus, we have to classify the levels and use them properly. REFERENCES [1] Kyo C. Kang, Jaejoon Lee, and Patrick Donohoe, Feature-Oriented Product Line Engineering. IEEE Software, Vol. 9, No. 4, July/August 2002, pp [2] Vander Alves, Pedro Matos Jr., Leonardo Cole, Paulo Borba, Geber Ramalho, Extracting and Evolving Mobile Games Product Lines. Proceedings of the SPLC 2005, Rennes, France, September 26-29, 2005, pp [3] Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
5 [4] Mandar Chitnis, Pravin Tiwari, Lakshmi Ananthamurthy, "The UML Class Diagram: Part 1", [5] AspectJ Team, "AspectJ Project", [6] Kwanwoo Lee, Kyo C. Kang, Minseong Kim, Sooyong Park, Combining Feature-Oriented Analysis and Aspect-Oriented Programming for Product Line Asset Development. Proceedings of the SPLC 2006, Baltimore, Maryland, USA, August 21-24, 2006, pplo [7] Loughran, N., Rashid, A., Framed Aspects: Supporting Variability and Configurability for AOP. Springer-Verlag Berlin Heidelberg, [8] Kyo C. Kang, Sholom G. Cohen, James A Hess, William E. Novak, and A. Spencer Peterson, Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, [9] Kyo C. Kang, Sajoong Kim, Jaejoon Lee, Kijoo Kim, Euiseob Shin, and Moonhang Huh, FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures. Annals of Software Engineering, 1998, pp
Feature-Oriented Domain Analysis (FODA) Feasibility Study
Feature-Oriented Domain Analysis (FODA) Feasibility Study Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, A. Spencer Peterson November 1990 Quick recap of DE terms Application: A system
More informationIntegrating Domain Specific Modeling into the Production Method of a Software Product Line
Integrating Domain Specific Modeling into the Production Method of a Software Product Line Gary J. Chastek Software Engineering Institute John D. McGregor Clemson University Introduction This paper describes
More informationFORM : A feature-oriented reuse method with domain-specific reference architectures
FORM : A feature-oriented reuse method with domain-specific reference architectures Kyo C. Kang, Sajoong Kim, Jaejoon Lee, Kijoo Kim, Euiseob Shin and Moonhang Huh Annals of Software Engineering (1998)
More informationGeneric Modeling using UML extensions for variability
Generic Modeling using UML extensions for variability Intershop Research Intershop, Jena Matthias Clauß Software Engineering Group Dresden University of Technology M.Clauss@intershop.com September 14,
More informationGuiding System Modelers in Multi View Environments: A Domain Engineering Approach
Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Arnon Sturm Department of Information Systems Engineering Ben-Gurion University of the Negev, Beer Sheva 84105, Israel
More informationUsing Aspects to Make Adaptive Object-Models Adaptable
Using Aspects to Make Adaptive Object-Models Adaptable Ayla Dantas 1, Joseph Yoder 2, Paulo Borba, and Ralph Johnson 1 Software Productivity Group Informatics Center Federal University of Pernambuco Recife,
More informationInformation Hiding and Aspect-Oriented Modeling
Information Hiding and Aspect-Oriented Modeling Wisam Al Abed and Jörg Kienzle School of Computer Science, McGill University Montreal, QC H3A2A7, Canada Wisam.Alabed@mail.mcgill.ca, Joerg.Kienzle@mcgill.ca
More informationModeling variability with UML
Modeling variability with UML Matthias Clauß Intershop Research Software Engineering Group Intershop, Jena Dresden University of Technology Matthias.Clauss@gmx.de Keywords: product families, domain modeling,
More informationUsing Aspects to Make Adaptive Object-Models Adaptable
Using Aspects to Make Adaptive Object-Models Adaptable Ayla Dantas 1, Joseph Yoder 2, Paulo Borba 1, Ralph Johnson 2 1 Software Productivity Group Informatics Center Federal University of Pernambuco Recife,
More informationDemo Proposal. 1 General Information
Demo Proposal 1 General Information Demostration title: FLiP Product Line Derivation Tool Type of demonstration : Forum Contact person: Paulo Borba, phmb@cin.ufpe.br, Informatics Center UFPE, Universidade
More information1 Version management tools as a basis for integrating Product Derivation and Software Product Families
1 Version management tools as a basis for integrating Product Derivation and Software Product Families Jilles van Gurp, Christian Prehofer Nokia Research Center, Software and Application Technology Lab
More informationObject Design II: Design Patterns
Object-Oriented Software Engineering Using UML, Patterns, and Java Object Design II: Design Patterns Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen A Game: Get-15 The game
More informationGoals of Lecture. Lecture 27: OO Design Patterns. Pattern Resources. Design Patterns. Cover OO Design Patterns. Pattern Languages of Programming
Goals of Lecture Lecture 27: OO Design Patterns Cover OO Design Patterns Background Examples Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2001 April 24, 2001 Kenneth
More informationProduct Line Evolution Using Source Packages
Product Line Evolution Using Source Packages Arie van Deursen Merijn de Jonge CWI P.O. Box 94079, 1090 GB Amsterdam, The Netherlands http://www.cwi.nl/ {arie,mdejonge} Abstract We present a language-independent
More informationTimeline Variability. The Variability of Binding Time of Variation Points. Eelco Dolstra Gert Florijn Eelco Visser
Timeline Variability The Variability of Binding Time of Variation Points Eelco Dolstra Gert Florijn Eelco Visser Technical Report UU-CS-2003-052 Institute of Information and Computing Sciences Utrecht
More informationExtracting and Evolving Mobile Games Product Lines
Extracting and Evolving Mobile Games Product Lines Vander Alves, Pedro Matos Jr., Leonardo Cole, Paulo Borba, and Geber Ramalho Informatics Center, Federal University of Pernambuco P.O. Box 7851-50.732-970
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationA Technique for Design Patterns Detection
A Technique for Design Patterns Detection Manjari Gupta Department of computer science Institute of Science Banaras Hindu University Varansi-221005, India manjari_gupta@rediffmail.com Abstract Several
More informationA Framework for Reliability Assessment of Software Components
A Framework for Reliability Assessment of Software Components Rakesh Shukla, Paul Strooper, and David Carrington School of Information Technology and Electrical Engineering, The University of Queensland,
More informationA Lightweight Language for Software Product Lines Architecture Description
A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN
More informationSynthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures
Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Dietmar Schreiner 1,2 and Karl M. Göschka 1 1 Vienna University of Technology Institute of Information
More informationProduct Lines, Features, and MDD 1
Product Lines, Features, and MDD 1 Bruno González-Baixauli, Miguel A. Laguna, Yania Crespo Department of Computer Science, University of Valladolid, Campus M. Delibes, 47011 Valladolid, Spain {bbaixauli,
More informationTowards The Adoption of Modern Software Development Approach: Component Based Software Engineering
Indian Journal of Science and Technology, Vol 9(32), DOI: 10.17485/ijst/2016/v9i32/100187, August 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Towards The Adoption of Modern Software Development
More information136 TUGboat, Volume 39 (2018), No. 2
136 TUGboat, Volume 39 (2018), No. 2 FreeType MF Module: A module for using METAFONT directly inside the FreeType rasterizer Jaeyoung Choi, Ammar Ul Hassan, Geunho Jeong Abstract METAFONT is a font description
More informationTHE ADAPTABILITY CHALLENGE FOR EMBEDDED CONTROL SYSTEM SOFTWARE.
THE ADAPTABILITY CHALLENGE FOR EMBEDDED CONTROL SYSTEM SOFTWARE V. Cechticky 1, A. Pasetti 1,2, W. Schaufelberger 1 1 Institut für Automatik, ETH-Zürich, Physikstr. 3, Zürich, CH-8092 2 P&P Software GmbH,
More informationVariability Implementation Techniques for Platforms and Services (Interim)
Engineering Virtual Domain-Specific Service Platforms Specific Targeted Research Project: FP7-ICT-2009-5 / 257483 Variability Implementation Techniques for Platforms and Services (Interim) Abstract Creating
More informationDesign Patterns. An introduction
Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at
More informationINTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) NEED FOR DESIGN PATTERNS AND FRAMEWORKS FOR QUALITY SOFTWARE DEVELOPMENT
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)
More informationA Metric of the Relative Abstraction Level of Software Patterns
A Metric of the Relative Abstraction Level of Software Patterns Atsuto Kubo 1, Hironori Washizaki 2, and Yoshiaki Fukazawa 1 1 Department of Computer Science, Waseda University, 3-4-1 Okubo, Shinjuku-ku,
More informationJOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards
More informationDesign Patterns. Gunnar Gotshalks A4-1
Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem
More informationAdvanced Object Oriented PHP
CNM STEMulus Center Web Development with PHP November 11, 2015 1/17 Outline 1 2 Diamond Problem Composing vs Inheriting Case Study: Strategy Design Pattern 2/17 Definition is when a class is based on another
More informationDesign Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns
Introduction o to Patterns and Design Patterns Dept. of Computer Science Baylor University Some slides adapted from slides by R. France and B. Tekinerdogan Observations Engineering=Problem Solving Many
More informationDesign Patterns. CSC207 Fall 2017
Design Patterns CSC207 Fall 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe the
More informationCS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam
CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam MIDTERM EXAMINATION 2010 Question No: 1 ( Marks: 1 ) - Please choose one By following modern system engineering
More informationA Generic Visual Language Technique for DSVL Model Refactoring to Patterns
ECEASST A Generic Visual Language Technique for DSVL Model Refactoring to Patterns Karen Li 1, John Hosking 1, and John Grundy 2 1 {k.li, j.hosking}@auckland.ac.nz Departments of Computer Science, University
More informationProduct Derivation through Domain-Specific Modeling: Collected Experiences
Product Derivation through Domain-Specific Modeling: Collected Experiences Risto Pohjonen, Juha-Pekka Tolvanen MetaCase, Ylistönmäentie 31 FIN-40500 Jyväskylä, Finland rise, jpt@metacase.com http://www.metacase.com
More informationTowards Better Support for Pattern-Oriented Software Development
Towards Better Support for Pattern-Oriented Software Development Dietrich Travkin Software Engineering Research Group, Heinz Nixdorf Institute & Department of Computer Science, University of Paderborn,
More informationSpecial Report CMU/SEI-96-SR-001. Robert Krut. Nathan Zalman. May 1996
Special Report CMU/SEI-96-SR-001 Domain Analysis Workshop Report for the Automated Prompt Response System Domain Robert Krut Nathan Zalman May 1996 Special Report CMU/SEI-96-SR-001 May 1996 Domain Analysis
More informationA Metric for Measuring the Abstraction Level of Design Patterns
A Metric for Measuring the Abstraction Level of Design Patterns Atsuto Kubo 1, Hironori Washizaki 2, and Yoshiaki Fukazawa 1 1 Department of Computer Science, Waseda University, 3-4-1 Okubo, Shinjuku-ku,
More informationMODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES
MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES Wolfgang Friess AUDI AG wolfgang.friess@audi.de Julio Sincero University Erlangen-Nuernberg sincero@informatik.uni-erlangen.de Wolfgang
More informationUsually software system variants, developed by Clone-and-own approach, form
ABSTRACT Usually software system variants, developed by Clone-and-own approach, form a starting point for building Software Product Line. To migrate software systems which are deemed similar to a product
More informationAn Introduction to Patterns
An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? - 1 Work on software development patterns stemmed from work on patterns from building architecture
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Design Patterns part 1
Ingegneria del Software Corso di Laurea in Informatica per il Management Design Patterns part 1 Davide Rossi Dipartimento di Informatica Università di Bologna Pattern Each pattern describes a problem which
More informationKeywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.
Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad
More informationCoordination Patterns
Coordination Patterns 1. Coordination Patterns Design Patterns and their relevance for Coordination Oscar Nierstrasz Software Composition Group Institut für Informatik (IAM) Universität Bern oscar@iam.unibe.ch
More informationAn Introduction to Patterns
An Introduction to Patterns Robert B. France Colorado State University Robert B. France 1 What is a Pattern? Patterns are intended to capture the best available software development experiences in the
More informationFeature Assembly: A New Feature Modeling Technique
Feature Assembly: A New Feature Modeling Technique Lamia Abo Zaid 1, Frederic Kleinermann 1, and Olga De Troyer 1 1 Vrije Universiteit Brussel (VUB) Pleinlaan 2, 1050 Brussel Belgium {Lamia.Abo.Zaid, Frederic.Kleinermann,
More informationBranching Undo/Redo Mechanism Based on Variadic Parameter Command Pattern
2018 International Conference on Computer Science and Software Engineering (CSSE 2018) ISBN: 978-1-60595-555-1 Branching Undo/Redo Mechanism Based on Variadic Parameter Command Pattern Yingda Li, Jianzhuang
More informationRADX - Rapid development of web applications in XML
RADX - Rapid development of web applications in XML José Paulo Leal and Jorge Braz Gonçalves DCC-FC, University of Porto R. Campo Alegre, 823 4150 180 Porto, Portugal zp@dcc.fc.up.pt, jgoncalves@ipg.pt
More informationPattern-Based Architectural Design Process Model
Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying
More informationUML Specification and Correction of Object-Oriented Anti-patterns
UML Specification and Correction of Object-Oriented Anti-patterns Maria Teresa Llano and Rob Pooley School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh, United Kingdom {mtl4,rjpooley}@hwacuk
More informationPATTERNS AND SOFTWARE DESIGN
This article first appeared in Dr. Dobb s Sourcebook, March/April, 1995. Copyright 1995, Dr. Dobb's Journal. PATTERNS AND SOFTWARE DESIGN Patterns for Reusable Object-Oriented Software Richard Helm and
More informationAchieving Goals through Architectural Design Decisions
Journal of Computer Science 6 (12): 1424-1429, 2010 ISSN 1549-3636 2010 Science Publications Achieving Goals through Architectural Design Decisions Lena Khaled Department of Software Engineering, Faculty
More informationCSC7203 : Advanced Object Oriented Development. J Paul Gibson, D311. Design Patterns
CSC7203 : Advanced Object Oriented Development J Paul Gibson, D311 paul.gibson@telecom-sudparis.eu http://www-public.tem-tsp.eu/~gibson/teaching/csc7203/ Design Patterns /~gibson/teaching/csc7203/csc7203-advancedoo-l2.pdf
More informationTowards the integration of security patterns in UML Component-based Applications
Towards the integration of security patterns in UML Component-based Applications Anas Motii 1, Brahim Hamid 2, Agnès Lanusse 1, Jean-Michel Bruel 2 1 CEA, LIST, Laboratory of Model Driven Engineering for
More informationDeveloping Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach
Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart
More informationAPPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS
APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS Adem Zumbul (TUBITAK-UEKAE, Kocaeli, Turkey, ademz@uekae.tubitak.gov.tr); Tuna Tugcu (Bogazici University, Istanbul, Turkey, tugcu@boun.edu.tr) ABSTRACT
More informationSpemmet - A Tool for Modeling Software Processes with SPEM
Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes
More informationVisualizing Variability Models Using Hyperbolic Trees
Visualizing Variability Models Using Hyperbolic Trees R. Bashroush, A. Al-Nemrat, M. Bachrouch, H. Jahankhani School of Computing, IT and Engineering, University of East London, London, United Kingdom
More informationbe used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate
UNIT 4 GRASP GRASP: Designing objects with responsibilities Creator Information expert Low Coupling Controller High Cohesion Designing for visibility - Applying GoF design patterns adapter, singleton,
More informationModellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 8 OO modeling Design Patterns Introduction Creational Patterns Software
More informationFacade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004
Facade and Adapter Comp-303 : Programming Techniques Lecture 19 Alexandre Denault Computer Science McGill University Winter 2004 March 23, 2004 Lecture 19 Comp 303 : Facade and Adapter Page 1 Last lecture...
More informationSvamp An Integrated Approach to Modeling Functional and Quality Variability
Svamp An Integrated Approach to Modeling Functional and Quality Variability Mikko Raatikainen, Eila Niemelä, Varvana Myllärniemi, Tomi Männistö Helsinki University of Technology (TKK), VTT Technical Research
More informationTransformation of analysis model to design model
2010 International Conference on E-business, Management and Economics IPEDR vol.3 (2011) (2011) IACSIT Press, Hong Kong Transformation of analysis model to design model Lalji Prasad Truba College of Engineering
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, no. 4, September-October 2002 Requirements Engineering Donald G. Firesmith, Firesmith
More informationTracing Software Product Line Variability From Problem to Solution Space
Tracing Software Product Line Variability From Problem to Solution KATHRIN BERG, JUDITH BISHOP University of Pretoria and DIRK MUTHIG Fraunhofer IESE The management of variability plays an important role
More informationDesign Patterns. CSC207 Winter 2017
Design Patterns CSC207 Winter 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe
More informationOn the Role of Features in Analyzing the Architecture of Self-Adaptive Software Systems
On the Role of Features in Analyzing the Architecture of Self-Adaptive Software Systems Ahmed Elkhodary, Sam Malek, Naeem Esfahani Department of Computer Science George Mason University {aelkhoda, smalek,
More informationUML Aspect Specification Using Role Models
UML Aspect Specification Using Role Models Geri Georg Agilent Laboratories, Agilent Technologies, Fort Collins, USA geri_georg@agilent.com Robert France Department of Computer Science, Colorado State University
More informationApplying Interaction Patterns: Towards a Model-Driven Approach for Rich Internet Applications Development
Applying Interaction Patterns: Towards a Model-Driven Approach for Rich Internet Applications Development Francisco Valverde, Oscar Pastor Department of Information Systems and Computation Universidad
More informationConfiguration Provider: A Pattern for Configuring Threaded Applications
Configuration Provider: A Pattern for Configuring Threaded Applications Klaus Meffert 1 and Ilka Philippow 2 Technical University Ilmenau plop@klaus-meffert.de 1, ilka.philippow@tu-ilmena.de 2 Abstract
More informationObject-Oriented Software Development Goal and Scope
Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic
More informationReview Software Engineering October, 7, Adrian Iftene
Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)
More informationA Type Graph Model for Java Programs
A Type Graph Model for Java Programs Arend Rensink and Eduardo Zambon Formal Methods and Tools Group, EWI-INF, University of Twente PO Box 217, 7500 AE, Enschede, The Netherlands {rensink,zambon}@cs.utwente.nl
More informationMore on Design. CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson
More on Design CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson Outline Additional Design-Related Topics Design Patterns Singleton Strategy Model View Controller Design by
More informationGUI-based Chinese Font Editing System Using Font Parameterization Technique
Typography and Diversity http://www.typoday.in GUI-based Chinese Font Editing System Using Font Parameterization Technique Minju Son, School of Computer Science and Engineering, Soongsil University, sonmibz@ssu.ac.kr
More informationA Methodology for the Derivation and Verification of Use Cases for Product Lines
A Methodology for the Derivation and Verification of Use Cases for Product Lines A. Fantechi 1, S. Gnesi 2, G. Lami 2, and E. Nesti 1 1 Dipartimento di Sistemi e Informatica, Università di Firenze - (Italy)
More informationAssisting Trustworthiness Based Web Services Selection Using the Fidelity of Websites *
Assisting Trustworthiness Based Web Services Selection Using the Fidelity of Websites * Lijie Wang, Fei Liu, Ge Li **, Liang Gu, Liangjie Zhang, and Bing Xie Software Institute, School of Electronic Engineering
More informationIntroduction to Software Engineering
Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,
More informationConcurrency Control with Java and Relational Databases
Concurrency Control with Java and Relational Databases Sérgio Soares and Paulo Borba Informatics Center Federal University of Pernambuco Recife, PE, Brazil scbs,phmb @cin.ufpe.br Abstract As web based
More informationSoftware Architecture
Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning
More informationSoftware Architecture
Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment
More informationPatterns for polymorphic operations
Patterns for polymorphic operations Three small object structural patterns for dealing with polymorphism Alexander A. Horoshilov hor@epsylontech.com Abstract Polymorphism is one of the main elements of
More informationReflective Design Patterns to Implement Fault Tolerance
Reflective Design Patterns to Implement Fault Tolerance Luciane Lamour Ferreira Cecília Mary Fischer Rubira Institute of Computing - IC State University of Campinas UNICAMP P.O. Box 676, Campinas, SP 3083-970
More informationWS01/02 - Design Pattern and Software Architecture
Design Pattern and Software Architecture: VIII. Conclusion AG Softwaretechnik Raum E 3.165 Tele. 60-3321 hg@upb.de VIII. Conclusion VIII.1 Classifications VIII.2 Common Misconceptions VIII.3 Open Questions
More informationKnowledge Engineering in Software Product Lines
Knowledge Engineering in Software Product Lines Michael Schlick 1 and Andreas Hein 2 Abstract. A software product-line is a collection of products sharing a common set of that address the specific needs
More informationIntroduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches
Introduction to Software Engineering ECSE-321 Unit 9 Architectural Design Approaches Requirement Elicitation Analysis (Software Product Design) Architectural Design Detailed Design Architectural Design
More informationDOMAIN ENGINEERING OF COMPONENTS
4-02-55 INFORMATION MANAGEMENT: STRATEGY, SYSTEMS, AND TECHNOLOGIES DOMAIN ENGINEERING OF COMPONENTS Carma McClure INSIDE Definition of Components; Component-Based Development; Reuse Processes; Domain
More informationA Product Line Architecture for Web Applications
A Product Line Architecture for Web Applications L. Balzerani, D. Di Ruscio, A. Pierantonio Dipartimento di Informatica Università degli Studi di L Aquila I 67100 L Aquila, Italy {balzerani, diruscio,
More informationFiltered Cartesian Flattening: An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints
Filtered Cartesian Flattening: An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints J. White and D. C. Schmidt Vanderbilt University, EECS Department Nashville,
More informationARCHITECTURE MIGRATION USING DSM IN A LARGE-SCALE SOFTWARE PROJECT
14 TH INTERNATIONAL DEPENDENCY AND STRUCTURE MODELING CONFERENCE, DSM 12 KYOTO, JAPAN, SEPTEMBER 13 14, 2012 ARCHITECTURE MIGRATION USING DSM IN A LARGE-SCALE SOFTWARE PROJECT Takashi Maki Corporate Technology
More informationDesign Patterns. CSC207 Fall 2017
Design Patterns CSC207 Fall 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe the
More informationpreliminary draft, June 15, :57 preliminary draft, June 15, :57
TUGboat, Volume 0 (9999), No. 0 preliminary draft, June 15, 2018 17:57? 1 FreeType MF Module: A module for using METAFONT directly inside the FreeType rasterizer Jaeyoung Choi, Ammar Ul Hassan and Geunho
More informationFeature-Oriented Domain Analysis (FODA) Feasibility Study
Technical Report CMU/SEI-90-TR-21 ESD-90-TR-222 Feature-Oriented Domain Analysis (FODA) Feasibility Study Kyo C. Kang Sholom G. Cohen James A. Hess William E. Novak A. Spencer Peterson November 1990 Technical
More informationCHAPTER 6: CREATIONAL DESIGN PATTERNS
CHAPTER 6: CREATIONAL DESIGN PATTERNS SESSION I: OVERVIEW OF DESIGN PATTERNS, ABSTRACT FACTORY Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos E. Otero
More information4.1 Introduction Programming preliminaries Constructors Destructors An example... 3
Department of Computer Science Tackling Design Patterns Chapter 4: Factory Method design pattern Copyright c 2016 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents 4.1 Introduction.................................
More informationModeling Variability for Object-Oriented Product Lines
Modeling Variability for Object-Oriented Product Lines Matthias Riebisch, Detlef Streitferdt, Ilian Pashov Technical University Ilmenau, Max-Planck-Ring 14, 98684 Ilmenau, Germany {matthias.riebisch detlef.streitferdt
More informationFeature Descriptions for Context-oriented Programming
Feature Descriptions for Context-oriented Programming Pascal Costanza, Theo D Hondt Programming Technology Lab Vrije Universiteit Brussel, B-1050 Brussels, Belgium (pascal.costanza tjdhondt)@vub.ac.be
More informationMVC. Model-View-Controller. Design Patterns. Certain programs reuse the same basic structure or set of ideas
MVC -- Design Patterns Certain programs reuse the same basic structure or set of ideas These regularly occurring structures have been called Design Patterns Design Patterns Design Patterns: Elements of
More information