• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 20
  • 6
  • 2
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 33
  • 33
  • 22
  • 15
  • 12
  • 10
  • 7
  • 7
  • 7
  • 5
  • 4
  • 4
  • 4
  • 4
  • 4
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
11

An Xml-based Feature Modeling Language

Nabdel, Leili 01 October 2011 (has links) (PDF)
Feature modeling is a common way of representing commonality and variability in Software Product Lines. There are alternative notations reported in the literature to represent feature models. Compared to the graphical notations, the text-based notations are more amenable to automated processing and tool interoperability. This study presents an XML-based feature modeling language to represent extended feature models that can include complex relationships involving attributes. We first provide a Context Free Grammar for the extended feature model definitions including such complex relationships. Then we build the XML Schema Definitions and present a number of XML instances in accordance with the defined schema. In addition, we discuss a validation process for the validation of the XML instances against the defined schema, which also includes additional tasks such as well-formedness checking for the XML instances.
12

Development of Software for Feature Model Rendering

Abid, Saad Bin, Wei, Xian January 2006 (has links)
<p>This Master’s thesis is aimed at improving the management of artifacts in the context of a joint-project between Jönköping University with the SEMCO project and industrial partner, a company involved in developing software for safety components. Both have a slightly distinct interest but this project can serve both parties.</p><p>Nowadays feature modelling is efficient way for domain analysis. The purpose of this master thesis is to analysis existing four popular feature diagrams, to find out commonalities between each of them and conclude results to give suggestions of how to use existing notation systems efficiently and according to situations.</p><p>The developed software based on knowledge established from research analysis. Two notation systems which are suggested in research part of the thesis report are implemented in the developed software “NotationManager”. The development procedures are also described and developer choices are mentioned along with the comparisons according to the situations</p><p>Scope of the research part as well as development is discussed. Future work for developed solution is also suggested.</p>
13

Variabilitätsextraktion aus makrobasierten Software-Generatoren

Baum, David 19 March 2014 (has links) (PDF)
Die vorliegende Arbeit beschäftigt sich mit der Frage, wie Variabilitätsinformationen aus den Quelltext von Generatoren extrahiert werden können. Zu diesem Zweck wurde eine Klassifizierung von Variablen entwickelt, die im Vergleich zu bestehenden Ansätzen eine genauere Identifikation von Merkmalen ermöglicht. Zudem bildet die Unterteilung die Basis der Erkennung von Merkmalinteraktionen und Cross-tree-Constraints. Weiterhin wird gezeigt, wie die gewonnenen Informationen durch Merkmalmodelle dargestellt werden können. Da diese auf dem Generator-Quelltext basieren, liefern sie Erkenntnisse über den Lösungsraum der Domäne. Es wird sichtbar, aus welchen Implementierungskomponenten ein Merkmal besteht und welche Beziehungen es zwischen Merkmalen gibt. Allerdings liefert ein automatisch generiertes Merkmalmodell nur wenig Erkenntnisse über den Lösungsraum. Außerdem wurde ein Prototyp entwickelt, der eine Automatisierung des beschriebenen Extraktionsprozesses ermöglicht.
14

Programų sistemų variantiškumo modelių, aprašytų požymių diagramomis, tyrimas / Research of Software System Variability Models Described Using Feature Diagrams

