Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Nadia Bouassida is active.

Publication


Featured researches published by Nadia Bouassida.


Archive | 2011

A Metric-Based Approach for Anti-pattern Detection in UML Designs

Rahma Fourati; Nadia Bouassida; Hanêne Ben Abdallah

Anti-patterns are poor solutions of recurring design problems, which decrease software quality. Numerous anti-patterns have been outlined in the literature as violations of various quality rules. Most of these anti-patterns have been defined in terms of code quality metrics. However, identifying anti-patterns at the design level would improve considerably the code quality and substantially reduce the cost of correcting their effects during the coding and maintenance phases. Within this context, we propose an approach that identifies anti-patterns in UML designs through the use of existing and newly defined quality metrics. Operating at the design level, our approach examines structural and behavioral information through the class and sequence diagrams. It is illustrated through five, well-known anti-patterns: Blob, Lava Flow, Functional Decomposition, Poltergeists, and Swiss Army Knife.


software engineering and formal methods | 2003

Formalizing the framework design language F-UML

Nadia Bouassida; Hanêne Ben-Abdallah; Faiez Gargouri; Abdelmajid Ben Hamadou

Frameworks offer reuse through the generality they have to encompass. This same property, however, often makes a framework design fairly complex, hard to understand and, hence, to reuse. This paper briefly presents the F-UML design. It then focuses on the definition of the formal semantics of F-UML. This latter is defined through a translation of the meta-model of F-UML to Object-Z. The Object-Z semantics allows a designer to prove the syntactic well-formedness of an F-UML design. In addition, it allows the verification of several design properties through a theorem prover.


international conference on software engineering | 2011

A design pattern recommendation approach

Nadia Bouassida; Afef Kouas; Hanêne Ben-Abdallah

Design patterns describe solutions for well-known design problems. They were proposed to improve software quality and accelerate software development. However, there are several limitations slowing their large-scale expansion such as the complexity of their comprehension and the difficulty of choosing and instantiating the right pattern adapted to a certain application. In this context, we propose a tool for design pattern assistance that retrieves the adequate pattern from a repository of patterns. It identifies the correct design pattern and helps the designer in its instantiation.


International Conference on Advanced Computer Science and Information Technology | 2010

Modeling Real-Time Applications with Reusable Design Patterns

Saoussen Rekhis; Nadia Bouassida; Rafik Bouaziz

Real-Time (RT) applications, which manipulate important volumes of data, need to be managed with RT databases that deal with time-constrained data and time-constrained transactions. In spite of their numerous advantages, RT databases development remains a complex task, since developers must study many design issues related to the RT domain. In this paper, we tackle this problem by proposing RT design patterns that allow the modeling of structural and behavioral aspects of RT databases. We show how RT design patterns can provide design assistance through architecture reuse of reoccurring design problems. In addition, we present an UML profile that represents patterns and facilitates further their reuse. This profile proposes, on one hand, UML extensions allowing to model the variability of patterns in the RT context and, on another hand, extensions inspired from the MARTE (Modeling and Analysis of Real-Time Embedded systems) profile.


acs/ieee international conference on computer systems and applications | 2006

Extending UML to Guide Design Pattern Reuse

Nadia Bouassida; Hanêne Ben-Abdallah

Design patterns provide for architecture reuse of reoccurring design problems. They were proposed to improve software quality and accelerate software development. However, the difficulty of their comprehension reinforces the need for a suitable design language. The new design language has to express certain concepts specific to patterns, e.g., their reuse variability and context of applicability, which cannot be expressed with UML. This paper overviews currently proposed representations for design patterns, that try to express pattern specific concepts. It then proposes a UML-based design language that better represents the design patterns. This latter is supported by a CASE toolset that both helps in pattern representation and guides a pattern reuse. The proposed language and toolset are illustrated through the graphical drawing editor JHotDraw, a framework for graphical editors.


The Journal of Object Technology | 2004

A UML based Framework Design Method.

Hanêne Ben-Abdallah; Nadia Bouassida; Faiez Gargouri; Abdelmajid Ben Hamadou

