1,129 research outputs found

    Process-oriented Enterprise Mashups

    Get PDF
    Mashups, a new Web 2.0 technology provide the ability for easy creation of Web-Based applications by end-users. The uses of the mashups are often consumer related. In this paper we explore how mashups can be used in the enterprise area and hat the criteria for enterprise mashups are. We provide categories for the classification of enterprise mashups, and based upon a motivating example we go further in depth on business process enterprise mashup

    Domain Specific Languages for Managing Feature Models: Advances and Challenges

    Get PDF
    International audienceManaging multiple and complex feature models is a tedious and error-prone activity in software product line engineering. Despite many advances in formal methods and analysis techniques, the supporting tools and APIs are not easily usable together, nor unified. In this paper, we report on the development and evolution of the Familiar Domain-Specific Language (DSL). Its toolset is dedicated to the large scale management of feature models through a good support for separating concerns, composing feature models and scripting manipulations. We overview various applications of Familiar and discuss both advantages and identified drawbacks. We then devise salient challenges to improve such DSL support in the near future

    Extensible Languages for Flexible and Principled Domain Abstraction

    Get PDF
    Die meisten Programmiersprachen werden als Universalsprachen entworfen. UnabhĂ€ngig von der zu entwickelnden Anwendung, stellen sie die gleichen Sprachfeatures und Sprachkonstrukte zur VerfĂŒgung. Solch universelle Sprachfeatures ignorieren jedoch die spezifischen Anforderungen, die viele Softwareprojekte mit sich bringen. Als Gegenkraft zu Universalsprachen fördern domĂ€nenspezifische Programmiersprachen, modellgetriebene Softwareentwicklung und sprachorientierte Programmierung die Verwendung von DomĂ€nenabstraktion, welche den Einsatz von domĂ€nenspezifischen Sprachfeatures und Sprachkonstrukten ermöglicht. Insbesondere erlaubt DomĂ€nenabstraktion Programmieren auf dem selben Abstraktionsniveau zu programmieren wie zu denken und vermeidet dadurch die Notwendigkeit DomĂ€nenkonzepte mit universalsprachlichen Features zu kodieren. Leider ermöglichen aktuelle AnsĂ€tze zur DomĂ€nenabstraktion nicht die Entfaltung ihres ganzen Potentials. Einerseits mangelt es den AnsĂ€tzen fĂŒr interne domĂ€nenspezifische Sprachen an FlexibilitĂ€t bezĂŒglich der Syntax, statischer Analysen, und WerkzeugunterstĂŒtzung, was das tatsĂ€chlich erreichte Abstraktionsniveau beschrĂ€nkt. Andererseits mangelt es den AnsĂ€tzen fĂŒr externe domĂ€nenspezifische Sprachen an wichtigen Prinzipien, wie beispielsweise modularem Schließen oder Komposition von DomĂ€nenabstraktionen, was die Anwendbarkeit dieser AnsĂ€tze in der Entwicklung grĂ¶ĂŸerer Softwaresysteme einschrĂ€nkt. Wir verfolgen in der vorliegenden Doktorarbeit einen neuartigen Ansatz, welcher die Vorteile von internen und externen domĂ€nenspezifischen Sprachen vereint um flexible und prinzipientreue DomĂ€nenabstraktion zu unterstĂŒtzen. Wir schlagen bibliotheksbasierte erweiterbare Programmiersprachen als Grundlage fĂŒr DomĂ€nenabstraktion vor. In einer erweiterbaren Sprache kann DomĂ€nenabstraktion durch die Erweiterung der Sprache mit domĂ€nenspezifischer Syntax, statischer Analyse, und WerkzeugunterstĂŒtzung erreicht werden . Dies ermöglicht DomĂ€nenabstraktionen die selbe FlexibilitĂ€t wie externe domĂ€nenspezifische Sprachen. Um die Einhaltung ĂŒblicher Prinzipien zu gewĂ€hrleisten, organisieren wir Spracherweiterungen als Bibliotheken und verwenden einfache Import-Anweisungen zur Aktivierung von Erweiterungen. Dies erlaubt modulares Schließen (durch die Inspektion der Import-Anweisungen), unterstĂŒtzt die Komposition von DomĂ€nenabstraktionen (durch das Importieren mehrerer Erweiterungen), und ermöglicht die uniforme Selbstanwendbarkeit von Spracherweiterungen in der Entwicklung zukĂŒnftiger Erweiterungen (durch das Importieren von Erweiterungen in einer Erweiterungsdefinition). Die Organisation von Erweiterungen in Form von Bibliotheken ermöglicht DomĂ€nenabstraktionen die selbe Prinzipientreue wie interne domĂ€nenspezifische Sprachen. Wir haben die bibliotheksbasierte erweiterbare Programmiersprache SugarJ entworfen und implementiert. SugarJ Bibliotheken können Erweiterungen der Syntax, der statischen Analyse, und der WerkzeugunterstĂŒtzung von SugarJ deklarieren. Eine syntaktische Erweiterung besteht dabei aus einer erweiterten Syntax und einer Transformation der erweiterten Syntax in die Basissyntax von SugarJ. Eine Erweiterung der Analyse testet Teile des abstrakten Syntaxbaums der aktuellen Datei und produziert eine Liste von Fehlern. Eine Erweiterung der WerkzeugunterstĂŒtzung deklariert Dienste wie SyntaxfĂ€rbung oder CodevervollstĂ€ndigung fĂŒr bestimmte Sprachkonstrukte. SugarJ Erweiterungen sind vollkommen selbstanwendbar: Eine erweiterte Syntax kann in eine Erweiterungsdefinition transformiert werden, eine erweiterte Analyse kann Erweiterungsdefinitionen testen, und eine erweiterte WerkzeugunterstĂŒtzung kann Entwicklern beim Definieren von Erweiterungen assistieren. Um eine Quelldatei mit Erweiterungen zu verarbeiten, inspizieren der SugarJ Compiler und die SugarJ IDE die importierten Bibliotheken um die aktiven Erweiterungen zu bestimmen. Der Compiler und die IDE adaptieren den Parser, den Codegenerator, die Analyseroutine und die WerkzeugunterstĂŒtzung der Quelldatei entsprechend der aktiven Erweiterungen. Wir beschreiben in der vorliegenden Doktorarbeit nicht nur das Design und die Implementierung von SugarJ, sondern berichten darĂŒber hinaus ĂŒber Erweiterungen unseres ursprĂŒnglich Designs. Insbesondere haben wir eine Generalisierung des SugarJ Compilers entworfen und implementiert, die neben Java alternative Basissprachen unterstĂŒtzt. Wir haben diese Generalisierung verwendet um die bibliotheksbasierten erweiterbaren Programmiersprachen SugarHaskell, SugarProlog, und SugarFomega zu entwickeln. Weiterhin haben wir SugarJ ergĂ€nzt um polymorphe DomĂ€nenabstraktion und KommunikationsintegritĂ€t zu unterstĂŒtzen. Polymorphe DomĂ€nenabstraktion ermöglicht Programmierern mehrere Transformationen fĂŒr die selbe domĂ€nenspezifische Syntax bereitzustellen. Dies erhöht die FlexibilitĂ€t von SugarJ und unterstĂŒtzt bekannte Szenarien aus der modellgetriebenen Entwicklung. KommunikationsintegritĂ€t spezifiziert, dass die Komponenten eines Softwaresystems nur ĂŒber explizite KanĂ€le kommunizieren dĂŒrfen. Im Kontext von Codegenerierung stellt dies eine interessante Eigenschaft dar, welche die Generierung von impliziten ModulabhĂ€ngigkeiten untersagt. Wir haben KommunikationsintegritĂ€t als weiteres Prinzip zu SugarJ hinzugefĂŒgt. Basierend auf SugarJ und zahlreicher Fallstudien argumentieren wir, dass flexible und prinzipientreue DomĂ€nenabstraktion ein skalierbares Programmiermodell fĂŒr die Entwicklung komplexer Softwaresysteme darstellt

    A Quantitative SWOT-TOWS Analysis for the Adoption of Model-Based Software Engineering

    Get PDF
    Enterprises’ trend to low-code development revives model-based software engineering (MBSE) since several low-code platforms are based on the principles of model-based design, automatic code generation, and visual programming. Changes in an enterprise’s software development process, however, always require strategic planning. To find an appropriate strategy, we present an analytical tool for identifying and evaluating strengths, weaknesses, opportunities and threats factors for the adoption of MBSE. This tool provides a SWOT-TOWS analysis supplemented by a quantitative evaluation of strategies based on a multiple-criteria decision technique drawing on the knowledge of industry experts. Our analytical tool is general so it can be used in the industrial context for making other strategic decisions.Fil: Escalona, MarĂ­a JosĂ©. Universidad de Sevilla; EspañaFil: de Koch, Nora Parcus. Universidad de Sevilla; EspañaFil: Rossi, Gustavo HĂ©ctor. Universidad Nacional de La Plata; Argentina. Consejo Nacional de Investigaciones CientĂ­ficas y TĂ©cnicas; Argentin
    • 

    corecore