Kreivys, Deividas 25 August 2010 (has links)
Požymis – tai savitas, charakteringas sistemos atributas. FODA (angl. Feature Orented Domain Analysis) požymius apibūdina kaip žinomas, savitas bei vartotojui matomas sistemos charakteristikas, tuo tarpu funkcijos, objektai ir aspektai yra naudojami apibūdinti vidines sistemos detales. Požymių modeliavimas susitelkia ties labai matomų išorinių produkto charakteristikų apibūdinimu, kalbant apie produkto bendrumą bei variantiškumą, o ne apie detalų sistemos apibūdinimą. Požymių modeliavimo rezultatas yra požymių diagramos. Tai yra grafinė kalba naudojama atvaizduoti bei modeliuoti sistemos arba komponento variantiškumus aukštesniame abstrakcijos lygyje, daţniausiai pradiniuose projektavimo lygiuose, tokiuose kaip reikalavimų specifikavime kuriant programinę įrangą. Šiame darbe atliekamas programų sistemų variantiškumo modelių aprašytų požymių diagramomis tyrimas specifikavimo, sintaksės validavimo, sudėtingumo įvertinimo ir konfigūravimo aspektais. Darbe aprašomas autoriaus (bendraautorius: P. Žaliaduonis) sukurtas požymių modeliavimo įrankis leidžia vartotojui specifikuoti, modeliuoti, validuoti, įvertinti ir dokumentuoti programų sistemos produktų linijos požymių variantiškumo modelius. / Feature Modeling is a domain modeling technique used in software product line development and generative software engineering that addresses the development of reusable software. A feature model defines common and variable elements of a family of software systems or products of a product line – the domain. It can be used to derive members of the system family built from a common set of reusable assets. The concept of product line, if applied systematically, allows for the dramatic increase of software design quality, productivity, provides a capability for mass customization and leads to the „industrial‟ software design. In this work, the author describes the way of product line variability specification using feature diagrams. The presented approach deals with specification of feature model elements, syntax validation, complexity evaluation and feature diagram configuration aspects. The developed software, described in this thesis, allows the user to specify features, design, validate, evaluate and document system product line variability models.
15

Development of Software for Feature Model Rendering

Abid, Saad Bin, Wei, Xian January 2006 (has links)
This Master’s thesis is aimed at improving the management of artifacts in the context of a joint-project between Jönköping University with the SEMCO project and industrial partner, a company involved in developing software for safety components. Both have a slightly distinct interest but this project can serve both parties. Nowadays feature modelling is efficient way for domain analysis. The purpose of this master thesis is to analysis existing four popular feature diagrams, to find out commonalities between each of them and conclude results to give suggestions of how to use existing notation systems efficiently and according to situations. The developed software based on knowledge established from research analysis. Two notation systems which are suggested in research part of the thesis report are implemented in the developed software “NotationManager”. The development procedures are also described and developer choices are mentioned along with the comparisons according to the situations Scope of the research part as well as development is discussed. Future work for developed solution is also suggested.
16

Abordagem baseada em metamodelos para a representação e modelagem de características em linhas de produto de software dinâmicas / Metamodel based approaches for representation and features modeling in dynamic software product lines

Silva, Flayson Potenciano e 06 September 2016 (has links)
Submitted by Marlene Santos (marlene.bc.ufg@gmail.com) on 2016-09-16T17:35:04Z No. of bitstreams: 2 Dissertação - Flayson Potenciano e Silva - 2016.pdf: 6563517 bytes, checksum: 7f7a3d166741057427f2d333473af546 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2016-09-19T11:17:33Z (GMT) No. of bitstreams: 2 Dissertação - Flayson Potenciano e Silva - 2016.pdf: 6563517 bytes, checksum: 7f7a3d166741057427f2d333473af546 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2016-09-19T11:17:33Z (GMT). No. of bitstreams: 2 Dissertação - Flayson Potenciano e Silva - 2016.pdf: 6563517 bytes, checksum: 7f7a3d166741057427f2d333473af546 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) Previous issue date: 2016-09-06 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES / This dissertation presents a requirement representation approach for Dynamic Software Product Lines (DSPLs). DSPLs are oriented towards the designing of adaptive applications and each requirement is represented as a feature. Traditionally, features are represented in a Software Product Line (SPL) by a Feature Model (FM). Nonetheless, such a model does not originally support dynamic features representation. This dissertation proposes an extension to FM by adding a representation for dynamic feature to it so that the model can have a higher expressivity regarding the context change conditions and the application itself. Therefore, a metamodel based on Ecore meta-metamodel has been developed to enable the definition of both Dynamic Feature Models (proposed extension to FM) and Dynamic Feature Configurations (DFC), the latter used to describe the possible configuration of products at-runtime. In addition to a representation for dynamic features and the metamodel, this dissertation provides a tool that interprets the proposed model and allows Dynamic Feature Models design. Simulations involving dynamic feature state changes have been carried out, considering scenarios of a ubiquitous monitoring application for homecare patients. / Esta dissertação apresenta uma abordagem de representação de requisitos para Linhas de Produto de Software Dinâmicas (LPSD). LPSDs são voltadas para a produção de aplicações adaptativas e cada requisito é representado como uma característica. Tradicionalmente, características são representadas em uma Linha de Produto de Software (LPS) por meio de um Modelo de Características (MC). Tal modelo, no entanto, não possui, originalmente, suporte para a representação de características dinâmicas. Esta dissertação propõe uma extensão ao MC, incorporando uma representação para as características dinâmicas, de forma que o modelo tenha maior expressividade quanto às condições de mudanças de contexto e da própria aplicação. Para isso, um metamodelo baseado no meta-metamodelo Ecore foi desenvolvido, para possibilitar a definição tanto de Modelos de Características Dinâmicas (extensão do MC proposta) quanto também de Modelos de Configuração de Características Dinâmicas (MCC-D), estes utilizados para descrever as possíveis configurações dos produtos em tempo de execução. Além de uma representação para características dinâmicas e do metamodelo, essa dissertação traz como contribuição uma ferramenta que interpreta o metamodelo proposto e permite a construção de Modelos de Características Dinâmicas. Simulações envolvendo mudanças de estado das configurações de características dinâmicas foram realizadas, considerando cenários de uma aplicação ubíqua de monitoramento de pacientes domiciliares.
17

