GenApp is a general tool for rapid deployment of applications in an extensible set of target languages. GenApp builds fully functioning science gateways and standalone GUI applications from ...collections of definition files and libraries of code fragments. Existing and new GenApp capabilities can be modified and implemented by using special defined GenApp macros. We demonstrate how this strategy works by integration of the OAuth2 user credential management into GenApp framework. Among the main GenApp features are the minimal technical expertise requirement for the end user and an open-end design ensuring sustainability of generated applications. Because of the conceptual simplicity of use, GenApp is ideally suited to scientists who are not professional developers, to disseminate their theoretical and experimental expertise as embodied in their code to their communities by rapidly deploying advanced applications.
•GenApp is an automated tool for generation of web-based and native GUI applications.•GenApp can be readily used by non-experts in C.S. to create and manage applications.•GenApp features are added/modified using special macros defined in simple text files.•Integration of the Oauth2 user credential management is demonstrated.•GenApp produced applications can readily utilize HPC resources.
To ensure the quality of an information system we must guarantee the correctness of the conceptual schema that represents the knowledge about its domain. The high expressivity of UML schemas ...annotated with textual OCL constraints enforces the need for automated reasoning techniques. These techniques should be both terminating and complete to be effectively used in practice. In this paper we identify an expressive fragment of the OCL language that ensures these properties. In this way, we overcome the limitations of current techniques when reasoning on such a fragment. As a consequence, we also have that Description Logics can be appropriately used to reason on UML conceptual schemas with arbitrary OCL constraints. We also show how current tools based on different approaches can be used to reason on conceptual schemas enriched with (a decidable fragment of) OCL constraints.
Reasoning on UML class diagrams Berardi, Daniela; Calvanese, Diego; De Giacomo, Giuseppe
Artificial intelligence,
10/2005, Letnik:
168, Številka:
1
Journal Article
Recenzirano
Odprti dostop
UML is the de-facto standard formalism for software design and analysis. To support the design of large-scale industrial applications, sophisticated CASE tools are available on the market, that ...provide a user-friendly environment for editing, storing, and accessing multiple UML diagrams. It would be highly desirable to equip such CASE tools with automated reasoning capabilities, such as those studied in Artificial Intelligence and, in particular, in Knowledge Representation and Reasoning. Such capabilities would allow to automatically detect relevant formal properties of UML diagrams, such as inconsistencies or redundancies. With regard to this issue, we consider UML
class diagrams, which are one of the most important components of UML, and we address the problem of reasoning on such diagrams. We resort to several results developed in the field of Knowledge Representation and Reasoning, regarding Description Logics (DLs), a family of logics that admit decidable reasoning procedures. Our first contribution is to show that reasoning on UML class diagrams is EXPTIME-hard, even under restrictive assumptions; we prove this result by showing a polynomial reduction from reasoning in DLs. The second contribution consists in establishing EXPTIME-membership of reasoning on UML class diagrams, provided that the use of arbitrary OCL (first-order) constraints is disallowed. We get this result by using
DLR
ifd
, a very expressive EXPTIME-decidable DL that has been developed to capture typical features of conceptual and object-oriented data models. The last contribution has a more practical flavor, and consists in a polynomial encoding of UML class diagrams in the DL
ALCQI
, which essentially is the most expressive DL supported by current state-of-the-art DL-based reasoning systems. Though less expressive than
DLR
ifd
, the DL
ALCQI
preserves enough semantics to keep reasoning about UML class diagrams sound and complete. Exploiting such an encoding, one can use current DL-based reasoning systems as core reasoning engines for a next generation of CASE tools, that are equipped with reasoning capabilities on UML class diagrams.
UML class-based models and OWL ontologies constitute modeling approaches with different strengths and weaknesses that make them appropriate for specifying
distinct aspects of software systems. We ...propose an integrated use of both modeling approaches in a coherent framework —
TwoUse. We present a framework involving different concrete syntaxes for developing integrated models and use a SPARQL-like approach for writing query operations. We illustrate TwoUse's applicability with a case study and conclude that TwoUse achieves enhancements of non-functional software requirements like maintainability, reusability and extensibility.
Personal data have become a central asset for multiple enterprise applications and online services offered by private companies, public organisations or a combination of both. The sensitivity of such ...data and the continuously growing legislation that accompanies their management dictate the development of methods that allow the development of more secure, trustworthy software systems with focus on privacy protection. The contribution of this paper is the definition of a novel requirements engineering method that supports both early and late requirements specification, giving emphasis on security, privacy and trust. The novelty of our work is that it provides the means for software designers and security experts to analyse the system-to-be from multiple aspects, starting from identifying high-level goals to the definition of business process composition, and elicitation of mechanisms to fortify the system from external threats. The method is supported by two CASE tools. To demonstrate the applicability and usefulness of our work, the paper shows its applications to a real-world case study.
Complex decision-making is a prominent aspect of Requirements Engineering. This work presents the Bayesian network
Requisites
that predicts whether the requirements specification documents have to be ...revised. We test
Requisites’
suitability by means of metrics obtained from a large complex software project. Furthermore, this Bayesian network has been integrated into a software tool by defining a communication interface inside a multilayered architecture. In this way, we add a new decision-making functionality that provides requirements engineers with a feature to explore software requirement specification by combining requirement metrics and the probability values estimated by the Bayesian network.
This article provides an enriched technology acceptance model explaining the impact of both classic and additional variables on software engineering tools acceptance within Information Systems ...Development courses. Two novel, domain-specific variables were identified (i.e., Professional Training Diffusion and Model Interchange). Statistical verification of the proposed model and study regarding the influence of the variables on students' intention to use specific tools were conducted-providing users with enhanced means of selecting optimal software for real-life projects.
In application domains, such as distributed information retrieval, content management and distribution, e-Commerce, the agent-based computing paradigm has been demonstrated to be effective for the ...analysis, design and implementation of distributed software systems. In particular, several agent-oriented methodologies, incorporating suitable agent models, frameworks and tools, have been to date defined to support the development lifecycle of distributed agent systems (DAS). However, few of them provide effective validation methods to analyze design objects at different degrees of refinement before their actual implementation and deployment. In this paper, ELDAMeth, a simulation-based methodology for DAS, which enables rapid prototyping based on visual programming, validation, and automatic code generation for JADE-based DAS, is presented. ELDAMeth can be used both stand-alone for the modeling and evaluation of DAS and coupled with other agent-oriented methodologies for enhancing them with simulation-based validation. In particular, the proposed methodology, which is based on the ELDA (Event-driven Lightweight Distilled StateCharts-based Agents) agent model, provides key programming abstractions (event-driven computation, multi-coordination, and coarse-grained strong mobility) very suitable for highly dynamic distributed computing and is supported by a CASE tool-driven iterative process seamlessly covering the detailed design, simulation, and implementation phases of DAS. A simple yet effective case study in the distributed information retrieval domain is used to illustrate the proposed methodology.
This report presents an approach to building specialized computer-aided software engineering (CASE) tools for the development of expert systems. These tools form an integrated development environment ...allowing the computer aided development of different applications in the appropriate field. The integrated environment which we consider in our report represents the combination of SWI-PROLOG and Data Base Management System (DBMS) PostgreSQL tools. SWI-PROLOG provides the most appropriate tools for the solution of logical tasks in expert systems. However, SWI-PROLOG cannot manage large amounts of data. Therefore, we need to apply an appropriate data base management system to extend the capability of the knowledge base. For this purpose we used the most advanced open source PostgreSQL tools. As a result of our research we have created tools enabling the compatibility of SWI-PROLOG and DBMS PostgreSQL within the integrated development environment.