289 research outputs found
A Collaboration-based Approach to Service Specification and Detection of Implied Scenarios
ABSTRACT Methods for service specification should be simple and intuitive. At the same time they should be precise and allow early validations to be performed, in order to detect inconsistencies as early as possible in the service development cycle. In this paper we present a service specification approach based on UML 2.0 collaborations. It aims to be a constructive approach, rather than a corrective one, as it is intended to promote understanding and help reducing the number of specification errors. We also address the detection of implied scenarios from collaboration-based service specifications, and propose an approach that limits the state explosion problem. This is possible since the detection analysis is modular and it is performed at a high-level of abstraction
A model driven approach to analysis and synthesis of sequence diagrams
Software design is a vital phase in a software development life cycle as it creates a blueprint for the implementation of the software. It is crucial that software designs are error-free since any unresolved design-errors could lead to costly implementation errors. To minimize these errors, the software community adopted the concept of modelling from various other engineering disciplines. Modelling provides a platform to create and share abstract or conceptual representations of the software system – leading to various modelling languages, among them Unified Modelling Language (UML) and Petri Nets. While Petri Nets strong mathematical capability allows various formal analyses to be performed on the models, UMLs user-friendly nature presented a more appealing platform for system designers. Using Multi Paradigm Modelling, this thesis presents an approach where system designers may have the best of both worlds; SD2PN, a model transformation that maps UML Sequence Diagrams into Petri Nets allows system designers to perform modelling in UML while still using Petri Nets to perform the analysis. Multi Paradigm Modelling also provided a platform for a well-established theory in Petri Nets – synthesis to be adopted into Sequence Diagram as a method of putting-together different Sequence Diagrams based on a set of techniques and algorithms
Modelling learning behaviour of intelligent agents using UML 2.0
This thesis aims to explore and demonstrate the ability of the new standard of
structural and behavioural components in Unified Modelling Language (UML 2.0 / 2004)
to model the learning behaviour of Intelligent Agents. The thesis adopts the research
direction that views agent-oriented systems as an extension to object-oriented systems. In
view of the fact that UML has been the de facto standard for modelling object-oriented
systems, this thesis concentrates on exploring such modelling potential with Intelligent
Agent-oriented systems. Intelligent Agents are Agents that have the capability to learn and
reach agreement with other Agents or users. The research focuses on modelling the
learning behaviour of a single Intelligent Agent, as it is the core of multi-agent systems.
During the writing of the thesis, the only work done to use UML 2.0 to model
structural components of Agents was from the Foundation for Intelligent Physical Agent
(FIPA). The research builds upon, explores, and utilises this work and provides further
development to model the structural components of learning behaviour of Intelligent
Agents. The research also shows the ability of UML version 2.0 behaviour diagrams,
namely activity diagrams and sequence diagrams, to model the learning behaviour of
Intelligent Agents that use learning from observation and discovery as well as learning
from examples of strategies. The research also evaluates if UML 2.0 state machine
diagrams can model specific reinforcement learning algorithms, namely dynamic
programming, Monte Carlo, and temporal difference algorithms. The thesis includes user
guides of UML 2.0 activity, sequence, and state machine diagrams to allow researchers in
agent-oriented systems to use the UML 2.0 diagrams in modelling the learning components
of Intelligent Agents.
The capacity for learning is a crucial feature of Intelligent Agents. The research
identifies different learning components required to model the learning behaviour of
Intelligent Agents such as learning goals, learning strategies, and learning feedback
methods. In recent years, the Agent-oriented research has been geared towards the agency
dimension of Intelligent Agents. Thus, there is a need to conduct more research on the
intelligence dimension of Intelligent Agents, such as negotiation and argumentation skills.
The research shows that behavioural components of UML 2.0 are capable of
modelling the learning behaviour of Intelligent Agents while structural components of
UML 2.0 need extension to cover structural requirements of Agents and Intelligent Agents.
UML 2.0 has an extension mechanism to fulfil Agents and Intelligent Agents for such
requirements. This thesis will lead to increasing interest in the intelligence dimension
rather than the agency dimension of Intelligent Agents, and pave the way for objectoriented
methodologies to shift more easily to paradigms of Intelligent Agent-oriented
systems.The British
Council, the University of Plymouth and the Arab-British Chamber Charitable Foundation
Intégration de la modélisation comportementale dans la conception par points de vue
View-based modeling is the main subject of this thesis. It is a variant of the object oriented modeling approach for the analysis and design of complex systems, focusing on the actors that use the system and decomposing the specification according to their needs. With this prospect, our team developed a UML profile named VUML (View based UML), which allows the elaboration of a unique and sharable model accessible according to the view of each of the system's actors. However the achieved work on the VUML profile does not tackle the behavior aspects of the modeling process. The VUML approach address the structural aspects related to the composition of views and to the sharing of data without dealing with the way these views will react, or how to be able to synchronize them in order to obtain the behavior of multiple-view objects (instances of a multi-view class). The achieved work in this thesis aims to fill this gap by providing new mechanism to the VUML profile that allows expressing the behavioral needs of a system. We will focus on describing the individual behavior of multi-view objects by state-machines that require adjustments of UML modeling concepts. To achieve this objective we introduced the concept of event probes, which allow to specify implicit communication between the view-objects via event observation. This allows decoupling the view specifications that are a priori strongly interconnected, and therefore allows them to be designed separately, in agreement with the VUML method recommendations, and then to be integrated without the need of making modifications. We first define the concept of event monitoring and identified the different types of probes and the appropriate parameters that characterize them. We also define a set of concepts that can extend and manipulate probes. Then we propose a UML-compatible representation of the introduced concepts in form of a profile named VxUML (extension of VUML). In addition to defining the profile elements (stereotypes, tagged value, predefined library classes), we have developed rules for proper formation of the static semantics using OCL to reduce ambiguity in the specification of such concepts. Afterwards, to demonstrate the usefulness of the concepts introduced, we developed a case study through which we sought to provide a full view-based model, addressing both structural and behavioral aspects. At the end, to concretely validate our approach in a model driven engineering setting, we developed a code generator that takes as input a specification developed in VxUML profile. This generator uses the techniques of model transformation related to the code generation, including transformation of platform independent models (PIM) to platform specific models (PSM), and transformation of PSMs to code; the current target language is Java. Finally, another contribution of this thesis is a process associated with VxUML. It is an approach that complements the approach associated with VUML (which deal only with structural aspects) to be able to use in methodical manner the new mechanisms dedicated to behavioral treatment. Now, the VxUML development process offers a complete view based modeling, that is, dealing with both structural and behavioral aspects. Keywords: View based modeling, VUML profile, VxUML profile, event observation, multi-view states machine, behavior composition.La modélisation par points de vue constitue la thématique générale de notre travail de thèse. C'est une approche de modélisation orientée objet, visant l'analyse et la conception des systèmes complexes avec une démarche centrée autour des acteurs interagissant avec le système. Notre équipe a ainsi développé un profil UML appelé VUML (View based UML), qui permet l'élaboration d'un modèle unique partageable à partir de vues associées aux points de vue des acteurs. Cependant, les travaux réalisés sur le profil VUML [Nassar, 05 ; Anwar, 09] ne couvrent pas les aspects comportementaux de la modélisation. En effet, – en proposant la notion de classe multivue – VUML traite les aspects structuraux liés à la composition des vues et au partage des données statiques sans prendre en compte la manière dont ces vues vont réagir, ni comment les synchroniser afin de représenter le comportement des objets multivue (instances d'une classe multivue). Les travaux effectués dans le cadre de cette thèse cherchent à combler ce manque en dotant le profil VUML de nouveaux mécanismes permettant d'exprimer le comportement d'un système. Nous nous sommes concentrés pour cela sur le comportement des objets multivue décrit par des machines à états qui nécessitent des adaptations des concepts de modélisation UML. Pour réaliser cet objectif nous avons introduit la notion de sonde d'événements, qui permet de spécifier des communications implicites entre les vues par observation d'événements. Ceci permet de découpler des spécifications qui sont a priori fortement interconnectées, de les concevoir séparément par points de vue, selon les préconisations de la méthode VUML, puis de les intégrer sans avoir à les modifier. Nous avons tout d'abord défini le concept de sonde d'événements, identifié les différents types de sondes avec les paramètres associés, puis défini un ensemble de concepts permettant d'enrichir et de manipuler les sondes. Nous avons ensuite proposé une représentation compatible avec VUML des concepts introduits sous forme d'un profil nommé VxUML (extension de VUML). En plus de la définition des éléments du profil (stéréotypes, valeurs marquées, classes de librairie prédéfinies), nous avons développé en OCL des règles de bonne formation (sémantique statique). Pour illustrer l'intérêt des concepts introduits, nous avons développé une étude de cas en proposant une modélisation par points de vue complète traitant à la fois les aspects structurel et comportemental. Pour valider concrètement notre approche, nous avons développé, selon une approche IDM, un générateur de code qui prend en entrée une spécification de système en VxUML. Ce générateur utilise les techniques de transformation de modèles liées à la génération de code, et notamment les transformations de modèles indépendants de plate-forme (PIM) vers des modèles spécifiques à une plate-forme (PSM), et des modèles PSM vers le code ; il a été développé dans un premier temps avec le langage cible Java. Sur le plan méthodologique, nous avons défini une démarche associée à VxUML, qui complète celle de VUML, en permettant d'utiliser d'une manière méthodique les mécanismes dédiés au traitement du comportement. Désormais, le processus de développement VxUML permet une modélisation par points de vue complète, traitant à la fois les aspects structurel et comportemental. Mots clés : Conception par points de vue, profil VUML, profil VxUML, sonde d'événements, machine à états multivue, composition du comportement
Advances in component-oriented programming
WCOP 2006 is the eleventh event in a series of highly successful
workshops, which took place in conjunction with every ECOOP
since 1996. Component oriented programming (COP) has been
described as the natural extension of object-oriented
programming to the realm of independently extensible
systems. Several important approaches have emerged over the
recent years, including component technology standards, such as
CORBA/CCM, COM/COM+, J2EE/EJB, and .NET, but also the increasing
appreciation of software architecture for component-based
systems, and the consequent effects on organizational processes
and structures as well as the software development business as a
whole.
COP aims at producing software components for a component market
and for late composition. Composers are third parties, possibly
the end users, who are not able or willing to change components.
This requires standards to allow independently created
components to interoperate, and specifications that put the
composer into the position to decide what can be composed under
which conditions. On these grounds, WCOP\u2796 led to the following
definition: "A component is a unit of composition with
contractually specified interfaces and explicit context
dependencies only. Components can be deployed independently and
are subject to composition by third parties."
After WCOP\u2796 focused on the fundamental terminology of COP, the
subsequent workshops expanded into the many related facets of
component software. WCOP 2006 emphasizes reasons for using
components beyond reuse. While considering software components
as a technical means to increase software reuse, other reasons
for investing into component technology tend to be overseen. For
example, components play an important role in frameworks and
product-lines to enable configurability (even if no component is
reused). Another role of components beyond reuse is to increase
the predictability of the properties of a system. The use of
components as contractually specified building blocks restricts
the degrees of freedom during software development compared to
classic line-by-line programming. This restriction is beneficial
for the predictability of system properties. For an engineering
approach to software design, it is important to understand the
implications of design decisions on a system\u27s properties.
Therefore, approaches to evaluate and predict properties of
systems by analyzing its components and its architecture are of
high interest.
To strengthen the relation between architectural descriptions of
systems and components, a comprehensible mapping to
component-oriented middleware platforms is important.
Model-driven development with its use of generators can
provide a suitable link between architectural views and
technical component execution platforms.
WCOP 2006 accepted 13 papers, which are organised according to
the program below. The organisers are looking forward to an
inspiring and thought provoking workshop. The organisers thank
Jens Happe and Michael Kuperberg for preparing
the proceedings volume
- …