
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),
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages404 Page
-
File Size-