1 |
Detection of Java EE EJB Antipattern Instances using Framework-Specific ModelsStephan, Matthew January 2009 (has links)
Adding flexibility to a process or technology often comes with a price. This holds true in the case of the amendments made to Java EE platform to upgrade to version 5. Java EE 5 allows Enterprise Java Bean (EJB) developers the ability to configure EJBs via Java 5 annotations, through XML deployment descriptors, or through a combination of both. While this adds flexibility to the EJB configuration process, it also comes with the price of an EJB project's stakeholder not being able to ascertain the current configuration of an EJB
project until runtime, due to the multiple sources of configuration and the complex overriding rules. Furthermore, to detect errors in configuration or perform
antipattern instance detection it is clearly beneficial to have a representation of an EJB project that accurately represents the current configuration of the system.
This thesis first presents an EJB Framework Specific Modeling Language (FSML) that formalizes the EJB domain's specific components in the form of a cardinality-based feature model. By having such a model and using and extending the existing FSML infrastructure, one retrieves a Framework Specific Model (FSM) through reverse engineering that represents all the information from the various sources of EJB configuration. By analyzing this FSM, we can create another model that represents the resolved configuration of an EJB project. We employ model filtration to highlight specific sources of configuration. We then use open-source and custom EJB
projects to evaluate the EJB FSML and the resolved model.
Models admit antipattern instance detection. This thesis presents two methods for running antipattern instance detection on an EJB project using existing EJB antipatterns in literature: 1) queries in Java that execute against the resolved configuration model; and 2) queries written in .QL, an object-oriented query language, against the EJB project's source code. We compare these two techniques qualitatively and propose a
new approach based on this comparison that entails modeling the antipatterns and their symptoms within an FSML model declaratively.
|
2 |
Detection of Java EE EJB Antipattern Instances using Framework-Specific ModelsStephan, Matthew January 2009 (has links)
Adding flexibility to a process or technology often comes with a price. This holds true in the case of the amendments made to Java EE platform to upgrade to version 5. Java EE 5 allows Enterprise Java Bean (EJB) developers the ability to configure EJBs via Java 5 annotations, through XML deployment descriptors, or through a combination of both. While this adds flexibility to the EJB configuration process, it also comes with the price of an EJB project's stakeholder not being able to ascertain the current configuration of an EJB
project until runtime, due to the multiple sources of configuration and the complex overriding rules. Furthermore, to detect errors in configuration or perform
antipattern instance detection it is clearly beneficial to have a representation of an EJB project that accurately represents the current configuration of the system.
This thesis first presents an EJB Framework Specific Modeling Language (FSML) that formalizes the EJB domain's specific components in the form of a cardinality-based feature model. By having such a model and using and extending the existing FSML infrastructure, one retrieves a Framework Specific Model (FSM) through reverse engineering that represents all the information from the various sources of EJB configuration. By analyzing this FSM, we can create another model that represents the resolved configuration of an EJB project. We employ model filtration to highlight specific sources of configuration. We then use open-source and custom EJB
projects to evaluate the EJB FSML and the resolved model.
Models admit antipattern instance detection. This thesis presents two methods for running antipattern instance detection on an EJB project using existing EJB antipatterns in literature: 1) queries in Java that execute against the resolved configuration model; and 2) queries written in .QL, an object-oriented query language, against the EJB project's source code. We compare these two techniques qualitatively and propose a
new approach based on this comparison that entails modeling the antipatterns and their symptoms within an FSML model declaratively.
|
3 |
PDEModelica – A High-Level Language for Modeling with Partial Differential EquationsSaldamli, Levon January 2006 (has links)
This thesis describes work on a new high-level mathematical modeling language and framework called PDEModelica for modeling with partial differential equations. It is an extension to the current Modelica modeling language for object-oriented, equation-based modeling based on differential and algebraic equations. The language extensions and the framework presented in this thesis are consistent with the concepts of Modelica while adding support for partial differential equations and space-distributed variables called fields. The specification of a partial differential equation problem consists of three parts: 1) the description of the definition domain, i.e., the geometric region where the equations are defined, 2) the initial and boundary conditions, and 3) the actual equations. The known and unknown distributed variables in the equation are represented by field variables in PDEModelica. Domains are defined by a geometric description of their boundaries. Equations may use the Modelica derivative operator extended with support for partial derivatives, or vector differential operators such as divergence and gradient, which can be defined for general curvilinear coordinates based on coordinate system definitions. The PDEModelica system also allows the partial differential equation models to be defined using a coefficient-based approach, where PDE models from a library are instantiated with different parameter values. Such a library contains both continuous and discrete representations of the PDE model. The user can instantiate the continuous parts and define the parameters, and the discrete parts containing the equations are automatically instantiated and used to solve the PDE problem numerically. Compared to most earlier work in the area of mathematical modeling languages supporting PDEs, this work provides a modern object-oriented component-based approach to modeling with PDEs, including general support for hierarchical modeling, and for general, complex geometries. It is possible to separate the geometry definition from the model definition, which allows geometries to be defined separately, collected into libraries, and reused in new models. It is also possible to separate the analytical continuous model description from the chosen discretization and numerical solution methods. This allows the model description to be reused, independent of different numerical solution approaches. The PDEModelica field concept allows general declaration of spatially distributed variables. Compared to most other approaches, the field concept described in this work affords a clearer abstraction and defines a new type of variable. Arrays of such field variables can be defined in the same way as arrays of regular, scalar variables. The PDEModelica language supports a clear, mathematical syntax that can be used both for equations referring to fields and explicit domain specifications, used for example to specify boundary conditions. Hierarchical modeling and decomposition is integrated with a general connection concept, which allows connections between ODE/DAE and PDE based models. The implementation of a Modelica library needed for PDEModelica and a prototype implementation of field variables are also described in the thesis. The PDEModelica library contains internal and external solver implementations, and uses external software for mesh generation, requisite for numerical solution of the PDEs. Finally, some examples modeled with PDEModelica and solved using these implementations are presented.
|
4 |
Consistency checking in multiple UML state diagrams using super state analysisAlanazi, Mohammad N. January 1900 (has links)
Doctor of Philosophy / Department of Computing and Information Sciences / David A. Gustafson / The Unified Modeling Language (UML) has been designed to be a full standard notation for Object-Oriented Modeling. UML 2.0 consists of thirteen types of diagrams: class, composite structure, component, deployment, object, package, activity, use case, state, sequence, communication, interaction overview, and timing. Each one is dedicated to a different design aspect. This variety of diagrams, which overlap with respect to the information depicted in each, can leave the overall system design specification in an inconsistent state. This dissertation presents Super State Analysis (SSA) for analyzing UML multiple state and sequence diagrams to detect the inconsistencies. SSA model uses a transition set that captures relationship information that is not specifiable in UML diagrams. The SSA model uses the transition set to link transitions of multiple state diagrams together. The analysis generates three different sets automatically. These generated sets are compared to the provided sets to detect the inconsistencies. Because Super State Analysis considers multiple UML state diagrams, it discovers inconsistencies that cannot be discovered when considering only a single UML state diagram. Super State Analysis identifies five types of inconsistencies: valid super states, invalid super states, valid single step transitions, invalid single step transitions, and invalid sequences.
|
5 |
Struts2JSF: Framework Migration in J2EE Using Framework Specific Modeling LanguagesCheema, Aseem Paul Singh January 2007 (has links)
Java 2 Enterprise Edition is a portable, robust, scalable and secure platform for enterprise
software development based on Java technologies, and embraces open standards through
the Java Community Process (JCP). J2EE development is not very productive because of
the complexity of the platform and the lack of good tool support. Object-Oriented Frame-
works are a reliable design and code reuse approach. Many frameworks have emerged
since J2EE’s release to ease development. Struts has become the de-facto standard, while
JavaServer Faces (JSF) is a new framework, which has been included in the J2EE spec-
ification and hence standardized. Both Struts and JSF frameworks are based on Model-
View-Controller design pattern. JSF takes a similar approach to Struts for the controller
component, but adds to it by providing user interface components with server-side state
for the view component.
This work deals with the problem of migrating an application based on the Struts frame-
work to the new JSF framework. The software migration task is divided into view and con-
troller migration. Controller migration is semi-automated using Antkiewicz’s Framework-
Specific Modeling Languages (FSML) approach. Guidelines are provided for view migra-
tion, which boils down to the problem of componentization. JSF and Struts frameworks
can also be used together where JSF supports the view component while Struts supports
the controller component. Merits and demerits of this approach are also discussed.
|
6 |
Struts2JSF: Framework Migration in J2EE Using Framework Specific Modeling LanguagesCheema, Aseem Paul Singh January 2007 (has links)
Java 2 Enterprise Edition is a portable, robust, scalable and secure platform for enterprise
software development based on Java technologies, and embraces open standards through
the Java Community Process (JCP). J2EE development is not very productive because of
the complexity of the platform and the lack of good tool support. Object-Oriented Frame-
works are a reliable design and code reuse approach. Many frameworks have emerged
since J2EE’s release to ease development. Struts has become the de-facto standard, while
JavaServer Faces (JSF) is a new framework, which has been included in the J2EE spec-
ification and hence standardized. Both Struts and JSF frameworks are based on Model-
View-Controller design pattern. JSF takes a similar approach to Struts for the controller
component, but adds to it by providing user interface components with server-side state
for the view component.
This work deals with the problem of migrating an application based on the Struts frame-
work to the new JSF framework. The software migration task is divided into view and con-
troller migration. Controller migration is semi-automated using Antkiewicz’s Framework-
Specific Modeling Languages (FSML) approach. Guidelines are provided for view migra-
tion, which boils down to the problem of componentization. JSF and Struts frameworks
can also be used together where JSF supports the view component while Struts supports
the controller component. Merits and demerits of this approach are also discussed.
|
7 |
Data in business processesMeyer, Andreas, Smirnov, Sergey, Weske, Mathias January 2011 (has links)
Process and data are equally important for business process management. Process data is especially relevant in the context of automated business processes, process controlling, and representation of organizations' core assets. One can discover many process modeling languages, each having a specific set of data modeling capabilities and the level of data awareness. The level of data awareness and data modeling capabilities vary significantly from one language to another.
This paper evaluates several process modeling languages with respect to the role of data. To find a common ground for comparison, we develop a framework, which systematically organizes process- and data-related aspects of the modeling languages elaborating on the data aspects. Once the framework is in place, we compare twelve process modeling languages against it. We generalize the results of the comparison and identify clusters of similar languages with respect to data awareness. / Prozesse und Daten sind gleichermaßen wichtig für das Geschäftsprozessmanagement. Prozessdaten sind dabei insbesondere im Kontext der Automatisierung von Geschäftsprozessen, dem Prozesscontrolling und der Repräsentation der Vermögensgegenstände von Organisationen relevant. Es existieren viele Prozessmodellierungssprachen, von denen jede die Darstellung von Daten durch eine fest spezifizierte Menge an Modellierungskonstrukten ermöglicht. Allerdings unterscheiden sich diese Darstellungenund damit der Grad der Datenmodellierung stark untereinander.
Dieser Report evaluiert verschiedene Prozessmodellierungssprachen bezüglich der Unterstützung von Datenmodellierung. Als einheitliche Grundlage entwickeln wir ein Framework, welches prozess- und datenrelevante Aspekte systematisch organisiert. Die Kriterien legen dabei das Hauptaugenmerk auf die datenrelevanten Aspekte. Nach Einführung des Frameworks vergleichen wir zwölf Prozessmodellierungssprachen gegen dieses. Wir generalisieren die Erkenntnisse aus den Vergleichen und identifizieren Cluster bezüglich des Grades der Datenmodellierung, in welche die einzelnen Sprachen eingeordnet werden.
|
8 |
B-COoL : un métalangage pour la spécification des opérateurs de coordination des langages / BCOol : the Behavioral Coordination Operator LanguageVara Larsen, Matias 11 April 2016 (has links)
Les appareils modernes sont constitués de plusieurs sous-systèmes de différentes sortes qui communiquent et interagissent. L'hétérogénéité de ces sous-systèmes et leurs interactions complexes rendent très délicate leur développement. L'approche d'ingénierie dirigée par les modèles apporte une solution en permettant l'expression de nombreux modèles structurels et comportementaux de natures très diverses. Dans ce contexte, il est nécessaire de construire un modèle unique qui intègre ces différents modèles afin d'y appliquer des méthodes de validation et de vérification pour permettre aux ingénieurs système de comprendre et de valider un comportement global. Cependant, la coordination manuelle des différents modèles qui composent le système est une opération source d'erreurs et les approches automatiques proposent des patrons de coordination ad-hoc pour certaines paires de langages. Dans ces approches, le patron de coordination est souvent encapsulé dans un outil dont il est difficile d'extraire les liens avec le système global. Cette thèse propose le Behavioral Coordination Operator Language (BCOoL), un langage dédié à la spécification de patrons de coordination entre des langages à partir de la définition d'opérateurs de coordination. Ces opérateurs sont employés afin d'automatiser la coordination de modèles exprimés dans ces langages. BCOoL est implémenté comme une suite de plugins qui s'appuient sur l'Eclipse Modeling Framework et présente ainsi un environnement complet pour l'exécution et la vérification de différents modèles coordonnés. / Modern devices embed several subsystems with different characteristics that communicate and interact in many ways. This makes its development complex since a designer has to deal with the heterogeneity of each subsystem but also with the interaction between them. To tackle the development of complex systems, Model Driven Engineering promotes the use of various, possibly heterogeneous, structural and behavioral models. In this context, the coordination of behavioral models to produce a single integrated model is necessary to provide support for validation and verification. It allows system designers to understand and validate the global and emerging behavior of the system. However, the manual coordination of models is tedious and error-prone, and current approaches to automate the coordination are bound to a fixed set of coordination patterns. Moreover, they encode the pattern into a tool thus limiting reasoning on the global system behavior. In this thesis, we propose a Behavioral Coordination Operator Language (B-COoL) to reify coordination patterns between specific domains by using coordination operators between the Domain-Specific Modeling Languages used in these domains. Those operators are then used to automate the coordination of models conforming to these languages. B-COoL is implemented as plugins for the Eclipse Modeling Framework thus providing a complete environment to execute and verify coordinated models. We illustrate the use of B-COoL with the definition of coordination operators between timed finite state machines and activity diagrams. We then use these operators to coordinate and execute the heterogeneous models of a surveillance camera system.
|
9 |
Modelování business procesů státní správy / Business process modelling in public administrationOpálka, Šimon January 2013 (has links)
This Master's thesis focuses on modeling of business processes in public administration sector. The main objective of this study is to compare the ability of selected modeling languages to capture aspects, which are typical for processes in public administration. This objective is reached by elaboration of theoretical part where the terms public administration and business process are defined. Processes are described by their typical characteristic for public government. Based on these characteristics, suitable process is chosen, ana-lyzed and modeled using selected modeling languages. Created business process diagrams are compared and the suitability of all languages is discussed. The work also discusses the importance of process modeling, relation with eGovernment and briefly summarizes the current situation in the Czech Republic and abroad, including its comparison.
|
10 |
An Empirical Study on Software Modeling CurriculaLila, Redion, Delishi, Alban January 2022 (has links)
Background: Software Engineering is a high-demand field constantly changing with new languages, tools, and frameworks. The use of software modeling in Software Engineering is essential for solving complex problems since it helps the developer understand abstraction and develop high-level code. For an overview of the current state of software modeling, this research attempts to present an overview of software modeling curricula and how students benefit from attending these courses. Method: First, to assess the survey’s clarity and eliminate any potential for bias, we conducted a pilot study with five teachers at M¨alardalen University. We surveyed 23 participants from 23 institutions and ten countries to get their responses to Research Questions 2, 3, and 4. We have collected data for programs from 10 different countries with their top 5 universities to address Research Question 1. Results: To maintain meaning in the Software Engineering domain, we used our findings to seek the usage of knowledge gained from the academic environment in the industry when the students shift from academia to industry. Through this thesis, we present the current view of software modeling curricula and their contribution to preparing students for the industry. The following significant findings were reached: (i) software modeling aids in better understanding of abstraction concepts and the development of high-level applications; (ii) UML is one of the most popular languages; and (iii) some limitations of software modeling tools include license type, outdated tools, or poorly documented tools.
|
Page generated in 0.1124 seconds