Archive for July, 2008
n-ary associations in UML
July 22, 2008 12:19I just found that it is possible to modelize n-ary association in UML. I use uml all the time and never saw a class diagram with a n-ary association, but a couple of weeks ago, in a meeting, we were discussing a conceptual model representing a database schema and we were wondering if it was possible to model that in UML. So, yes, it is possible.
I didn’t found the reference in the uml specification, but I did found it in the book “The Unified Modeling Language Reference Manual, second edition” by James Rumbaugh, Ivar Jacobson and Grady Booch.
Definition: An association among three or more classes.
Semantics: Each instance of the association is an n-tuple of values, one from each of the respective classes. A single class may appear in more that one position in the association, but the values in the different positions are independent and need not be the same object.
About the multiplicity, the authors say the following: “the multiplicity is defined with respect to the other n-1 ends. For example, given a ternary association among classes (A,B,C), the multiplicity of the C end states how many C objects may appear in association with a particular pair of A and B objects.”
I guess it would be hard to enforce something like that in java or c++, but in the context of a database, that kind of constraits is easy to enforce with referential integrity, uniqueness and constraint (like oracle constraint). Maybe it is why n-ary associations are not widely used…
Categories: Database, Modeling, UML
No Comments »
On Design Research
July 19, 2008 19:21Plusieurs chercheurs réfèrent à la recherche de méthode développement de système d’information en utilisant le terme “Design Research”. À ma connaissance, il n’existe pas vraiment d’équivalent en français.
Ainsi, mon sujet de recherche au doctorat qui porte sur les méthodes de conception pour les hypercubes spatiaux tombe dans cette branche de la recherche. Plus particulièrement dans l’ingénierie des méthodes.
Comme le décrit bien Tobias Bucher:
“contrairement à la recherche comportementale ou la recherche en sciences naturelles, la recherche en méthode de conception ne vise pas à expliquer un phénomène que le chercheur peut observer, mais vise plutôt à créer des solutions à des problèmes spécifiques de niveau pratique. Les résultats typiques de la ‘design research’ sont des constructions de représentations (e.g. ontologies), des modèles (modèles d’architecture, modèles de processus, des méthodes et des instanciations (prototypes, modèles de référence)”
(Traduction libre. Référence: Bucher, T., M. Klesse, et al. (2007). Situational Method Engineering: On the Differentiation of “Context” and “Project Type”: 33-48.)
On peut considérer comme une branche du ‘design research’ l’ingénierie des méthodes.
Cette distinction peut sembler simple, mais est tout de même importante. Le travail effectué en “Design Research” est tout aussi important que le travail effectué dans les autres types de recherche. Malgré son aspect d’ingénierie, cela n’en demeure pas moins de la recherche.
Categories: Research
No Comments »
UML for the geeks: MetaUML
July 4, 2008 19:10Fell on MetaUML today. (Well, I had the link on my todo list since a couple of month…)
It is a very interesting tool for two things:
- enable you to describe UML diagrams in a textual notation.
- enable you to include UML diagrams in latex document.
Last year, in a talk with one of my co-director, I formulated the idea that when drawing diagrams in a CASE tool, it could be sometime useful to start the skeleton in a textual notation, and then switch to the graphical notation to arrange the visual representation. I remembered also saying that it could be useful to switch back to uml textual notation to add attributes/operations/more details, since it is faster to search/edit a textual notation than class contained in a huge class diagram. I already said that the textual language should far simpler than an xmi file or some other storing text-based file.
MetaUML is not far from my idea. The major problem with MetaUML is that you have to “compile” the textual file in order to get an image of the diagram. Would it not cool to write a uml graphic and see a canvas updating itself automaticaly as you “type” uml ?
Anyway, I’m pretty sure that MetaUML and its textual notation could be reuse in another software to make my idea reality. But for now, let’s enjoy UML in latex document (for those of you who use latex) !
Categories: Uncategorized
No Comments »
Here is my first french post. Since I’m not able to blog in english, I decided to post in french to start the habit, and then I’ll see if I can continue the habit to blog in english.
Dans le contexte d’une base de données multidimensionnel, le concept de ’strictness’ appliqué à une hiérarchie signifie qu’un membre situé à un niveau inférieur appartient à un seul membre d’un niveau supérieur. Par exemple, si nous avions la hiéarchie ville > province > pays, nous pourrions dire que la relation ville -> province est strict puisqu’une ville ne peut appartenir qu’à une seule province. Il en va ainsi de la relation province > pays.
Par contre, la hiéarchie produits > type > famille n’est pas nécessairement strict puisqu’un produit (ex: biscuit oreo) peut appartenir à plusieurs types (disons les “mets préparés” et les “friandises”)
Toujours dans le contexte d’une base de données multidimensionnel, le concept de ‘completness’ signifie que tous les objets d’un niveau sont reliés à un autre objet du niveau supérieur, et que cet objet du niveau supérieur n’est pas formé d’aucun autre objet autre que ceux du niveau inférieur. Par exemple, les États-Unis sont composés de 50 états, pas un seul de plus.
Ces deux concepts sont importants à représenter dans un modèle conceptuel car ils aident à réfléchir aux données et traitement nécessaires, en plus d’apporter des indices de qualité des données recherchée.
Categories: Multidimensional Database, conceptual modeling
No Comments »