Integrated Management of Variability in Space and Time in Software Families

Seidl, Christoph 14 March 2017 (has links) (PDF)
Software Product Lines (SPLs) and Software Ecosystems (SECOs) are approaches to capturing families of closely related software systems in terms of common and variable functionality (variability in space). SPLs and especially SECOs are subject to software evolution to adapt to new or changed requirements resulting in different versions of the software family and its variable assets (variability in time). Both dimensions may be interconnected (e.g., through version incompatibilities) and, thus, have to be handled simultaneously as not all customers upgrade their respective products immediately or completely. However, there currently is no integrated approach allowing variant derivation of features in different version combinations. In this thesis, remedy is provided in the form of an integrated approach making contributions in three areas: (1) As variability model, Hyper-Feature Models (HFMs) and a version-aware constraint language are introduced to conceptually capture variability in time as features and feature versions. (2) As variability realization mechanism, delta modeling is extended for variability in time, and a language creation infrastructure is provided to devise suitable delta languages. (3) For the variant derivation procedure, an automatic version selection mechanism is presented as well as a procedure to derive large parts of the application order for delta modules from the structure of the HFM. The presented integrated approach enables derivation of concrete software systems from an SPL or a SECO where both features and feature versions may be configured.
18

Integrated Management of Variability in Space and Time in Software Families

Seidl, Christoph 22 February 2016 (has links)
Software Product Lines (SPLs) and Software Ecosystems (SECOs) are approaches to capturing families of closely related software systems in terms of common and variable functionality (variability in space). SPLs and especially SECOs are subject to software evolution to adapt to new or changed requirements resulting in different versions of the software family and its variable assets (variability in time). Both dimensions may be interconnected (e.g., through version incompatibilities) and, thus, have to be handled simultaneously as not all customers upgrade their respective products immediately or completely. However, there currently is no integrated approach allowing variant derivation of features in different version combinations. In this thesis, remedy is provided in the form of an integrated approach making contributions in three areas: (1) As variability model, Hyper-Feature Models (HFMs) and a version-aware constraint language are introduced to conceptually capture variability in time as features and feature versions. (2) As variability realization mechanism, delta modeling is extended for variability in time, and a language creation infrastructure is provided to devise suitable delta languages. (3) For the variant derivation procedure, an automatic version selection mechanism is presented as well as a procedure to derive large parts of the application order for delta modules from the structure of the HFM. The presented integrated approach enables derivation of concrete software systems from an SPL or a SECO where both features and feature versions may be configured.:I. Context and Preliminaries 1. The Configurable TurtleBot Driver as Running Example 1.1. TurtleBot: A Domestic Service Robot 1.2. Configurable Driver Functionality 1.3. Software Realization Artifacts 1.4. Development History of the Driver Software 2. Families of Variable Software Systems 2.1. Variability 2.1.1. Variability in Space and Time 2.1.2. Internal and External Variability 2.2. Manifestations of Configuration Knowledge 2.2.1. Variability Models 2.2.2. Variability Realization Mechanisms 2.2.3. Variability in Realization Assets 2.3. Types of Software Families 2.3.1. Software Product Lines 2.3.2. Software Ecosystems 2.3.3. Comparison of Software Product Lines and Software Ecosystems 3. Fundamental Approaches and Technologies of the Thesis 3.1. Model-Driven Software Development 3.1.1. Metamodeling Levels 3.1.2. Utilizing Models in Generative Approaches 3.1.3. Representation of Languages using Metamodels 3.1.4. Changing the Model-Representation of Artifacts 3.1.5. Suitability of Model-Driven Software Development 3.2. Fundamental Variability Management Techniques of the Thesis 3.2.1. Feature Models as Variability Models 3.2.2. Delta Modeling as Variability Realization Mechanism 3.2.3. Variant Derivation Process of Delta Modeling with Feature Models 3.3. Constraint Satisfaction Problems 3.4. Scope 3.4.1. Problem Statement 3.4.2. Requirements 3.4.3. Assumptions and Boundaries II. Integrated Management of Variability in Space and Time 4. Capturing Variability in Space and Time with Hyper-Feature Models 4.1. Feature Models Cannot Capture Variability in Time 4.2. Formal Definition of Feature Models 4.3. Definition of Hyper-Feature Models 4.4. Creation of Hyper-Feature Model Versions 4.5. Version-Aware Constraints to Represent Version Dependencies and Incompatibilities 4.6. Hyper-Feature Models are a True Extension to Feature Models 4.7. Case Study 4.8. Demarcation from Related Work 4.9. Chapter Summary 5. Creating Delta Languages Suitable for Variability in Space and Time 5.1. Current Delta Languages are not Suitable for Variability in Time 5.2. Software Fault Trees as Example of a Source Language 5.3. Evolution Delta Modules as Manifestation of Variability in Time 5.4. Automating Delta Language Generation 5.4.1. Standard Delta Operations Realize Usual Functionality 5.4.2. Custom Delta Operations Realize Specialized Functionality 5.5. Delta Language Creation Infrastructure 5.5.1. The Common Base Delta Language Provides Shared Functionality for all Delta Languages 5.5.2. Delta Dialects Define Delta Operations for Custom Delta Languages 5.5.3. Custom Delta Languages Enable Variability in Source Languages 5.6. Case Study 5.7. Demarcation from Related Work 5.8. Chapter Summary 6. Deriving Variants with Variability in Space and Time 6.1. Variant Derivation Cannot Handle Variability in Time 6.2. Associating Features and Feature Versions with Delta Modules 6.3. Automatically Select Versions to Ease Configuration 6.4. Application Order and Implicitly Required Delta Modules 6.4.1. Determining Relevant Delta Modules 6.4.2. Forming a Dependency Graph of Delta Modules 6.4.3. Performing a Topological Sorting of Delta Modules 6.5. Generating Variants with Versions of Variable Assets 6.6. Case Study 6.7. Demarcation from Related Work 6.8. Chapter Summary III. Realization and Application 7. Realization as Tool Suite DeltaEcore 7.1. Creating Delta Languages 7.1.1. Shared Base Metamodel 7.1.2. Common Base Delta Language 7.1.3. Delta Dialects 7.2. Specifying a Software Family with Variability in Space and Time 7.2.1. Hyper-Feature Models 7.2.2. Version-Aware Constraints 7.2.3. Delta Modules 7.2.4. Application-Order Constraints 7.2.5. Mapping Models 7.3. Deriving Variants 7.3.1. Creating a Configuration 7.3.2. Collecting Delta Modules 7.3.3. Ordering Delta Modules 7.3.4. Applying Delta Modules 8. Evaluation 8.1. Configurable TurtleBot Driver Software 8.1.1. Variability in Space 8.1.2. Variability in Time 8.1.3. Integrated Management of Variability in Space and Time 8.2. Metamodel Family for Role-Based Modeling and Programming Languages 8.2.1. Variability in Space 8.2.2. Variability in Time 8.2.3. Integrated Management of Variability in Space and Time 8.3. A Software Product Line of Feature Modeling Notations and Constraint Languages 8.3.1. Variability in Space 8.3.2. Variability in Time 8.3.3. Integrated Management of Variability in Space and Time 8.4. Results and Discussion 8.4.1. Results and Discussion of RQ1: Variability Model 8.4.2. Results and Discussion of RQ2: Variability Realization Mechanism 8.4.3. Results and Discussion of RQ3: Variant Derivation Procedure 9. Conclusion 9.1. Discussion 9.1.1. Supported Evolutionary Changes 9.1.2. Conceptual Representation of Variability in Time 9.1.3. Perception of Versions as Incremental 9.1.4. Version Numbering Schemes 9.1.5. Created Delta Languages 9.1.6. Scalability of Approach 9.2. Possible Future Application Areas 9.2.1. Extend to Full Software Ecosystem Feature Model 9.2.2. Model Software Ecosystems 9.2.3. Extract Hyper-Feature Model Versions and Record Delta Modules 9.2.4. Introduce Metaevolution Delta Modules 9.2.5. Support Incremental Reconfiguration 9.2.6. Apply for Evolution Analysis and Planning 9.2.7. Enable Evolution of Variable Safety-Critical Systems 9.3. Contribution 9.3.1. Individual Contributions 9.3.2. Handling Updater Stereotypes IV. Appendix A. Delta Operation Generation Algorithm B. Delta Dialects B.1. Delta Dialect for Java B.2. Delta Dialect for Eclipse Projects B.3. Delta Dialect for DocBook Markup B.4. Delta Dialect for Software Fault Trees B.5. Delta Dialect for Component Fault Diagrams B.6. Delta Dialect for Checklists B.7. Delta Dialect for the Goal Structuring Notation B.8. Delta Dialect for EMF Ecore B.9. Delta Dialect for EMFText Concrete Syntax Files
19

