Joumana Dargham
University of Balamand
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Joumana Dargham.
hawaii international conference on system sciences | 2000
Hafedh Mili; Joumana Dargham; Ali Mili
The common view of component centered development is one where applications are constructed by assembling interacting but non-overlapping software components. We are interested in the case where components do overlap, but that may still be developed independently, and deployed and executed in a distributed fashion. In our approach, applications are constructed by independently modeling and programming the functional roles that objects may play, and composing them only on-demand during run-time. An objects response to a message depends on the views currently attached to its core instance. We first present our model of view programming, and show how it is being supported in C++. Next, we show how view programming can be used to add features to existing applications by wrapping those features into view components, which facilitates software configuration and evolution. Finally, we look at the challenges and opportunities provided by view programming to distribute components in a safe, robust, and efficient manner.
technology of object oriented languages and systems | 1999
Hafedh Mili; Joumana Dargham; Ali Mili; Omar Cherkaoui; Robert Godin
There has been a lot of interest recently in the problem of building object oriented applications by somehow combining other application fragments that provide their own overlapping definitions or expectations of the same domain objects. We propose an approach based on the split objects model of prototype languages whereby an application object is represented by a varying set of instances-called views-that implement different parts of its domain behavior but that delegate its core functionalities to a core instance: an objects response to a message depends on the views currently attached to its core instance. Our approach is not purely prototype based in the sense that core instances and views are members of classes. Further, we recognize that the behavior inherent in views (classes) is often an adaptation of a generic behavior to the domain object at hand, and define viewpoints as parameterized class-like algebraic structures to embody such a generic behavior. We first describe view programming from the perspective of the developer. Next, we sketch a semi formal model of view programming, and describe the steps needed to implement it in a class based statically typed language, for instance, C++. Third, we look at the challenges and opportunities provided by view programming to support safe, robust, and efficient distributed applications.
Procedia Computer Science | 2013
Atif Farid Mohammad; Joumana Dargham; Hamid Mcheick; Attia T. Noor
Abstract The aim of this paper is to establish an understanding of software evolution as Software as a Service in the Cloud as a concept in comparison to Biological evolution. Software evolution is a concept that requires a deep understanding for the course of our use in the future and is an important knowledge that can bring in a change of view towards software development altogether. There are several issues of software evolvability provided in this paper. Resolution to these issues through time with software dispersion can be understood as biological inheritance. Study of biological evolution to produce compound adaptive distinction could shed the light on how software evolution can be understood in general and in meticulous understanding of evolutionary computation. We study and accumulate the divergences and possible similarities between biological and software evolution toward the end of thispaper.
international conference on communications | 2011
Marcel Karam; Haidar Safa; Hanan Mneimneh; Joumana Dargham; Hamid Mcheick
Web development frameworks (WDFs) that incorporate both Workflow paradigms and the Model View Controller (MVC) [8] are known as WMVC-WFDs. Such frameworks guide the developer in generating the flow of control between the various components. Despite the pressing need for a visual environment to help developers manage the overwhelming number workflows during development, we have not come across any work that addresses this legitimate concern. In this work we describe, in the context of Ruby on Rail (ROR), an abstract model for the visual generation and management of workflows in WMVC-based web application.
acs ieee international conference on computer systems and applications | 2001
Hafedh Mili; Hamid Mcheick; Joumana Dargham; Salah Sadou
We propose a model for building object oriented applications based on the composition of application slices or fragments that provide their own overlapping definitions or expectations of the same domain objects. Different slices may implement different functional or implementation concerns, or embody different access rights and privileges to the same domain objects. We call such slices views and we recognize that the behavior embodied in views may be abstracted into generic class-like algebraic structures called viewpoints, from which views for specific domain classes may be generated. We are interested in the problem of distributing view based applications when different sites access different slices of the same domain objects. Specifically, we are interested in the problem of offering different views of the same domain objects to different client programs in a CORBA-like environment. We first discuss the principles behind view programming, and then explore ways in which objects with views may be distributed in a way that supports different sets of functionalities to different client programs. An interesting application of view programming in a distributed context is the selective duplication of object slices.
canadian conference on electrical and computer engineering | 2011
Hamid Mcheick; Joumana Dargham
Mobile devices location systems for remote objects are increasingly used today by several enterprises. Many systems use positioning devices such as GPS and communication devices to send remote location data. These systems suffer from many constraints related to the precision of the location at any point of time, the availability of specified devices, their high cost and the periodical expensive use of the GSM Network. To overcome these drawbacks, improve precision and send data with minimum cost, we propose a framework for a hybrid mobile devices management system to create a reliable and optimal location system by coupling the radio devices at low integration cost with GPS devices and allowing different mobile objects to cooperate and deliver the positioning data to the remote server.
international conference on information technology: new generations | 2010
Marcel Karam; Mario Awa; Angela Carbone; Joumana Dargham
Typical programming errors that introductory students make are known to stall and frustrate them during their first few lab coding sessions. Traditionally, lab instructors help with the process of correcting these errors; however, with medium or large size computer labs, the degree of interaction between students and the instructor tends to decline; leaving some students feeling unattended and subsequently perhaps uninterested. To help automate the process of finding and correcting these errors we have devised a solution that collects periodical or on-compile time code snapshots which we analyze upon unsuccessful compilation or whenever a lengthy stall is detected. The analysis is then used to provide feedback to students directly into their Integrated Development Environment (IDE), and generate useful reports that can be perused by both instructors and students later on. This article describes the design and implementation of our solution in the context of BlueJ; a common first year IDE.
international conference on smart homes and health telematics | 2017
Lokman Saleh; Hamid Mcheick; Hicham Ajami; Hafedh Mili; Joumana Dargham
Medicine and especially chronic diseases, like everything else on earth is filled with ambiguity. This is why, identifying patients at risk present a big challenge to human brain. Poor control and misdiagnosis of chronic diseases has a great impact quality of life of patients, the expenses and performance of health care system. The global economic cost of chronic diseases could reach
international conference on software engineering advances | 2008
Hamid Mcheick; Aymen Sioud; Joumana Dargham
47 trillion by 2030, according to a study by the World Economic Forum (WEF). Beside this economic burden, such treatment failure increases the risk of progression of disease which inevitably leads to premature death or further illness and suffering. Today, health informatics is reshaping the research in the medical domain due to its potential to concurrently overcome the challenges encountered in the traditional healthcare systems. Uncertainty, accuracy, causal attributes and their relationship, all have their places in this new technology through contemporary machine learning algorithms. Prediction of exacerbation of Chronic Obstructive Pulmonary Disease (COPD) is considered one of the most difficult problems in the medical field. In this paper, we will leverage unused machine learning methods to increase prediction accuracy in COPD. To this end, we compared three of the most common machine learning algorithms (decision tree, naive Bayes and Bayesian network) based on ROC metric. Furthermore, we used discretization process for the first time in this context.
international conference on internet and web applications and services | 2008
Joumana Dargham; Rima Semaan
C++ applications suffer from the lack of a garbage collector which has been acknowledged as one of their major defects. Therefore, these applications need an automatic memory management lifecycle because their memory management techniques are developed explicitly and manually. For instance, research effort has been done to improve object memory management technique, such as reference counter, incremental garbage collector, conservative garbage collector, smart pointer, and so on. These techniques have some limitations, such as amalgamated functional and technical aspects in the same object-oriented programs and its implementation has to be realized manually. Generally speaking, we propose a mechanism and develop a prototype to i) separate object lifecycle management from functional aspects and ii) implement and integrate this task automatically and implicitly. To eliminate implicitly storage management defects, our prototype is based on mark and sweep algorithm and separation of concerns approaches such as aspect-oriented programming.