Aspect-Oriented Software Architectures

Total Page:16

File Type:pdf, Size:1020Kb

Aspect-Oriented Software Architectures PRISMA: Aspect-Oriented Software Architectures Jenifer Pérez Benedí Department of Information Systems and Computation Polytechnic University of Valencia A thesis submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Computer Science Supervisors: Prof. Dr. Isidro Ramos Salavert Dr. Jose Ángel Carsí Cubel This thesis has been funded by the Department of Science and Technology (Spain) under the National Program for Research, Development and Innovation, DYNAMICA (DYNamic and Aspect-Oriented Modeling for Integrated Component-based Architectures) project, PRISMA (OASIS Platform for Architectural Models) subproject, TIC2003-7804-C05-01. Moreover, it is funded by the Microsoft Research Cambridge, “PRISMA: Model Compiler of aspect- oriented component-based software architectures” Project. ABSTRACT The complexity of current software systems and the fact that their non-functional requirements have become very relevant for the end-user are challenges to be faced in software development. In the last few years, these properties have increased the time and the staff required for the development and maintenance processes of software. As a result, there is greater interest in reducing the costs of these processes in complex software systems. In order to deal with these challenges, to achieve the milestones of software products, and to overcome the competitiveness of the market, this thesis presents a novel approach for developing complex software systems. This approach is called PRISMA. PRISMA is supported by a framework that consists of a model, a language, a methodology and a Computer-Aided Software Engineering (CASE) tool prototype. The PRISMA model combines two approaches to define software architectures: the Component-Based Software Development (CBSD) and the Aspect-Oriented Software Development (AOSD). The main contributions of the model are the way that it combains both approaches to take their advantages, and its formal language. PRISMA takes into account non-functional requirements from the early stages of the software life cycle and improves the reusability and maintenance of software by decomposing software systems using two different concepts: aspects and architectural elements (components and connectors). PRISMA provides a formal Aspect-Oriented Architecture Description Language (AOADL) for specifying aspect-oriented software architectures. Its AOADL is independent of technology and is based on formal languages and formalisms to preserve non-ambiguity in order to apply code generation techniques. The methodology that PRISMA proposes for developing software systems follows the Paradigm of Automatic Programming by applying the Model-Driven Development (MDD) approach. As a result, PRISMA provides traceability from the analysis and design stages of the software life cycle to the implementation stage, and provides mechanisms to improve the time and cost invested in the development and maintenance processes. i The PRISMA model and its methodology are supported by a CASE tool prototype called PRISMA CASE. This tool allows the specification of PRISMA architectures using its AOADL in a textual and a graphical way, the verification of PRISMA software architectures, and the automatic C# code generation thanks to the middleware and the code generation patterns that the CASE tool prototype integrates. Finally, PRISMA CASE provides a generic Graphical User Interface to execute PRISMA applications over .NET platform and to validate them. ii RESUMEN Hoy en día, la complejidad de los sistemas software y la gran relevancia que han adquirido los requisitos no funcionales son retos que han de abordarse durante el proceso de desarrollo software. En los últimos años, estas propiedades han provocado un gran incremento en el tiempo y el personal necesario para llevar a cabo los procesos de desarrollo y mantenimiento del software. Por ello, existe un gran interés en mejorar dichos procesos. Esta tesis presenta un nuevo enfoque de desarrollo para sistemas software complejos. Dicho enfoque, llamado PRISMA, da soporte a estos nuevos retos y permite satisfacer la elevada competitividad del mercado. El enfoque PRISMA se ha materializado en un marco de trabajo formado por un modelo, un lenguaje, una metodología y un prototipo de herramienta CASE (Computer-Aided Software Engineering). El modelo de PRISMA combina dos aproximaciones para definir arquitecturas software: el Desarrollo de Software Basado en Componentes (DSBC) y el Desarrollo de Software Orientado a Aspectos (DSOA). Las principales aportaciones del modelo es la manera en la que integra ambas aproximaciones para obtener sus ventajas y su lenguaje formal. PRISMA tiene en cuenta los requisitos no funcionales desde las primeras etapas del ciclo de vida software y mejora su reutilización y el mantenimiento. Todo ello gracias a la descomposición que realiza de los sistemas software utilizando dos conceptos diferentes: aspectos y elementos arquitectónicos (componentes y conectores). PRISMA proporciona un Lenguaje de Descripción de Arquitecturas Orientado a Aspectos (LDAOA) formal para la especificación de arquitecturas software orientadas a aspectos. El LDAOA de PRISMA es independiente de cualquier tecnología y está basado en lenguajes formales para evitar la ambigüedad y poder aplicar técnicas de generación automática de código. La metodología de PRISMA apuesta por el desarrollo de software siguiendo el Paradigma de la Prototipación Automática mediante la aplicación del enfoque de Desarrollo Dirigido por Modelos (DDM). De esta manera, PRISMA proporciona trazabilidad desde las etapas de iii análisis y diseño, a la etapa de implementación del ciclo de vida software, y proporciona mecanismos para mejorar el tiempo y el coste invertido en los procesos de desarrollo y mantenimiento del software. El modelo de PRISMA y su metodología son soportados mediante una herramienta CASE llamada PRISMA CASE. PRISMA CASE permite la especificación de arquitecturas PRISMA utilizando su LDAOA tanto de forma textual como gráfica, la verificación de arquitecturas PRISMA, y la generación automática de código C# gracias al middleware y a los patrones de generación de código que la herramienta CASE integra. Finalmente, PRISMA CASE proporciona una Interfaz Gráfica de Usuario (IGU) genérica que permite la ejecución de aplicaciones PRISMA sobre la plataforma .NET y la validación de su comportamiento. iv RESUM Avui en dia, la complexitat dels sistemes de programari i la gran rellevància que han adquirit els requisits no funcionals, són reptes que s’han d’ abordar durant el procés de desenvolupament del programari. En els últims anys, aquestes propietats han provocat un increment en el temps i del personal necessari per a dur en davant els processos de desenvolupament i manteniment de programari. Per això, hi ha un gran interés de millorar aquestos processos. Aquesta tesi presenta una nova aproximació de desenrotllament per a sistemes programari complexes. La dita aproximació, denominada PRISMA, dóna suport a aquests nou desafiaments i permet satisfer la gran competitivitat del mercat. L’ enfocament PRISMA s’ha materialitzat en un marc de treball format per un model, un llenguatge, una metodologia, i un prototip de ferramenta CASE (Computer-Aided Software Engineering). El model de PRISMA combina dues aproximacions per definir arquitectures de programari: el Desenvolupament de Programari Basat en Components (DPBC) i el Desenvolupament de Programari Orientat a Aspectes (DPOA). Les principals aportacions del model són la manera en la que integra dues aproximacions per obtindre els seus avantatges i el seu llenguatge formal. PRISMA assoleix els requisits no funcionals des de les primeres etapes del cicle de vida de programari i millora la reutilització i manteniment d’aquest. Tot açò, gràcies a la descomposició que fa dels sistemes de programari, tot i utilitzant dos conceptes diferents: aspectes i elements arquitectònics (components i connectors). PRISMA proporciona un Llenguatge de Descripció d’Arquitectures Orientat a Aspectes (LDAOA) formal per a l’especificació d’arquitectures de programari orientades a aspectes. El LDAOA de PRISMA és independent de tecnologia i està fonamentat en llenguatges formals per tal de evitar l’ambigüitat i poder aplicar tècniques de generació automàtica de codi. La metodologia de PRISMA aposta pel desenvolupament de programari tot i seguint el Paradigma de la Prototipació Automàtica mitjançant l’aplicació de l’aproximació del Desenvolupament Dirigit per Models (DDM). D’aquesta manera, PRISMA proveïx traçabilitat v des de les etapes d’anàlisi i disseny del cicle de vida de programari a l’ etapa d’ implementació. A més a més, proporciona mecanismes per tal de millorar el temps i la despesa invertida en els processos de desenvolupament i manteniment del programari. El model de PRISMA i la seua metodologia, són suportats mitjançant una eina CASE denominada PRISMA CASE. L’esmentada PRISMA CASE permet l’especificació d’arquitectures PRISMA utilitzant el seu LDAOA, tant de forma textual com gràfica, la verificació d’arquitectures PRISMA, i la generació automàtica de codi C# gràcies al middleware i als patrons de generació de codi que l’estri CASE integra. Per últim, PRISMA CASE proporciona una Interfície Gràfica d’Usuari (IGU) genèrica que permet l’execució d’aplicacions PRISMA sobre la plataforma .NET i la validació del seu comportament. vi KEY WORDS KEY WORDS: Software Architectures, Aspect-Oriented Software Development (AOSD), Component-Based Software Development (CBSD),
Recommended publications
  • Software Evolution of Legacy Systems a Case Study of Soft-Migration
    Software Evolution of Legacy Systems A Case Study of Soft-migration Andreas Furnweger,¨ Martin Auer and Stefan Biffl Vienna University of Technology, Inst. of Software Technology and Interactive Systems, Vienna, Austria Keywords: Software Evolution, Migration, Legacy Systems. Abstract: Software ages. It does so in relation to surrounding software components: as those are updated and modern- ized, static software becomes evermore outdated relative to them. Such legacy systems are either tried to be kept alive, or they are updated themselves, e.g., by re-factoring or porting—they evolve. Both approaches carry risks as well as maintenance cost profiles. In this paper, we give an overview of software evolution types and drivers; we outline costs and benefits of various evolution approaches; and we present tools and frameworks to facilitate so-called “soft” migration approaches. Finally, we describe a case study of an actual platform migration, along with pitfalls and lessons learned. This paper thus aims to give software practitioners—both resource-allocating managers and choice-weighing engineers—a general framework with which to tackle soft- ware evolution and a specific evolution case study in a frequently-encountered Java-based setup. 1 INTRODUCTION tainability. We look into different aspects of software maintenance and show that the classic meaning of Software development is still a fast-changing environ- maintenance as some final development phase after ment, driven by new and evolving hardware, oper- software delivery is outdated—instead, it is best seen ating systems, frameworks, programming languages, as an ongoing effort. We also discuss program porta- and user interfaces. While this seemingly constant bility with a specific focus on porting source code.
    [Show full text]
  • During the Early Days of Computing, Computer Systems Were Designed to Fit a Particular Platform and Were Designed to Address T
    TAGDUR: A Tool for Producing UML Diagrams Through Reengineering of Legacy Systems Richard Millham, Hongji Yang De Montfort University, England [email protected] & [email protected] Abstract: Introducing TAGDUR, a reengineering tool that first transforms a procedural legacy system into an object-oriented, event-driven system and then models and documents this transformed system through a series of UML diagrams. Keywords: TAGDUR, Reengineering, Program Transformation, UML In this paper, we introduce TAGDUR (Transformation from a sequential-driven, procedural structured to an and Automatic Generation of Documentation in UML event-driven, component-based architecture requires a through Reengineering). TAGDUR is a reengineering tool transformation of the original system to an object-oriented, designed to address the problems frequently found in event-driven system. Object orientation, because it many legacy systems such as lack of documentation and encapsulates methods and their variables into modules, is the need to transform the present structure to a more well-suited to a multi-tiered Web-based architecture modern architecture. TAGDUR first transforms a where pieces of software must be defined in encapsulated procedurally-structured system to an object-oriented, modules with cleanly-defined interfaces. This particular event-driven architecture. Then TAGDUR generates legacy system is procedural-driven and is batch-oriented; documentation of the structure and behavior of this a move to a Web-based architecture requires a real-time, transformed system through a series of UML (Unified event-driven response rather than a procedural invocation. Modeling Language) diagrams. These diagrams include class, deployment, sequence, and activity diagrams. Object orientation promises other advantages as well.
    [Show full text]
  • TAGDUR: a Tool for Producing UML Sequence, Deployment, and Component Diagrams Through Reengineering of Legacy Systems
    TAGDUR: A Tool for Producing UML Sequence, Deployment, and Component Diagrams Through Reengineering of Legacy Systems Richard Millham, Jianjun Pu, Hongji Yang De Montfort University, England [email protected] & [email protected] Abstract: A further introduction of TAGDUR, a documents this transformed system through a reengineering tool that first transforms a series of UML diagrams. This paper focuses on procedural legacy system into an object-oriented, TAGDUR’s generation of sequence, deployment, event-driven system and then models and and component diagrams. Keywords: UML (Unified Modeling Language), Reengineering, WSL This paper is a second installment in a series [4] accommodate a multi-tiered, Web-based that introduces TAGDUR (Transformation and platform. In order to accommodate this Automatic Generation of Documentation in remodeled platform, the original sequential- UML through Reengineering). TAGDUR is a driven, procedurally structured legacy system reengineering tool that transforms a legacy must be transformed to an object-oriented, event- system’s outmoded architecture to a more driven system. Object orientation, because it modern one and then represents this transformed encapsulates variables and procedures into system through a series of UML (Unified modules, is well suited to this new Web Modeling Language) diagrams in order to architecture where pieces of software must be overcome a legacy system’s frequent lack of encapsulated into component modules with documentation. The architectural transformation clearly defined interfaces. A transfer to a Web- is from the legacy system’s original based architecture requires a real-time, event- procedurally-structured to an object-oriented, driven response rather than the legacy system’s event-driven architecture.
    [Show full text]
  • Using XML to Build Consistency Rules for Distributed Specifications
    Using XML to Build Consistency Rules for Distributed Specifications Andrea Zisman Wolfgang Emmerich Anthony Finkelstein City University University College London Department of Computing Department of Computer Science Northampton Square Gower Street London EC1V 0HB London WC1E 6BT +44 (0)20 74778346 +44 (0)20 76794413 [email protected] {w.emmerich | a.finkelstein}@cs.ucl.ac.uk Inevitably, the heterogeneity of the specifications and the ABSTRACT diversity of stakeholders and development participants results in inconsistencies among the distributed partial The work presented in this paper is part of a large specifications [18]. However as development proceeds programme of research aimed at supporting consistency there is a requirement for consistency. management of distributed documents on the World Wide Web. We describe an approach for specifying consistency Consistency management is a multifaceted and complex rules for distributed partial specifications with overlapping activity that is fundamental to the success of software contents. The approach is based on expressing consistency development. Different approaches have been proposed to rules using XML and XPointer. We present a classification manage consistency [11][17][21][25][28]. This research for different types of consistency rules, related to various has identified a strong need for mechanisms, techniques types of inconsistencies and show how to express these and tools that aid in detecting, identifying and handling consistency rules using our approach. We also briefly inconsistencies among distributed partial specifications. describe a rule editor to support the specification of the consistency rules. We are interested in identifying inconsistencies among partial specifications where the documents in which these Keywords: Inconsistency, consistency rules, XML, specification fragments are represented exhibit Internet- XPointer.
    [Show full text]
  • XML Documents & Processor ¥ Document Type Definition (DTD) ¥ XML Basics ¥ XML Related Technologies
    XML for Software Engineers Andrea Zisman and Anthony Finkelstein {a.zisman, a.finkelstein}@cs.ucl.ac.uk Software Systems Engineering Group Department of Computer Science University College London 1 Tutorial Outline ¥ Introduction ¥ XML Applications ¥ XML Documents & Processor ¥ Document Type Definition (DTD) ¥ XML Basics ¥ XML Related Technologies . XLink & XPointer . XSL . DOM . Namespace . XML-Data . XML-QL ¥ XML & Software Engineering 2 1 Contract / Pre-requisite What are you going to get out of this tutorial ? > Know about XML and its related technologies > Know how to use XML in Software Engineering Pre-requisites > Software Engineering background > HTML and/or SGML 3 Introduction ¥ XML - eXtensible Markup Language ¥ XML - W3C (World Wide Web Consortium) Architecture Domain - headed by Dan Connolly ¥ XML - is based on SGML (Standard Generalized Markup Language - ISO8879:1986) ¥ XML - allows developers to create their own markup languages ¥ XML - brings structured information to the Web and provides a data standard that can encode the content, semantics & schemata for a wide variety of cases 4 2 Development Timeline XML 1.0 Recommendation XML 1.0 Proposed Recommendation HTML 4.0 Recommendation XML Working draft HTML 3.2 Simplified/stripped-down SGML draft (dubbed XML) HTML 2.0 SGML 1986 1995 1996 1997 19985 Nov Nov (Jan Aug Dec) Feb Architectural Dependencies Instances / Domains UXFUXF OSDOSD CDFCDF XMIXMI CKMLCKML RDFRDF CMLCMLOFXOFXXHTMLXHTML XMLXML HTMLHTML ...... SGMLSGML 6 3 XML vs. (HTML, SGML) XML vs. HTML XML vs. SGML ¥ Extensibility
    [Show full text]
  • Reactive Optimization of Transmission And
    REACTIVE OPTIMIZATION OF TRANSMISSION AND DISTRIBUTION NETWORKS A Thesis Presented to The Academic Faculty by Branislav Radibratovic In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the School of Electrical and Computer Engineering Georgia Institute of Technology May 2009 REACTIVE OPTIMIZATION OF TRANSMISSION AND DISTRIBUTION NETWORKS Approved by: Dr. Miroslav Begovic, Advisor Dr. Deepak Divan School of Electrical and Computer School of Electrical and Computer Engineering Engineering Georgia Institute of Technology Georgia Institute of Technology Dr. Bonnie Heck Frank Lambert School of Electrical and Computer NEETRAC Engineering Georgia Institute of Technology Georgia Institute of Technology Dr. John Dorsey School of Electrical and Computer Engineering Georgia Institute of Technology Date Approved: November 20, 2008 iv ACKNOWLEDGEMENTS I would like to thank to my wife Jelena for continuous support and understanding on this endless road, to my adviser dr. Miroslav Begovic for making this road possible and to my colleague, graduate student, George Stefopoulos for numerous interesting discussion during all of these years. I would like to especially thank to Dr. John Dorsey for his guidance and friendship. Without his help this document will never be written. iii TABLE OF CONTENTS Page ACKNOWLEDGEMENTS iii LIST OF TABLES vi LIST OF FIGURES viii SUMMARY xi 1. INTRODUCTION 1 2. ORIGIN AND HISTORY OF THE PROBLEM 3 3. CONCEPT OF MULTI-OBJECTIVE OPTIMIZATION 12 3.1. Multi-objective Optimization in Power System 14 4. OPTIMIZATION ALGORITHM; HIGH-LEVEL OVERVIEW 18 4.1. Modeling Difficulties 18 4.2. System Decoupling 20 4.3. Algorithm Synthesis 24 5. OPTIMIZATION TOOLS 26 5.1.
    [Show full text]
  • The UML Bibliography: 1 C 2001 Mark Richters and Paul Ziemann, University of Bremen (Version 0.93 of May 10, 2005)
    References [AA00] Ambrosio Toval Alvarez and Jose Luis Fernandez Aleman. Formally modeling UML and its evolution: A holistic approach. In Scott F. Smith and Carolyn L. Talcott, editors, Formal Methods for Open Object-Based Distributed Systems IV - Proc. FMOODS’2000, September, 2000, Stan- ford, California, USA. Kluwer Academic Publishers, 2000. [AA01] Jose Luis Fernandez Aleman and Ambrosio Toval Alvarez. Seamless formalizing the UML semantics through metamodels. In Keng Siau and Terry Halpin, editors, Unified Modeling Language: Systems Analysis, Design and Development Issues, chapter 14, pages 224–248. Idea Pub- lishing Group, 2001. [AAB+03] Faisal Akkawi, Omar Aldawud, Grady Booch, Siobhan´ Clarke, Jeff Gray, Bill Harrison, Mohamed Kande,´ Dominik Stein, Peri Tarr, and Aida Zakaria, editors. The 4th AOSD Modeling With UML Workshop, 2003. [Aag98] Jan Øyvind Aagedal. Towards an ODP-compliant object definition lan- guage with QoS-support. In T. Plagemann and V. Goebel, editors, Pro- ceedings 5th International Workshop, IDMS’98, Oslo, Norway, Septem- ber, volume 1483 of LNCS, pages 183–194. Springer, 1998. [AAK+04] Habtamu Abie, Demissie B. Aredo, Thor Kristoffersen, Shahrzade Mazaher, and Thierry Raguin. Integrating a security requirement lan- guage with UML. In Thomas Baar, Alfred Strohmeier, Ana Moreira, and Stephen J. Mellor, editors, UML 2004 - The Unified Modeling Language. Model Languages and Applications. 7th International Con- ference, Lisbon, Portugal, October 11-15, 2004, Proceedings, volume 3273 of LNCS, pages 350–364. Springer, 2004. [AAM99] Marwan Abi-Antoun and Nenad Medvidovic. Enabling the refinement of a software architecture into a design. In Robert France and Bernhard Rumpe, editors, UML’99 - The Unified Modeling Language.
    [Show full text]
  • Gsyc/Libresoft1 Research Group at the Universidad Rey Juan Carlos When I Started to Deepen Into Free/Libre Software and the World of Metrics
    UNIVERSIDAD REY JUAN CARLOS GRADO INGENIERIA´ SISTEMAS AUDIOVISUALES Y MULTIMEDIA Curso Academico´ 2017/2018 Trabajo Fin de Grado HERRAMIENTA PARA IDENTIFICAR Y EXTRAER MASIVAMENTE ARTEFACTOS DE GITHUB Autor : Miguel Angel´ Fernandez´ Sanchez´ Tutor : Dr. Gregorio Robles Trabajo Fin de Grado Herramienta para Identificar y Extraer Masivamente Artefactos de GitHub Autor : Miguel Angel´ Fernandez´ Sanchez´ Tutor : Dr. Gregorio Robles Mart´ınez La defensa del presente Trabajo Fin de Grado se realizo´ el d´ıa de de 2018, siendo calificada por el siguiente tribunal: Presidente: Secretario: Vocal: y habiendo obtenido la siguiente calificacion:´ Calificacion:´ Fuenlabrada, a de de 2018 Dedications A mi padre y a mi madre: Gracias por vuestro incansable esfuerzo y apoyo. Este es vuestro exito.´ To my mother and father: Thank you for your endless effort and support. This is your success. I II Acknowledgements First, I want to dedicate these first words to my parents and the rest of my family. I am grateful for the values they taught me about persistence, tolerance and self-sufficiency. Their constant effort and support made possible for me studying at the university, which is something I feel really proud of. I want to thank my tutor Gregorio, for granting me the great opportunity of working in GSy- C/LibreSoft research group where I have lived some of my great experiences at the university; growing as a person, meeting wonderful people, travelling and learning far beyond I could have ever imagined. To my friends and classmates from the university: Eduardo, Eva, Diego, Sara, Raul,´ Olalla, Javi, Bea, Dani, Carol, Marta, Cristina, Nuria, Raquel and many more.
    [Show full text]
  • XCU UXF Fiber Series User's Guide
    User’s Guide 3923 496 32511 April 2018 v1.3 Communication Transmission XCU UNIVERSE UXF Camera Power XF FIBER 42 Cable On Air Power XCU UXF Fiber Series XF Transmission Fiber Base Station Declaration of Conformity We, Grass Valley Nederland B.V., Bergschot 69, 4817 PA Breda, The Netherlands, declare under our sole responsibility that these products are in compliance with the following standards: - EN62368-1:2014 + AC:2015 — Safety - EN55032:2012 + C2:2013 — EMC (Emission) - EN55103-2:2009 — EMC (Immunity) following the provisions of: a. the Low Voltage directive 2014/35/EU b. the EMC directive 2014/30/EU c. the RoHS directive 2011/65/EU FCC CLASS A Statement This product generates, uses, and can radiate radio frequency energy and if not installed and used in accordance with the instructions, may cause interference to radio communications. It has been tested and found to comply with the limits for a CLASS A digital device pursuant to part 15 of the FCC rules, which are designed to provide reasonable protection against such interference when operated in a commercial environment. Operation of this product in a residential area is likely to cause interference in which case the user at his own expense will be required to take whatever measures may be required to correct the interference. Copyright Copyright Grass Valley Canada 2018. Copying of this document and giving it to others, and the use or communication of the contents thereof, are forbidden without express authority. Offenders are liable to the payment of damages. All rights are reserved in the event of the grant of a patent or the registration of a utility model or design.
    [Show full text]
  • A Model-Driven Architecture Based Evolution Method and Its Application in an Electronic Learning System
    A Model-Driven Architecture based Evolution Method and Its Application in An Electronic Learning System PhD Thesis Yingchun Tian Software Technology Research Laboratory De Montfort University October, 2012 To my husband, Delin Jing and my mum, Ning Zhang for their love and support Declaration Declaration I declare that the work described in this thesis was originally carried out by me during the period of registration for the degree of Doctor of Philosophy at De Montfort University, U.K., from October 2008 to December 2011. It is submitted for the degree of Doctor of Philosophy at De Montfort University. Apart from the degree that this thesis is currently applying for, no other academic degree or award was applied for by me based on this work. I Acknowledgements Acknowledgements For many years I had been dreaming about receiving a PhD, I would like to thank many people who helped me in achieving this dream in different ways since I undertook the work of this thesis. My deepest gratitude goes to my supervisor, Professor Hongji Yang, for his guidance, support and encouragement throughout my PhD career. He always provided me with many invaluable comments and suggestions for the improvement of the thesis. I am grateful for his leading role fostering my academic, professional and personal growth. Many thanks go to Professor Hussein Zedan and Doctor Wenyan Wu, for examining my PhD thesis and providing many helpful suggestions. My research career will benefit tremendously from the research methodologies to which Professor Zedan and Doctor Wu introduced me. I would like to thank colleagues in Software Technology Research Laboratory at De Montfort University, for their support and feedback, and for providing such a stimulating working atmosphere, Professor Hussein Zedan, Doctor Feng Chen, Doctor Amelia Platt, Doctor Antonio Cau, and many other colleagues.
    [Show full text]
  • Bangor University DOCTOR of PHILOSOPHY Co
    Bangor University DOCTOR OF PHILOSOPHY Co-production of knowledge with Indigenous peoples for UN Sustainable Development Goals (SDGs): Higaonon Food Ethnobotany, and a discovery of a new Begonia species in Mindanao, Philippines Buenavista, Dave Award date: 2021 Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal ? Take down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Download date: 09. Oct. 2021 Co-production of knowledge with Indigenous peoples for UN Sustainable Development Goals (SDGs): Higaonon Food Ethnobotany, and a discovery of a new Begonia species in Mindanao, Philippines A thesis submitted to Bangor University by Dave Paladin Buenavista for the degree of Doctor of Philosophy in Conservation Biology College of Environmental Sciences and Engineering School of Natural Sciences Bangor University Bangor, United Kingdom – 2021 ii Declaration I hereby declare that this thesis is the results of my own investigations, except where otherwise stated. All other sources are acknowledged by bibliographic references.
    [Show full text]
  • Functional Size Measurement Tool-Based Approach for Mobile
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by International Journal on Advanced Science, Engineering and Information Technology Vol.10 (2020) No. 3 ISSN: 2088-5334 Functional Size Measurement Tool-based Approach for Mobile Game Nur Ida Aniza Ruslia,1, Nur Atiqah Sia Abdullaha,2 a Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA, 40450 Shah Alam, Selangor, Malaysia E-mail: [email protected]; [email protected] Abstract — Nowadays, software effort estimation plays an important role in software project management due to its extensive use in industry to monitor progress, and performance, determine overall productivity and assist in project planning. After the success of methods such as IFPUG Function Point Analysis, MarkII Function Point Analysis, and COSMIC Full Function Points, several other extension methods have been introduced to be adopted in software projects. Despite the efficiency in measuring the software cost, software effort estimation, unfortunately, is facing several issues; it requires some knowledge, effort, and a significant amount of time to conduct the measurement, thus slightly ruining the advantages of this approach. This paper demonstrates a functional size measurement tool, named UML Point tool, that utilizes the concept of IFPUG Function Point Analysis directly to Unified Modeling Language (UML) model. The tool allows the UML eXchange Format (UXF) file to decode the UML model of mobile game requirement and extract the diagrams into component complexity, object interface complexity, and sequence diagram complexity, according to the defined measurement rules. UML Point tool then automatically compute the functional size, effort, time, human resources, and total development cost of mobile game.
    [Show full text]