Object-oriented frameworks offer reuse at a high design level promising several benefits to the development of complex systems. However, framework design remains a difficult task due to the generality and variability frameworks must encompass. In addition, traditional object-oriented design methods only deal with the design of specific applications and do not facilitate the design of frameworks. In this paper, we present a UML-based framework design method called FBDM. The method offers a design language, called F-UML, and a semi-automatic design process both of which supported by a CASE environment. The design language F-UML visually distinguishes among the fixed components and the adaptable components of a framework. The design process for F-UML is based on stepwise, bottom-up unification rules that apply a set of comparison criteria on various applications in the framework domain. The design method is illustrated and evaluated through the design of a framework for electronic commerce brokers.


international conference on advanced software engineering and its applications | 2009

Structural and Behavioral Detection of Design Patterns

Nadia Bouassida; Hanêne Ben-Abdallah

We propose a technique that recognizes occurrences of a pattern in a design using both static and dynamic information. To tolerate pattern instantiations with certain degree of variability, we adapt an XML document retrieval technique. Our technique has the advantage of basing the design pattern identification not only on static, structural information of a pattern but also on the methods of the pattern which represent the dynamic aspect.


OOIS | 2001

A UML based Design Language for Framework Reuse

Nadia Bouassida; Hanêne Ben-Abdallah; Faiez Gargouri

A framework is a collection of coherent classes co-operating to solve a problem in a particular domain. It permits the reuse of the code in addition to the design and the acquired domain expertise. Object-oriented design notations, like in OMT and UML, offer several concepts that can be used in the design of a framework. However, other concepts relative to the variability of a framework have to be defined and emphasized. In addition, the design notation should guide a user in adapting a framework to a particular application in the framework domain. In this paper, we first overview currently proposed object-oriented notations for framework design and discuss their limits in terms of expressing the different components of a framework and in guiding a framework reuse. We then propose a UML-based notation that visually helps to distinguish among the fixed components and the adaptable components of a framework.


International Journal of Software Engineering and Knowledge Engineering | 2013

EVALUATION OF AN AUTOMATED MULTI-PHASE APPROACH FOR PATTERNS DISCOVERY

Nadia Bouassida; Hanêne Ben-Abdallah; Imène Issaoui

Design patterns capitalize the knowledge of expert designers and offer reuse that provides for higher design quality and overall faster development. To attain these advantages, a designer must, however, overcome the difficulties in understanding design patterns and determining those appropriate for his/her particular application. On the other hand, one way to benefit from design patterns is to assist inexperienced designers in pattern detection during the design elaboration. Such detection should tolerate variations between the design and the pattern since the exact instantiation of a pattern is infrequent in a design. However, not all variations of a pattern are tolerated. In particular, some structural variations may result in non-optimal instantiations where the requirements are respected but the structure is different; such variations are called spoiled patterns and should also be detected and transformed into acceptable pattern instantiations. This paper first presents an improvement of our design/spoiled pattern detection approach, named MAPeD (Multi-phase Approach for Pattern Discovery). The latter uses an XML information retrieval technique to identify design/spoiled pattern occurrences in a design using, first, static and semantic information and, secondly, dynamic information. This multi-phase detection approach tolerates structural differences between the examined design and the identified design pattern. Furthermore, thanks to the matching information it collects, our identification technique can offer assistance for the improvement of a design. In its second contribution, this paper evaluates MAPeD by comparing its recall and precision rates for five open source systems: JHotDraw, JUnit, JRefactory, MapperXML, QuickUML. The latter were used by other approaches in experimental evaluations. Our evaluation shows that our design pattern identification approach has an average improvement of 9.98% in terms of precision over the best known approach.


SERA (selected papers) | 2012

A Design Pattern Detection Approach Based on Semantics

Imène Issaoui; Nadia Bouassida; Hanêne Ben-Abdallah

Design patterns are good design solutions to recurring problems. Many works were interested in design patterns identification either for reverse engineering purposes, or for design improvement purposes. All existing approaches considered that a pattern is detected through both its structure and behavior, but no one considers the semantic aspect conveyed by the class and method names. In this paper, we propose a technique that exploits the semantic aspect to identify occurrences of a pattern in a design. In addition to the structural and behavioral analyses, the semantic analysis is very useful, specifically when there is a doubt between two design patterns having similar structures. By resolving a non deterministic identification, the identification precision increases.

Collaboration


Dive into the Nadia Bouassida's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge