6 research outputs found

    NOW: Orchestrating services in a nomadic network using a dedicated workflow language

    Get PDF
    AbstractOrchestrating services in nomadic or mobile ad hoc networks is not without a challenge, since these environments are built upon volatile connections. Services residing on mobile devices are exposed to (temporary) network failures, which must be considered the rule rather than the exception. This paper proposes a dedicated workflow language built on top of an ambient-oriented programming language that supports dynamic service discovery and communication primitives resilient to network failures. The proposed workflow language, NOW, has support for high level workflow abstractions for control flow, rich network and service failure detection, and failure handling through compensating actions, and dynamic data flow between the services in the environment. By adding this extra layer of abstraction, the application programmer is offered a flexible way to develop applications for nomadic networks

    IS Reviews 2010

    Get PDF

    Linguistic Refactoring of Business Process Models

    Get PDF
    In the past decades, organizations had to face numerous challenges due to intensifying globalization and internationalization, shorter innovation cycles and growing IT support for business. Business process management is seen as a comprehensive approach to align business strategy, organization, controlling, and business activities to react flexibly to market changes. For this purpose, business process models are increasingly utilized to document and redesign relevant parts of the organization's business operations. Since companies tend to have a growing number of business process models stored in a process model repository, analysis techniques are required that assess the quality of these process models in an automatic fashion. While available techniques can easily check the formal content of a process model, there are only a few techniques available that analyze the natural language content of a process model. Therefore, techniques are required that address linguistic issues caused by the actual use of natural language. In order to close this gap, this doctoral thesis explicitly targets inconsistencies caused by natural language and investigates the potential of automatically detecting and resolving them under a linguistic perspective. In particular, this doctoral thesis provides the following contributions. First, it defines a classification framework that structures existing work on process model analysis and refactoring. Second, it introduces the notion of atomicity, which implements a strict consistency condition between the formal content and the textual content of a process model. Based on an explorative investigation, we reveal several reoccurring violation patterns are not compliant with the notion of atomicity. Third, this thesis proposes an automatic refactoring technique that formalizes the identified patterns to transform a non-atomic process models into an atomic one. Fourth, this thesis defines an automatic technique for detecting and refactoring synonyms and homonyms in process models, which is eventually useful to unify the terminology used in an organization. Fifth and finally, this thesis proposes a recommendation-based refactoring approach that addresses process models suffering from incompleteness and leading to several possible interpretations. The efficiency and usefulness of the proposed techniques is further evaluated by real-world process model repositories from various industries. (author's abstract

    Assistierte Ad-hoc-Entwicklung von kompositen Webanwendungen durch Nicht-Programmierer

    Get PDF
    Mit der steigenden Verfügbarkeit komponenten- und serviceorientiert bereitgestellter Ressourcen und Dienstleistungen entwickelt sich das Web zu einer geeigneten Plattform für vielfältige Anwendungsszenarien. Darauf aufbauend entstehen komposite Webanwendungen durch das Rekombinieren und Verknüpfen vorhandener Bausteine. Auf diese Weise kann ein funktionaler Mehrwert zur Lösung situationsspezifischer Problemstellungen erzielt werden. Zunehmend wird angestrebt, dass Endnutzer selbst als Anwendungsentwickler in Erscheinung treten. Dieses Prinzip, das End-User-Development, ist ökonomisch lukrativ, da Nischenanforderungen effizienter erfüllt werden können. Allerdings stehen dabei insbesondere Domänenexperten ohne Programmiererkenntnisse noch immer vor substantiellen Herausforderungen, wie der bedarfsgerechten Auswahl von Bausteinen und deren korrekten Komposition. Diese Dissertation stellt daher neue Methoden und Werkzeuge für das assistierte End-User-Development von kompositen Webanwendungen vor. Im Ergebnis entsteht das ganzheitliche Konzept einer Kompositionsplattform, die Nicht-Programmierer in die Lage versetzt, eigenständig Anwendungen bedarfsgerecht zu entwickeln und einzusetzen. Als zentrales Element existiert ein hochiteratives Vorgehensmodell, bei dem die Entwicklung und die Nutzung kompositer Webanwendungen weitgehend verschmelzen. Ein wesentliches Merkmal des Ansatzes ist, dass aus Nutzersicht sämtliche Aktivitäten auf fachlicher Ebene stattfinden, während die Kompositionsplattform die technische Umsetzung übernimmt und vor den Nutzern verbirgt. Grundlage hierfür sind Konzepte zur universellen Komposition und eine umfassende Modellbasis. Letztere umfasst semantikbasierte Beschreibungen von Komponenten sowie Kompositionsfragmenten und von deren Funktionalitäten (Capabilities). Weiterhin wird statistisches und semantisches Kompositionswissen sowie Nutzerfeedback modelliert. Darauf aufbauend werden neue, anwendungsunabhängige Mechanismen konzipiert. Hierzu zählt ein Empfehlungssystem, das prozessbegleitend Kompositionsschritte vorschlägt und das erstmals mit Empfehlungsstrategien in hohem Maße an seinen Einsatzkontext angepasst werden kann. Weiterhin sieht der Ansatz semantikbasierte Datenmediation und einen Algorithmus vor, der die Capabilities von Kompositionsfragmenten abschätzt. Diese Konzepte dienen schließlich als Basis für eine in sich zusammenhängende Werkzeugpalette, welche die Aktivitäten des Vorgehensmodells durchgehend unterstützt. Zum Beispiel assistiert ein Wizard Nicht-Programmierern bei der anforderungsgetriebenen Identifikation passender Kompositionsfragmente. Weitere konzipierte Hilfsmittel erlauben es Nutzern, Anwendungen live zu komponieren sowie anzupassen und deren Funktionsweise nachzuvollziehen bzw. zu untersuchen. Die Werkzeuge basieren maßgeblich auf Capabilities zur fachlichen Kommunikation mit Nutzern, als Kompositionsmetapher, zur Erklärung funktionaler Zusammenhänge und zur Erfassung von Nutzeranforderungen. Die Kernkonzepte wurden durch prototypische Implementierungen und praktische Erprobung in verschiedenen Anwendungsdomänen validiert. Zudem findet die Evaluation von Ansätzen durch Performanz-Messungen, Expertenbefragung und Nutzerstudien statt. Insgesamt zeigen die Ergebnisse, dass die Konzepte für die Zielgruppe nützlich sind und als tragfähig angesehen werden können.:1 Einleitung 1.1 Analyse von Herausforderungen und Problemen 1.1.1 Zielgruppendefinition 1.1.2 Problemanalyse 1.2 Thesen, Ziele, Abgrenzung 1.2.1 Forschungsthesen 1.2.2 Forschungsziele 1.2.3 Annahmen und Abgrenzungen 1.3 Aufbau der Arbeit 2 Grundlagen und Anforderungsanalyse 2.1 CRUISE – Architektur und Modelle 2.1.1 Komponentenmetamodell 2.1.2 Kompositionsmodell 2.1.3 Architekturüberblick 2.1.4 Fazit 2.2 Referenzszenarien 2.2.1 Ad-hoc-Erstellung einer CWA zur Konferenzplanung 2.2.2 Geführte Recherche nach einer CWA 2.2.3 Unterstützte Nutzung einer CWA 2.3 Anforderungen 3 Stand von Forschung und Technik 3.1 Kompositionsplattformen für EUD 3.1.1 Webservice-Komposition durch Endnutzer 3.1.2 Mashup-Komposition durch Endnutzer 3.1.3 Fazit 3.2 Empfehlungssysteme im Mashupkontext 3.2.1 Empfehlungsansätze in Kompositionsplattformen 3.2.2 Nutzerfeedback in Empfehlungssystemen 3.2.3 Fazit 3.3 Eingabe funktionaler Anforderungen 3.3.1 Textuelle Ansätze 3.3.2 Graphische Anfrageformulierung 3.3.3 Hierarchische und facettierte Suche 3.3.4 Assistenten und dialogbasierte Ansätze 3.3.5 Fazit 3.4 Ansätze zur Datenmediation 3.4.1 Ontology Mediation 3.4.2 Vertreter aus dem Bereich (Semantic) Web Services 3.4.3 Datenmediation in Mashup-Plattformen 3.4.4 Fazit 3.5 Fazit zum Stand von Forschung und Technik 4 Assistiertes EUD von CWA durch Nicht-Programmierer 4.1 Assistiertes EUD von Mashups 4.1.1 Modellebene 4.1.2 Basismechanismen 4.1.3 Werkzeuge 4.2 Grobarchitektur 5 Basiskonzepte 5.1 Grundlegende Modelle 5.1.1 Capability-Metamodell 5.1.2 Erweiterungen von Komponentenmodell und SMCDL 5.1.3 Nutzer- und Kontextmodell 5.1.4 Metamodell für kontextualisiertes Feedback 5.2 Semantische Datenmediation 5.2.1 Vorbetrachtungen und Definitionen 5.2.2 Techniken zur semantischen Datenmediation 5.2.3 Architektonische Implikationen und Abläufe 5.3 Ableiten von Capabilities 5.3.1 Anforderungen und verwandte Ansätze 5.3.2 Definitionen und Grundlagen 5.3.3 Übersicht über den Algorithmus 5.3.4 Detaillierter Ablauf 5.3.5 Architekturüberblick 5.4 Erzeugung eines Capability-Wissensgraphen 5.4.1 Struktur des Wissensgraphen 5.4.2 Instanziierung des Wissensgraphen 5.5 Zusammenfassung 6 Empfehlungssystem 6.1 Gesamtansatz im Überblick 6.2 Empfehlungssystemspezifische Metamodelle 6.2.1 Trigger-Metamodell 6.2.2 Pattern-Metamodell 6.3 Architektur und Abläufe des Empfehlungssystems 6.3.1 Ableitung von Pattern-Instanzen 6.3.2 Empfehlungsgründe identifizieren durch Trigger 6.3.3 Empfehlungen berechnen 6.3.4 Präsentation von Empfehlungen 6.3.5 Integration von Patterns 6.4 Zusammenfassung 7 Methoden zur Nutzerführung 7.1 Der Startbildschirm als zentraler Einstiegspunkt 7.2 Live-View 7.3 Capability-View 7.3.1 Interaktive Exploration von Capabilities 7.3.2 Kontextsensitive Erzeugung von Beschriftungen 7.3.3 Verknüpfen von Capabilities 7.3.4 Handhabung von Komponenten ohne UI 7.4 Wizard zur Eingabe funktionaler Anforderungen 7.5 Erklärungstechniken 7.5.1 Anforderungen und verwandte Ansätze 7.5.2 Kernkonzepte 7.5.3 Assistenzwerkzeuge 8 Implementierung und Evaluation 8.1 Umsetzung der Modelle und der Basisarchitektur 8.2 Realisierung der Mediationskonzepte 8.2.1 Erweiterung des Kompositionsmodells 8.2.2 Implementierung des Mediators 8.2.3 Evaluation und Diskussion 8.3 Algorithmus zur Abschätzung von Capabilities 8.3.1 Prototypische Umsetzung 8.3.2 Experten-Evaluation 8.4 Umsetzung des Empfehlungskreislaufes 8.4.1 Performanzbetrachtungen 8.4.2 Evaluation und Diskussion 8.5 Evaluation von EUD-Werkzeugen 8.5.1 Evaluation der Capability-View 8.5.2 Prototyp und Nutzerstudie des Wizards 8.5.3 Prototyp und Nutzerstudie zu den Erklärungstechniken 8.6 Fazit 9 Zusammenfassung, Diskussion und Ausblick 9.1 Zusammenfassung und Beiträge der Kapitel 9.2 Einschätzung der Ergebnisse 9.2.1 Diskussion der Erreichung der Forschungsziele 9.2.2 Diskussion der Forschungsthesen 9.2.3 Wissenschaftliche Beiträge 9.2.4 Grenzen der geschaffenen Konzepte 9.3 Laufende und weiterführende Arbeiten A Anhänge A.1 Richtlinien für die Annotation von Komponenten A.2 Fragebogen zur System Usability Scale A.3 Illustration von Mediationstechniken A.4 Komponentenbeschreibung in SMCDL (Beispiel) A.5 Beispiele zu Algorithmen A.5.1 Berechnung einer bestimmenden Entity A.5.2 Berechnung der Ähnlichkeit atomarer Capabilities A.6 Bewertung verwandter Ansätze Literaturverzeichnis Webreferenze

    Uma proposta de arquitetura de resiliência computacional para infraestruturas baseadas em SOA de empresas virtuais

    Get PDF
    Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2019Uma Empresa Virtual (EV) é um tipo de rede colaborativa de organizações na qual grupos de empresas se unem dinâmica, lógica e temporariamente para melhor atender a demandas de mercado. Atuando como se fossem uma única empresa, compartilham recursos, custos e riscos de um negócio, representando assim um proeminente modelo de sustentabilidade, especialmente para pequenas e médias empresas. Uma das pré-condições para atuar numa EV é que os sistemas computacionais dos seus membros interoperem para que os processos de negócio associados à EV possam ser executados sem problemas pelos mais diversos sistemas envolvidos. Esta tese explora um cenário onde todos os sistemas das empresas são implementados de uma forma que possam ser expostos como serviços de software numa perspectiva SOA (Service Oriented Architecture), serem invocados pelos processos de negócio da EV em questão e, ao mesmo tempo, possam ser compartilhados com os outros membros. Desta forma, quando uma EV é formada, um grande sistema distribuído baseado em serviços é dinamicamente criado. Dado que em uma EV novas empresas podem entrar e outras sair ao longo de sua existência, tal sistema não é estático, mas sim deve alterar sua composição, tanto em tempo de projeto, quanto em tempo de execução. Como cada empresa pode participar simultaneamente em mais do que uma EV, isso também significa que cada um dos seus serviços poderá estar envolvido ao mesmo tempo em inúmeras orquestrações, porém em diferentes contextos de negócio e requisitos de qualidade de serviço. Este sistema computacional (e seus inúmeros serviços) deve permanecer operacional ao longo de todo ciclo de vida da EV de forma a sustentar a execução dos processos e, assim, do negócio. Em um sistema como esse, largamente distribuído e com serviços implementados em diferentes tecnologias, várias falhas podem ocorrer. Esta tese propõe uma arquitetura computacional para um sistema de resiliência para esse cenário, fazendo com que o sistema como um todo se recupere diante das falhas e mantenha o nível de qualidade de serviço geral do negócio da EV. Após pesquisa na literatura, não foram encontrados trabalhos que cobrissem a área de intersecção entre resiliência, SOA e EV. Baseado no modelo de referência de computação autonômica MAPE-K, a arquitetura proposta é auto resiliente e foi concebida ela mesma como SOA; portanto distribuída, com baixo acoplamento e escalável. Além disso, seu projeto contempla as modernas visões de economia orientada a serviços, compreendendo ecossistemas de provedores de serviços de software. Para garantir a permanência da EV em operação, várias técnicas consolidadas de tolerância a falhas foram empregadas, combinadas e adaptadas ao cenário em questão, atuando tanto reativamente como proativamente, e respeitando os níveis de responsabilidade das camadas de negócio, TI e de infraestrutura computacional. Um robusto protótipo de software foi implementado como prova de conceito, onde se buscou utilizar o maior número possível de padrões abertos de TI. Ele foi avaliado experimentalmente em um cenário controlado de EV. Ao se aplicar indicadores de desempenho de referência, a arquitetura mostrou-se promissora, suportando a execução dos sistemas da EV na quase totalidade dos casos mesmo diante de inúmeras falhas. A implementação teve algumas simplificações e o desenho da arquitetura partiu de uma série de pressupostos. Ao final, conclusões finais do trabalho são apresentadas bem como um conjunto de trabalhos futuros é sugerido.Abstract: Virtual Enterprises (VE) is a type of collaborative networked organization in which groups of companies are dynamically, logically and temporally joined to better meet market demands. Acting as a single company, they share resources, costs and business risks, thus representing a prominent sustainability model, especially for small and medium-sized enterprises. One of the preconditions for operating as an EV is that the members? IT systems should interoperate in way the business processes associated with EV can be executed by the most diverse involved systems without problems. This thesis exploits a scenario where all company systems are implemented in way they can be exposed as software services in the SOA (Service Oriented Architecture) perspective, being invoked by the VE?s business processes and, at the same time, can be shared with the other members. In this way, when an EV is formed, a large distributed service-based system is dynamically created. Given that new companies can enter and other leave a VE during the general VE process, such system is not static, but rather can change its composition, both at design and run time. Yet, since given companies can participate in many EV simultaneously, this also means that their services can be involved in diverse orchestrations although in different business contexts and quality of services requirements. This computational system (and its many services) should remain operating throughout the VE?s life cycle in order to sustain the execution of the processes and thus of the business. In a system like this, widely distributed and with services implemented in different technologies, several failures can occur. This thesis proposes a resilience system computing architecture for this scenario, making the system able to recover from failures while maintaining the level of general service quality of the VE business. After a literature research, no works were found out that covered the intersection area of resilience, SOA and VE. Based on the MAPE-K autonomic computing reference model, the proposed architecture is self-resilient and was conceived as a SOA itself; therefore, it is distributed, loosely coupled and scalable. In addition, its design adopts the modern vision of service-oriented economy, comprising ecosystems of software service providers. In order to guarantee the VE operation, several fault tolerance techniques were used, combined and adapted to that scenario, acting both reactively and pro-actively, and respecting the responsibility levels of the business, IT and computing infrastructure layers. A robust software prototype was implemented as proof of concept, using as many open IT standards as possible. It was evaluated experimentally in a controlled VE scenario. After the application of reference performance indicators, the architecture showed to be promising, supporting the VE?s systems execution in almost all cases in the presence of numerous failures. The implementation has simplifications and the architecture design has adopted several assumptions. Conclusions are presented in the end, including suggestions for future work

    A platform-independent domain-specific modeling language for multiagent systems

    Get PDF
    Associated with the increasing acceptance of agent-based computing as a novel software engineering paradigm, recently a lot of research addresses the development of suitable techniques to support the agent-oriented software development. The state-of-the-art in agent-based software development is to (i) design the agent systems basing on an agent-based methodology and (ii) take the resulting design artifact as a base to manually implement the agent system using existing agent-oriented programming languages or general purpose languages like Java. Apart from failures made when manually transform an abstract specification into a concrete implementation, the gap between design and implementation may also result in the divergence of design and implementation. The framework discussed in this dissertation presents a platform-independent domain-specific modeling language for MASs called Dsml4MAS that allows modeling agent systems in a platform-independent and graphical manner. Apart from the abstract design, Dsml4MAS also allows to automatically (i) check the generated design artifacts against a formal semantic specification to guarantee the well-formedness of the design and (ii) translate the abstract specification into a concrete implementation. Taking both together, Dsml4MAS ensures that for any well-formed design, an associated implementation will be generated closing the gap between design and code.Aufgrund wachsender Akzeptanz von Agentensystemen zur Behandlung komplexer Problemstellungen wird der Schwerpunkt auf dem Gebiet der agentenorientierten Softwareentwicklung vor allem auf die Erforschung von geeignetem Entwicklungswerkzeugen gesetzt. Stand der Forschung ist es dabei das Agentendesign mittels einer Agentenmethodologie zu spezifizieren und die resultierenden Artefakte als Grundlage zur manuellen Programmierung zu verwenden. Fehler, die bei dieser manuellen Überführung entstehen, machen insbesondere das abstrakte Design weniger nützlich in Hinsicht auf die Nachhaltigkeit der entwickelten Softwareapplikation. Das in dieser Dissertation diskutierte Rahmenwerk erörtert eine plattformunabhängige domänenspezifische Modellierungssprache für Multiagentensysteme namens Dsml4MAS. Dsml4MAS erlaubt es Agentensysteme auf eine plattformunabhängige und graphische Art und Weise darzustellen. Die Modellierungssprache umfasst (i) eine abstrakte Syntax, die das Vokabular der Sprache definiert, (ii) eine konkrete Syntax, die die graphische Darstellung spezifiziert sowie (iii) eine formale Semantik, die dem Vokabular eine präzise Bedeutung gibt. Dsml4MAS ist Bestandteil einer (semi-automatischen) Methodologie, die es (i) erlaubt die abstrakte Spezifikation schrittweise bis hin zur konkreten Implementierung zu konkretisieren und (ii) die Interoperabilität zu alternativen Softwareparadigmen wie z.B. Dienstorientierte Architekturen zu gewährleisten
    corecore