5 research outputs found

    HybridMDSD: Multi-Domain Engineering with Model-Driven Software Development using Ontological Foundations

    Get PDF
    Software development is a complex task. Executable applications comprise a mutlitude of diverse components that are developed with various frameworks, libraries, or communication platforms. The technical complexity in development retains resources, hampers efficient problem solving, and thus increases the overall cost of software production. Another significant challenge in market-driven software engineering is the variety of customer needs. It necessitates a maximum of flexibility in software implementations to facilitate the deployment of different products that are based on one single core. To reduce technical complexity, the paradigm of Model-Driven Software Development (MDSD) facilitates the abstract specification of software based on modeling languages. Corresponding models are used to generate actual programming code without the need for creating manually written, error-prone assets. Modeling languages that are tailored towards a particular domain are called domain-specific languages (DSLs). Domain-specific modeling (DSM) approximates technical solutions with intentional problems and fosters the unfolding of specialized expertise. To cope with feature diversity in applications, the Software Product Line Engineering (SPLE) community provides means for the management of variability in software products, such as feature models and appropriate tools for mapping features to implementation assets. Model-driven development, domain-specific modeling, and the dedicated management of variability in SPLE are vital for the success of software enterprises. Yet, these paradigms exist in isolation and need to be integrated in order to exhaust the advantages of every single approach. In this thesis, we propose a way to do so. We introduce the paradigm of Multi-Domain Engineering (MDE) which means model-driven development with multiple domain-specific languages in variability-intensive scenarios. MDE strongly emphasize the advantages of MDSD with multiple DSLs as a neccessity for efficiency in software development and treats the paradigm of SPLE as indispensable means to achieve a maximum degree of reuse and flexibility. We present HybridMDSD as our solution approach to implement the MDE paradigm. The core idea of HybidMDSD is to capture the semantics of particular DSLs based on properly defined semantics for software models contained in a central upper ontology. Then, the resulting semantic foundation can be used to establish references between arbitrary domain-specific models (DSMs) and sophisticated instance level reasoning ensures integrity and allows to handle partiucular change adaptation scenarios. Moreover, we present an approach to automatically generate composition code that integrates generated assets from separate DSLs. All necessary development tasks are arranged in a comprehensive development process. Finally, we validate the introduced approach with a profound prototypical implementation and an industrial-scale case study.Softwareentwicklung ist komplex: ausfĂŒhrbare Anwendungen beinhalten und vereinen eine Vielzahl an Komponenten, die mit unterschiedlichen Frameworks, Bibliotheken oder Kommunikationsplattformen entwickelt werden. Die technische KomplexitĂ€t in der Entwicklung bindet Ressourcen, verhindert effiziente Problemlösung und fĂŒhrt zu insgesamt hohen Kosten bei der Produktion von Software. ZusĂ€tzliche Herausforderungen entstehen durch die Vielfalt und Unterschiedlichkeit an KundenwĂŒnschen, die der Entwicklung ein hohes Maß an FlexibilitĂ€t in Software-Implementierungen abverlangen und die Auslieferung verschiedener Produkte auf Grundlage einer Basis-Implementierung nötig machen. Zur Reduktion der technischen KomplexitĂ€t bietet sich das Paradigma der modellgetriebenen Softwareentwicklung (MDSD) an. Software-Spezifikationen in Form abstrakter Modelle werden hier verwendet um Programmcode zu generieren, was die fehleranfĂ€llige, manuelle Programmierung Ă€hnlicher Komponenten ĂŒberflĂŒssig macht. Modellierungssprachen, die auf eine bestimmte ProblemdomĂ€ne zugeschnitten sind, nennt man domĂ€nenspezifische Sprachen (DSLs). DomĂ€nenspezifische Modellierung (DSM) vereint technische Lösungen mit intentionalen Problemen und ermöglicht die Entfaltung spezialisierter Expertise. Um der Funktionsvielfalt in Software Herr zu werden, bietet der Forschungszweig der Softwareproduktlinienentwicklung (SPLE) verschiedene Mittel zur Verwaltung von VariabilitĂ€t in Software-Produkten an. Hierzu zĂ€hlen Feature-Modelle sowie passende Werkzeuge, um Features auf Implementierungsbestandteile abzubilden. Modellgetriebene Entwicklung, domĂ€nenspezifische Modellierung und eine spezielle Handhabung von VariabilitĂ€t in Softwareproduktlinien sind von entscheidender Bedeutung fĂŒr den Erfolg von Softwarefirmen. Zur Zeit bestehen diese Paradigmen losgelöst voneinander und mĂŒssen integriert werden, damit die Vorteile jedes einzelnen fĂŒr die Gesamtheit der Softwareentwicklung entfaltet werden können. In dieser Arbeit wird ein Ansatz vorgestellt, der dies ermöglicht. Es wird das Multi-Domain Engineering Paradigma (MDE) eingefĂŒhrt, welches die modellgetriebene Softwareentwicklung mit mehreren domĂ€nenspezifischen Sprachen in variabilitĂ€tszentrierten Szenarien beschreibt. MDE stellt die Vorteile modellgetriebener Entwicklung mit mehreren DSLs als eine Notwendigkeit fĂŒr Effizienz in der Entwicklung heraus und betrachtet das SPLE-Paradigma als unabdingbares Mittel um ein Maximum an Wiederverwendbarkeit und FlexibilitĂ€t zu erzielen. In der Arbeit wird ein Ansatz zur Implementierung des MDE-Paradigmas, mit dem Namen HybridMDSD, vorgestellt

    A formal approach to modelling and verification of context-aware systems

    Get PDF
    The evolution of smart devices and software technologies has expanded the domain of computing from workplaces to other areas of our everyday life. This trend has been rapidly advancing towards ubiquitous computing environments, where smart devices play an important role in acting intelligently on behalf of the users. One of the sub fields of the ubiquitous computing is context-aware systems. In context-aware systems research, ontology and agent-based technology have emerged as a new paradigm for conceptualizing, designing, and implementing sophisticated software systems. These systems exhibit complex adaptive behaviors, run in highly decentralized environment and can naturally be implemented as agent-based systems. Usually context-aware systems run on tiny resource-bounded devices including smart phones and sensor nodes and hence face various challenges. The lack of formal frameworks in existing research presents a clear challenge to model and verify such systems. This thesis addresses some of these issues by developing formal logical frameworks for modelling and verifying rule-based context-aware multi-agent systems. Two logical frameworks LOCRS and LDROCS have been developed by extending CTL* with belief and communication modalities, which allow us to describe a set of rule-based context-aware reasoning agents with bound on time, memory and communication. The key idea underlying the logical approach of context-aware systems is to define a formal logic that axiomatizes the set of transition systems, and it is then used to state various qualitative and quantitative properties of the systems. The set of rules which are used to model a desired system is derived from OWL 2 RL ontologies. While LOCRS is based on monotonic reasoning where beliefs of an agent cannot be revised based on some contradictory evidence, the LDROCS logic handles inconsistent context information using non-monotonic reasoning. The modelling and verification of a healthcare case study is illustrated using Protégé IDE and Maude LTL model checker

    A formal approach to modelling and verification of context-aware systems

    Get PDF
    The evolution of smart devices and software technologies has expanded the domain of computing from workplaces to other areas of our everyday life. This trend has been rapidly advancing towards ubiquitous computing environments, where smart devices play an important role in acting intelligently on behalf of the users. One of the sub fields of the ubiquitous computing is context-aware systems. In context-aware systems research, ontology and agent-based technology have emerged as a new paradigm for conceptualizing, designing, and implementing sophisticated software systems. These systems exhibit complex adaptive behaviors, run in highly decentralized environment and can naturally be implemented as agent-based systems. Usually context-aware systems run on tiny resource-bounded devices including smart phones and sensor nodes and hence face various challenges. The lack of formal frameworks in existing research presents a clear challenge to model and verify such systems. This thesis addresses some of these issues by developing formal logical frameworks for modelling and verifying rule-based context-aware multi-agent systems. Two logical frameworks LOCRS and LDROCS have been developed by extending CTL* with belief and communication modalities, which allow us to describe a set of rule-based context-aware reasoning agents with bound on time, memory and communication. The key idea underlying the logical approach of context-aware systems is to define a formal logic that axiomatizes the set of transition systems, and it is then used to state various qualitative and quantitative properties of the systems. The set of rules which are used to model a desired system is derived from OWL 2 RL ontologies. While LOCRS is based on monotonic reasoning where beliefs of an agent cannot be revised based on some contradictory evidence, the LDROCS logic handles inconsistent context information using non-monotonic reasoning. The modelling and verification of a healthcare case study is illustrated using Protégé IDE and Maude LTL model checker

    Practical reasoning for defeasable description logics.

    Get PDF
    Doctor of Philosophy in Mathematics, Statistics and Computer Science. University of KwaZulu-Natal, Durban 2016.Description Logics (DLs) are a family of logic-based languages for formalising ontologies. They have useful computational properties allowing the development of automated reasoning engines to infer implicit knowledge from ontologies. However, classical DLs do not tolerate exceptions to speci ed knowledge. This led to the prominent research area of nonmonotonic or defeasible reasoning for DLs, where most techniques were adapted from seminal works for propositional and rst-order logic. Despite the topic's attention in the literature, there remains no consensus on what \sensible" defeasible reasoning means for DLs. Furthermore, there are solid foundations for several approaches and yet no serious implementations and practical tools. In this thesis we address the aforementioned issues in a broad sense. We identify the preferential approach, by Kraus, Lehmann and Magidor (KLM) in propositional logic, as a suitable abstract framework for de ning and studying the precepts of sensible defeasible reasoning. We give a generalisation of KLM's precepts, and their arguments motivating them, to the DL case. We also provide several preferential algorithms for defeasible entailment in DLs; evaluate these algorithms, and the main alternatives in the literature, against the agreed upon precepts; extensively test the performance of these algorithms; and ultimately consolidate our implementation in a software tool called Defeasible-Inference Platform (DIP). We found some useful entailment regimes within the preferential context that satisfy all the KLM properties, and some that have scalable performance in real world ontologies even without extensive optimisation
    corecore