Variabilitätsextraktion aus makrobasierten Software-Generatoren

Baum, David 07 January 2014 (has links)
Die vorliegende Arbeit beschäftigt sich mit der Frage, wie Variabilitätsinformationen aus den Quelltext von Generatoren extrahiert werden können. Zu diesem Zweck wurde eine Klassifizierung von Variablen entwickelt, die im Vergleich zu bestehenden Ansätzen eine genauere Identifikation von Merkmalen ermöglicht. Zudem bildet die Unterteilung die Basis der Erkennung von Merkmalinteraktionen und Cross-tree-Constraints. Weiterhin wird gezeigt, wie die gewonnenen Informationen durch Merkmalmodelle dargestellt werden können. Da diese auf dem Generator-Quelltext basieren, liefern sie Erkenntnisse über den Lösungsraum der Domäne. Es wird sichtbar, aus welchen Implementierungskomponenten ein Merkmal besteht und welche Beziehungen es zwischen Merkmalen gibt. Allerdings liefert ein automatisch generiertes Merkmalmodell nur wenig Erkenntnisse über den Lösungsraum. Außerdem wurde ein Prototyp entwickelt, der eine Automatisierung des beschriebenen Extraktionsprozesses ermöglicht.
20

Construction de lignes de produits logiciels par rétro-ingénierie de modèles de caractéristiques à partir de variantes de logiciels : l'approche REVPLINE / Reverse Engineering Feature Models From Software Variants to Build Software Product Lines : RIVEPLINE Approach

Al-Msie' Deen, Ra'Fat 24 June 2014 (has links)
Les lignes de produits logicielles constituent une approche permettant de construire et de maintenir une famille de produits logiciels similaires mettant en œuvre des principes de réutilisation. Ces principes favorisent la réduction de l'effort de développement et de maintenance, raccourcissent le temps de mise sur le marché et améliorent la qualité globale du logiciel. La migration de produits logiciels similaires vers une ligne de produits demande de comprendre leurs similitudes et leurs différences qui s'expriment sous forme de caractéristiques (features) offertes. Dans cette thèse, nous nous intéressons au problème de la construction d'une ligne de produits à partir du code source de ses produits et de certains artefacts complémentaires comme les diagrammes de cas d'utilisation, quand ils existent. Nous proposons des contributions sur l'une des étapes principales dans cette construction, qui consiste à extraire et à organiser un modèle de caractéristiques (feature model) dans un mode automatisé. La première contribution consiste à extraire des caractéristiques dans le code source de variantes de logiciels écrits dans le paradigme objet. Trois techniques sont mises en œuvre pour parvenir à cet objectif : l'Analyse Formelle de Concepts, l'Indexation Sémantique Latente et l'analyse des dépendances structurelles dans le code. Elles exploitent les parties communes et variables au niveau du code source. La seconde contribution s'attache à documenter une caractéristique extraite par un nom et une description. Elle exploite le code source mais également les diagrammes de cas d'utilisation, qui contiennent, en plus de l'organisation logique des fonctionnalités externes, des descriptions textuelles de ces mêmes fonctionnalités. En plus des techniques précédentes, elle s'appuie sur l'Analyse Relationnelle de Concepts afin de former des groupes d'entités d'après leurs relations. Dans la troisième contribution, nous proposons une approche visant à organiser les caractéristiques, une fois documentées, dans un modèle de caractéristiques. Ce modèle de caractéristiques est un arbre étiqueté par des opérations et muni d'expressions logiques qui met en valeur les caractéristiques obligatoires, les caractéristiques optionnelles, des groupes de caractéristiques (groupes ET, OU, OU exclusif), et des contraintes complémentaires textuelles sous forme d'implication ou d'exclusion mutuelle. Ce modèle est obtenu par analyse d'une structure obtenue par Analyse Formelle de Concepts appliquée à la description des variantes par les caractéristiques. L'approche est validée sur trois cas d'étude principaux : ArgoUML-SPL, Health complaint-SPL et Mobile media. Ces cas d'études sont déjà des lignes de produits constituées. Nous considérons plusieurs produits issus de ces lignes comme s'ils étaient des variantes de logiciels, nous appliquons notre approche, puis nous évaluons son efficacité par comparaison entre les modèles de caractéristiques extraits automatiquement et les modèles de caractéristiques initiaux (conçus par les développeurs des lignes de produits analysées). / The idea of Software Product Line (SPL) approach is to manage a family of similar software products in a reuse-based way. Reuse avoids repetitions, which helps reduce development/maintenance effort, shorten time-to-market and improve overall quality of software. To migrate from existing software product variants into SPL, one has to understand how they are similar and how they differ one from another. Companies often develop a set of software variants that share some features and differ in other ones to meet specific requirements. To exploit existing software variants and build a software product line, a feature model must be built as a first step. To do so, it is necessary to extract mandatory and optional features in addition to associate each feature with its name. Then, it is important to organize the mined and documented features into a feature model. In this context, our thesis proposes three contributions.Thus, we propose, in this dissertation as a first contribution a new approach to mine features from the object-oriented source code of a set of software variants based on Formal Concept Analysis, code dependency and Latent Semantic Indexing. The novelty of our approach is that it exploits commonality and variability across software variants, at source code level, to run Information Retrieval methods in an efficient way. The second contribution consists in documenting the mined feature implementations based on Formal Concept Analysis, Latent Semantic Indexing and Relational Concept Analysis. We propose a complementary approach, which aims to document the mined feature implementations by giving names and descriptions, based on the feature implementations and use-case diagrams of software variants. The novelty of our approach is that it exploits commonality and variability across software variants, at feature implementations and use-cases levels, to run Information Retrieval methods in an efficient way. In the third contribution, we propose an automatic approach to organize the mined documented features into a feature model. Features are organized in a tree which highlights mandatory features, optional features and feature groups (and, or, xor groups). The feature model is completed with requirement and mutual exclusion constraints. We rely on Formal Concept Analysis and software configurations to mine a unique and consistent feature model. To validate our approach, we applied it on three case studies: ArgoUML-SPL, Health complaint-SPL, Mobile media software product variants. The results of this evaluation validate the relevance and the performance of our proposal as most of the features and its constraints were correctly identified.

Page generated in 0.079 seconds