Latest Articles from JUCS - Journal of Universal Computer Science Latest 100 Articles from JUCS - Journal of Universal Computer Science https://lib.jucs.org/ Thu, 28 Mar 2024 12:54:48 +0200 Pensoft FeedCreator https://lib.jucs.org/i/logo.jpg Latest Articles from JUCS - Journal of Universal Computer Science https://lib.jucs.org/ A Proposal of Naturalistic Software Development Method https://lib.jucs.org/article/105637/ JUCS - Journal of Universal Computer Science 30(2): 179-203

DOI: 10.3897/jucs.105637

Authors: Lizbeth Alejandra Hernández-González, Ulises Juárez-Martínez, Jezreel Mejía, Alberto Aguilar-Laserre

Abstract: Naturalistic programming purports to include natural language elements in programming languages to increase software expressiveness. Even though natural language is inherently ambiguous, it is richer and thus more expressive than any artificial language. Currently, the Naturalistic Programming Paradigm (NPP) is supported by its conceptual model and three general-purpose naturalistic programming languages that can generate executable binary code. Nevertheless, to date, no research efforts have been concentrated on applying the NPP within a software development process. To address this gap, in this article, we propose a naturalistic software development method to test the advantages of the NPP. The method focuses on the analysis and design stages of the software development process and seeks to contribute to closing the gap between the problem and the solution domains. We also present an example of an implementation using Cal-4700, a naturalistic programming language, showing the differences in expressiveness of programming with a traditional programming language, like Python.

HTML

XML

PDF

]]>
Research Article Wed, 28 Feb 2024 16:00:03 +0200
A Modeling Strategy for the Verification of Context-Oriented Chatbot Conversational Flows via Model Checking https://lib.jucs.org/article/91311/ JUCS - Journal of Universal Computer Science 29(7): 805-835

DOI: 10.3897/jucs.91311

Authors: Geovana Ramos Sousa Silva, Genaína Nunes Rodrigues, Edna Dias Canedo

Abstract: Verification of chatbot conversational flows is paramount to capturing and understanding chatbot behavior and predicting problems that would cause the entire flow to be restructured from scratch. The literature on chatbot testing is scarce, and the few works that approach this subject do not focus on verifying the communication sequences in tandem with the functional requirements of the conversational flow itself. However, covering all possible conversational flows of context-oriented chatbots through testing is not feasible in practice given the many ramifications that should be covered by test cases. Alternatively, model checking provides a model-based verification in a mathematically precise and unambiguous manner. Moreover, it can anticipate design flaws early in the software design phase that could lead to incompleteness, ambiguities, and inconsistencies. We postulate that finding design flaws in chatbot conversational flows via model checking early in the design phase may overcome quite a few verification gaps that are not feasible via current testing techniques for context-oriented chatbot conversational flows. Therefore, in this work, we propose a modeling strategy to design and verify chatbot conversational flows via the Uppaal model checking tool. Our strategy is materialized in the form of templates and a mapping of chatbot elements into Uppaal elements. To evaluate this strategy, we invited a few chatbot developers with different levels of expertise. The feedback from the participants revealed that the strategy is a great ally in the phases of conversational prototyping and design, as well as helping to refine requirements and revealing branching logic that can be reused in the implementation phase.

HTML

XML

PDF

]]>
Research Article Fri, 28 Jul 2023 16:00:07 +0300
Building an integrated requirements engineering process based on Intelligent Systems and Semantic Reasoning on the basis of a systematic analysis of existing proposals https://lib.jucs.org/article/78776/ JUCS - Journal of Universal Computer Science 28(11): 1136-1168

DOI: 10.3897/jucs.78776

Authors: Alexandra Corral, Luis E. Sánchez, Leandro Antonelli

Abstract: Requirements Engineering is one of the fundamental activities in the software development process and is oriented toward what should be produced. One of the development team’s most common problems is a lack of communication regarding an understanding of the discourse domain and how to integrate and process excessive information originating from different sources. This may lead to errors of omission and the consequent production of incomplete and inconsistent artifacts, which will have a direct effect on the quality of the software. The use of machine learning techniques helps the development team produce successful software on the basis of the acquisition of knowledge and human experience with which to understand the domain of the application. This paper, therefore, presents a proposal for a new methodological process oriented toward the construction of a vocabulary concerning the application domain. The authors propose to do this by employing Natural Language Processing (NLP), ontologies and heuristics that will lead to the production of a Lexicon that is common to analysts and customers, both of whom will understand the universe of discourse, thus mitigating problems of completeness. This objective has been achieved by carrying out a Systematic Literature Review of the artificial intelligence techniques employed in the requirements engineering process, which led to the discovery that 41.37% use NLP, while 55.71% apply ontologies such as semantic reasoners which help solve the problem of language ambiguity, the structures in specifications or the identification of key concepts with which to establish traceability links. However, the review also showed that the problems regarding the comprehension and completeness of requirements problems have yet to be resolved.

HTML

XML

PDF

]]>
Research Article Mon, 28 Nov 2022 10:00:00 +0200
Development and Evaluation of a Software Product Line for M-Learning Applications https://lib.jucs.org/article/90663/ JUCS - Journal of Universal Computer Science 28(10): 1058-1086

DOI: 10.3897/jucs.90663

Authors: Venilton FalvoJr, Anderson da Silva Marcolino, Nemésio Freitas Duarte Filho, Edson OliveiraJr, Ellen Francine Barbosa

Abstract: The popularity of mobile devices in all social classes has motivated the development of mobile learning (m-learning) applications. The existing applications, even having many benefits and facilities in relation to the teaching-learning process, still presents problems and challenges, es- pecially regarding the development, reuse and architectural standardization. Particularly, there is a growing adoption of the Software Product Line (SPL) concept, in view of research that investigates these gaps. This paradigm enables organizations to explore the similarities and variabilities of their products, increasing the reuse of artifacts and, consequently, reducing costs and development time. In this context, we discuss how systematic reuse can improve the development of solutions in the m-learning domain. Therefore, this work presents the design, development and experimental evaluation of M-SPLearning, an SPL created to enable the systematic production of m-learning applications. Specifically, the conception of M-SPLearning covers from the initial study for an effective domain analysis to the implementation and evaluation of its functional version. In this regard, the products have been experimentally evaluated by industry software developers, pro- viding statistical evidence that the use of our SPL can speed up the time-to-market of m-learning applications, in addition to reducing their respective number of faults.

HTML

XML

PDF

]]>
Research Article Fri, 28 Oct 2022 10:30:00 +0300
Scrum Watch: a tool for monitoring the performance of Scrum-based work teams https://lib.jucs.org/article/67593/ JUCS - Journal of Universal Computer Science 28(1): 98-117

DOI: 10.3897/jucs.67593

Authors: Florencia Vega, Guillermo Rodríguez, Fabio Rocha, Rodrigo Pereira dos Santos

Abstract: Agile Methods propose an approach for developing software based on an iterative and incremental life cycle model, in which needs and solutions evolve through collaboration between multi-functional and self-organized teams. As such, agile practices in work teams are gaining much momentum. To meet the demanding level of projects, agile software development also has to keep up with several challenges. In this context, software industry has chosen to use several tools to ease development and communication between different teams’ members. However, these tools generate overwhelming volumes of data that hamper decision-making by project managers. To address this issue, we present Scrum Watch, a tool-based approach that focuses on generating, through cloud-based technologies, graphic elements and reports that assist project managers with information to support decision making. Results obtained from an undergraduate Systems Engineering course through a capstone project confirm the feasibility of the proposed approach, which exploits the benefits of the availability and visualization of process and product metrics.

HTML

XML

PDF

]]>
Research Article Fri, 28 Jan 2022 10:30:00 +0200
Cybersecurity Verification and Validation Testing in Automotive https://lib.jucs.org/article/71833/ JUCS - Journal of Universal Computer Science 27(8): 850-867

DOI: 10.3897/jucs.71833

Authors: Damjan Ekert, Jürgen Dobaj, Alen Salamun

Abstract: The new generations of cars have a number of ECUs (Electronic Control Units) which are connected to a central gateway and need to pass cybersecurity integration tests to fulfil the homologation requirements of cars. Cars usually have a gateway server (few have additional domain servers) with Linux and a large number of ECUs which are real time control of actuators (ESP, EPS, ABS, etc. – usually they are multicore embedded controllers) connected by a real time automotive specific bus (CAN-FD) to the domain controller or gateway server. The norms (SAE J3061, ISO 21434) require cybersecurity related verification and validation. Fir the verification car manufacturers use a network test suite which runs > 2000 test cases and which have to be passed for homologation. These norms have impact on the way how car communication infrastructure is tested, and which cybersecurity attack patterns are checked before a road release of an ECU/car.This paper describes typical verification and validation approaches in modern vehicles and how such test cases are derived and developed.

HTML

XML

PDF

]]>
Research Article Sat, 28 Aug 2021 10:00:00 +0300
Cybersecurity Threat Analysis, Risk Assessment and Design Patterns for Automotive Networked Embedded Systems: A Case Study https://lib.jucs.org/article/72367/ JUCS - Journal of Universal Computer Science 27(8): 830-849

DOI: 10.3897/jucs.72367

Authors: Jürgen Dobaj, Damjan Ekert, Jakub Stolfa, Svatopluk Stolfa, Georg Macher, Richard Messnarz

Abstract: Cybersecurity has become a crucial challenge in the automotive sector. At the current stage, the framework described by the ISO/SAE 21434 is insufficient to derive concrete methods for the design of secure automotive networked embedded systems on the supplier level. This article describes a case study with actionable steps for designing secure systems and systematically eliciting traceable cybersecurity requirements to address this gap. The case study is aligned with the ISO/SAE 21434 standard and can provide the basis for integrating cybersecurity engineering into company-specific processes and practice specifications.

HTML

XML

PDF

]]>
Research Article Sat, 28 Aug 2021 10:00:00 +0300
Recent Advances in Cybersecurity and Safety Architectures in Automotive, IT, and Connected Services https://lib.jucs.org/article/72072/ JUCS - Journal of Universal Computer Science 27(8): 793-795

DOI: 10.3897/jucs.72072

Authors: Richard Messnarz, Ricardo Colomo-Palacios, Georg Macher, Andreas Riel, Miklos Biro

Abstract: This is a special issue in cooperation with EuroSPI (www.eurospi.net). EuroSPI represents a large international network of renowned experts and annual European conference series running successfully since its foundation in 1994. From 2013 onwards, an international functional safety and from 2016 onwards a functional safety and cybersecurity workshop has been established, to which leading European and Asian industry and research have been actively contributing to.High-quality, original papers about best practices for implementing functional safety and cybersecurity in automotive, IT, and connected services have been selected for this special issue. They provide insights into the current state of the art implementations in automotive safety and cybersecurity, IT security, and safety in future highly autonomous self-learning vehicles.

HTML

XML

PDF

]]>
Editorial Sat, 28 Aug 2021 10:00:00 +0300
A Formal Model for Configurable Business Process with Optimal Cloud Resource Allocation https://lib.jucs.org/article/70978/ JUCS - Journal of Universal Computer Science 27(7): 693-713

DOI: 10.3897/jucs.70978

Authors: Abderrahim Ait Wakrime, Souha Boubaker, Slim Kallel, Emna Guermazi, Walid Gaaloul

Abstract: In today’s competitive business environments, organizations increasingly need to model and deploy flexible and cost effective business processes. In this context, configurable process models are used to offer flexibility by representing process variants in a generic manner. Hence, the behavior of similar variants is grouped in a single model holding configurable elements. Such elements are then customized and configured depending on specific needs. However, the decision to configure an element may be incorrect leading to critical behavioral errors. Recently, process configuration has been extended to include Cloud resources allocation, to meet the need of business scalability by allowing access to on-demand IT resources. In this work, we propose a formal model based on propositional satisfiability formula allowing to find correct elements configuration including resources allocation ones. In addition, we propose to select optimal con- figurations based on Cloud resources cost. This approach allows to provide the designers with correct and cost-effective configuration decisions.

HTML

XML

PDF

]]>
Research Article Wed, 28 Jul 2021 10:00:00 +0300
Experimental Evaluation of Three Value Recommendation Methods in Interactive Configuration https://lib.jucs.org/article/24003/ JUCS - Journal of Universal Computer Science 26(3): 318-342

DOI: 10.3897/jucs.2020.018

Authors: Hélène Fargier, Pierre-François Gimenez, Jérôme Mengin

Abstract: The present work deals with the recommendation of values in interactive configuration, with no prior knowledge about the user, but given a list of products previously configured and bought by other users ("sales histories"). The basic idea is to recommend, for a given variable at a given step of the configuration process, a value that has been chosen by other users in a similar context, where the context is defined by the variables that have already been decided, and the values that the current user has chosen for these variables. From this point, two directions have been explored. The first one is to select a set of similar configurations in the sales history (typically, the k closest ones, using a distance measure) and to compute the best recommendation from this set - this is the line proposed by [Coster et al., 2002]. The second one, that we propose here, is to learn a model from the entire sample as representation of the users' preferences, and to use it to recommend a pertinent value; three families of models are experimented: the Bayesian networks, the naive Bayesian networks and the lexicographic preferences trees.

HTML

XML

PDF

]]>
Research Article Sat, 28 Mar 2020 00:00:00 +0200
An Intelligent Recommender System Based on Association Rule Analysis for Requirement Engineering https://lib.jucs.org/article/23988/ JUCS - Journal of Universal Computer Science 26(1): 33-49

DOI: 10.3897/jucs.2020.003

Authors: Mohammad Muhairat, Shadi Bi, Bilal Hawashin, Mohammad Elbes, Mahmoud Al-Ayyoub

Abstract: Requirement gathering is a vital step in software engineering. Even though many recent researches concentrated on the improvement of the requirement gathering process, many of their works lack completeness especially when the number of users is large. Data Mining techniques have been recently employed in various domains with promising results. In this work, we propose an intelligent recommender system for requirement engineering based on association rule analysis, which is a main category in Data Mining. Such recommender would contribute in enhancing the accuracy of the gathered requirements and provide more comprehensive results. Conducted experiments in this work prove that FP Growth outperformed Apriori in terms of execution and space consumption, while both methods were efficient in term of accuracy.

HTML

XML

PDF

]]>
Research Article Tue, 28 Jan 2020 00:00:00 +0200
Identifying Groupware Requirements in People-Driven Mobile Collaborative Processes https://lib.jucs.org/article/22642/ JUCS - Journal of Universal Computer Science 25(8): 988-1017

DOI: 10.3217/jucs-025-08-0988

Authors: Valeria Herskovic, Sergio Ochoa, José Pino

Abstract: People-driven mobile collaborative processes are increasingly mediated by technology due to the ubiquity, efficiency and flexibility that modern groupware systems provide their users. However, identifying groupware requirements to be considered in their development is a challenging task, since the processes being supported by them do not have a clear workflow coordinating the activities performed by the participants. Thus, software developers must usually guess these requirements based on their own experience, and so the elicitation process becomes a creative activity instead of an engineering process. Trying to reduce this uncertainty about groupware requirements identification, and thus helping developers improve their capability to predict the suitability of a collaborative system, this paper presents a visual notation to represent user interaction scenarios through models. These models are processed to automatically determine a set of potentially required groupware services. Thus, this proposal reduces the uncertainty about the groupware requirements to be considered in the development of a system supporting a particular people-driven mobile collaborative process. The United States of Americability and usefulness of the visual notation and the method to derive the groupware requirements are illustrated with a running example, and also through its application to a case study. The results are encouraging and consistent, allowing us to augur potential adoption in research and industrial settings.

HTML

XML

PDF

]]>
Research Article Wed, 28 Aug 2019 00:00:00 +0300
Micro-business Requirements Patterns in Practice: Remote Communities in Developing Nations https://lib.jucs.org/article/22628/ JUCS - Journal of Universal Computer Science 25(7): 764-787

DOI: 10.3217/jucs-025-07-0764

Authors: RJ Macasaet, Manuel Noguera, Maria Rodríguez, José Garrido, Sam Supakkul, Lawrence Chung

Abstract: Initializing software for a micro-business in a remote community in a developing nation is challenging, especially when gathering requirements. This paper proposes the use of Micro-business Requirements Patterns (μbRPs) in the initial phase of software implementation. The μbRPs aim to guide the software developer when gathering requirements from a micro-business and for estimating the effort needed to implement the software. First, we present the μbRPs, which include a table, optional illustrations, and associated software components. Then, we explain how μbRPs are applied in practice. Finally, we discuss how our proposal has evolved through the years by presenting our action research and inspirations from related work.

HTML

XML

PDF

]]>
Research Article Sun, 28 Jul 2019 00:00:00 +0300
Towards Obtaining UML Class Diagrams from Secure Business Processes Using Security Patterns https://lib.jucs.org/article/23611/ JUCS - Journal of Universal Computer Science 24(10): 1472-1492

DOI: 10.3217/jucs-024-10-1472

Authors: Matías Zapata-Barra, Alfonso Rodríguez, Angélica Caro, Eduardo Fernández

Abstract: The incorporation of security concepts on business processes models has turned out to be an interesting factor in the software development cycle, since it allows an early capture of security aspects, which will then be used in later stages. A way of complementing security incorporated in a business process is to link this kind of requirement with security patterns, due to the importance of these patterns on the software development process. This article tackles the procurement of UML classes that allow the advancement in a software development process with security requirements expressed as business processes as a base, using a BPMN extension and security patterns.

HTML

XML

PDF

]]>
Research Article Sun, 28 Oct 2018 00:00:00 +0300
Service-Driven Iterative Software Project Management with I-Tropos https://lib.jucs.org/article/23384/ JUCS - Journal of Universal Computer Science 24(7): 975-1011

DOI: 10.3217/jucs-024-07-0975

Authors: Yves Wautelet, Manuel Kolp, Loris Penserini

Abstract: The increased symbiotic relationships between society and Information and Communication Technology (ICT) pave the ways for a substantial alignment and rethinking of current software development methodologies. This paper presents the use and validation of a software analysis and project management (PM) framework for iterative software development within the Tropos method. This methodology is servicedriven, its requirements models are founded on social-based modeling elements. The PM framework includes risk and quality management; it has been applied on multiple case studies and this paper presents a full experience report. The proposed methodology is aimed to provide a reference for practitioners willing to develop iteratively using Tropos.

HTML

XML

PDF

]]>
Research Article Sat, 28 Jul 2018 00:00:00 +0300
Selecting a Software Elicitation Technique According to Layers of Knowledge and Preciseness: A Case Study https://lib.jucs.org/article/23137/ JUCS - Journal of Universal Computer Science 23(4): 385-403

DOI: 10.3217/jucs-023-04-0385

Authors: Maria-Isabel Sanchez-Segura, Fuensanta Medina-Dominguez, Diana-Marcela Vásquez-Bravo, Gustavo Illescas, Cynthya De Jesús

Abstract: This paper presents a case study analyzing a set of software engineering elicitation techniques. The aim of the case study is to demonstrate that completeness and preciseness are two criteria to be incorporated into the set of existing parameters used to classify and select which elicitation technique to apply depending on the project context variables. Completeness refers to how well each elicitation technique elicits domain, task and strategic requirements, and preciseness refers to how many requirements a software engineer is able to elicit using each technique. Based on the results, we can state that completeness and preciseness perform differently for each analyzed technique. Therefore, these two criteria are necessary in order to improve elicitation technique selection. Also, the techniques used in this case study have been ranked according to the above-mentioned criteria, that is, which technique included in this study, is best suited for which requirements layer and which technique can be expected to elicit most requirements during the knowledge externalization phase.

HTML

XML

PDF

]]>
Research Article Fri, 28 Apr 2017 00:00:00 +0300
User-Centered Requirement Engineering for Accessible Chats in m-Learning https://lib.jucs.org/article/23332/ JUCS - Journal of Universal Computer Science 20(7): 964-985

DOI: 10.3217/jucs-020-07-0964

Authors: Rocío Calvo, Ana Iglesias, Lourdes Moreno

Abstract: Chat applications are useful synchronous tools in mobile learning (m-learning) environments. However, these tools have accessibility problems which cannot be avoided by students and teachers with disabilities. This paper focuses on detecting these accessibility problems. Specifically, this paper presents the Requirement Engineering (RE) process carried out to obtain the requirements needed to improve the interaction for people who experience problems with the Flow and Rhythm of the conversation in chats. A methodological approach has been followed and Software Engineering (SE) and Human Computer Interaction (HCI) disciplines were combined in order to improve the interaction during the chat.

HTML

XML

PDF

]]>
Research Article Tue, 1 Jul 2014 00:00:00 +0300
Verification of Software Product Line Artefacts: A Checklist to Support Feature Model Inspections https://lib.jucs.org/article/23187/ JUCS - Journal of Universal Computer Science 20(5): 720-745

DOI: 10.3217/jucs-020-05-0720

Authors: Rafael De Mello, Eldanae Teixeira, Marcelo Schots, Cláudia Maria Lima Werner, Guilherme Travassos

Abstract: Software Product Line Engineering (SPL) should ensure the correctness, completeness and consistenc y of its artefacts and related domain to prevent the propagation of defects in derived products. Software inspection techniques are effective in detecting defects in software artefacts and avoiding their propagation throughout the software development process. However, the results of a quasi-systematic review of the technical literature reported in this paper pointed to a lack of such techniques to support the inspection of SPL artefacts, including techniques to support the inspection of feature models (FMs) that are largely used in domain modelling. Therefore, a checklist-based inspection technique (FMCheck) has been developed to support the detection of defects on FMs. FMCheck is configurable and can be applied to the original feature model notation (the F ODA approach) and its extensions, including the Odyssey-FEX notation. The inspection technique was empirically evaluated, having indicated its feasibility and effectiveness. It is possible to see that inspectors applying FMCheck to inspect F-s can be more effective than those applying ad-hoc techniques, regarding four distinct domains.

HTML

XML

PDF

]]>
Research Article Thu, 1 May 2014 00:00:00 +0300
Defining and Validating a Feature-Driven Requirements Engineering Approach https://lib.jucs.org/article/23185/ JUCS - Journal of Universal Computer Science 20(5): 666-691

DOI: 10.3217/jucs-020-05-0666

Authors: Raphael De Oliveira, David Blanes, Javier Gonzalez-Huerta, Emilio Insfran, Silvia Abrahão, Sholom Cohen, Eduardo De Almeida

Abstract: The specification of requirements is a key activity for achieving the goals of any software project and it has long been established and recognized by researchers and practitioners. Within Software Product Lines (SPL), this activity is even more critical owing to the need to deal with common, variable, and product-specific requirements, not only for a single product but for the whole set of products. In this paper, we present a Feature-Driven Requirements Engineering approach (FeDRE) that provides support to the requirements specification of SPL. The approach realizes features into functional requirements by considering the variability captured in a feature model. It also provides detailed guidelines on how to associate chunks of features from a feature model and to consider them as the context for the Use Case specification. The evaluation of the approach is illustrated in a case study for developing an SPL of mobile applications for emergency notifications. This case study was applied within 14 subjects, 8 subjects from Universitat Politècnica de València and 6 subjects from Federal University of Bahia. Evaluations concerning the perceived ease of use, perceived usefulness, effectiveness and efficiency as regards requirements analysts using the approach are also presented. The results show that FeDRE was perceived as easy to learn and useful by the participants.

HTML

XML

PDF

]]>
Research Article Thu, 1 May 2014 00:00:00 +0300
Consistency Checking in Early Software Product Line Specifications - The VCC Approach https://lib.jucs.org/article/23184/ JUCS - Journal of Universal Computer Science 20(5): 640-665

DOI: 10.3217/jucs-020-05-0640

Authors: Mauricio Alférez, Roberto Lopez-Herrejón, Ana Moreira, Vasco Amaral, Alexander Egyed

Abstract: Software Product Line Engineering (SPLE) is a successful paradigm to produce a family of products for a specific domain. A challenge in SPLE is to check that different models used in early SPL specification do not contain inconsistent information that may be propagated and generate inconsistent products that do not conform to its requirements. This challenge is difficult to address due to the high number of possible combinations of product features and model fragments specifying those features. Variability Consistency Checking (VCC) offers automatic means to address that challenge. VCC relates information inferred from the relationships between features and from base models related to those features. Validating if all the products in an SPL satisfy user-defined consistency constraints is based on searching for a satisfying assignment of each formula generated by VCC. We validated VCC and its supporting tool on two case studies from different application domains, the results were encouraging as we did not observed significant performance penalties.

HTML

XML

PDF

]]>
Research Article Thu, 1 May 2014 00:00:00 +0300
Evaluation of OCL Expressions over XML Data Model https://lib.jucs.org/article/23027/ JUCS - Journal of Universal Computer Science 20(3): 329-365

DOI: 10.3217/jucs-020-03-0329

Authors: Jakub Malý, Martin Nečaský

Abstract: Complex applications can benefit greatly from using conceptual models and Model Driven Architecture during development, deployment and runtime. XML applications are not different. In this paper, we examine the possibility of using Object Constraint Language (OCL) for expressing constraints over a conceptual model for XML data. We go through the different classes of OCL expression and show how each class can be translated into XPath constructs. Subsequently we show how the constraints can be checked using Schematron. We introduce a function library OclX, which provides constructs necessary to translate those OCL constructs that have no counterpart in XPath. With our tool, it is possible to check validity of OCL constraints in XML data.

HTML

XML

PDF

]]>
Research Article Sat, 1 Mar 2014 00:00:00 +0200
Design Considerations for Application Selection and Control in Multi-user Public Displays https://lib.jucs.org/article/23949/ JUCS - Journal of Universal Computer Science 19(17): 2526-2542

DOI: 10.3217/jucs-019-17-2526

Authors: Constantin Taivan, Rui José, Bruno Silva, Ivan Elhart, Jorge Cardoso

Abstract: Urban spaces are increasingly embedded with various types of public digital displays. Many of these displays can be subject to multi-user interactions and support a broad range of applications. A fundamental implication emerging from the interactive nature of those applications is that users should have access to appropriate selection and control techniques that would allow them to drive the way applications are shown and used in the respective environment. Such techniques should enable each user to reason and express intentions about the system behavior, while also dealing with concurrent requests from multiple users in a way that is fair and clear. In this study, we aim to inform the definition of novel techniques for application selection and control in pervasive display environments that can address the above challenges. Drawing inspiration from traditional GUI interaction concepts we developed and deployed a public display system that supports multiple applications and is able to receive explicit content presentation requests from multiple viewers. Based on the experiment observations and interviews with the participants, we reached a set of design considerations for future pervasive displays environments that are open to third party applications providers and allow the audience to influence content presentation.

HTML

XML

PDF

]]>
Research Article Fri, 1 Nov 2013 00:00:00 +0200
Evaluation on Students' and Teachers' Acceptance of Widget- and Cloud-based Personal Learning Environments https://lib.jucs.org/article/23862/ JUCS - Journal of Universal Computer Science 19(14): 2150-2171

DOI: 10.3217/jucs-019-14-2150

Authors: Sylvana Kroop

Abstract: Instead of using traditional learning environments which contain tools and content of a single provider that are often owned by one specific educational organization, the presented idea of Widget- and Cloud-based Personal Learning Environments (PLEs) exploits a variety of existing and developing open educational sources including popular Web2.0 resources such as YouTube, Flickr or Wikipedia. The main contribution of this paper is the analysis of teachers’ and students’ attitudes and reasons for acceptance of widget- and cloud-computing based PLE technology. A quantitative and qualitative comparison of three widget-based PLE scenarios reveals the benefits as well as barriers of the new PLE technology regarding a) learning outcome and b) (cognitive, technical, time-wise) ease of the personal learning process. Findings show that a systematic cloud computing approach - software as a service (SaaS) where users do not need to install and run tools locally - is preferred. It saves time and meets the needs to keep the personal environment flexible and up to date. But while users have to manage a broad range of tools and content their most essential request is to be efficiently supported by the system in regard to their individual learning needs, e.g. in the decision making process of selecting and evaluating relevant tools.

HTML

XML

PDF

]]>
Research Article Thu, 1 Aug 2013 00:00:00 +0300
A Tool-based Semantic Framework for Security Requirements Specification https://lib.jucs.org/article/23810/ JUCS - Journal of Universal Computer Science 19(13): 1940-1962

DOI: 10.3217/jucs-019-13-1940

Authors: Olawande Daramola, Guttorm Sindre, Thomas Moser

Abstract: Attaining high quality in security requirements specification requires first-rate professional expertise, which is scarce. In fact, most organisations do not include core security experts in their software team. This scenario motivates the need for adequate tool support for security requirements specification so that the human requirements analyst can be assisted to specify security requirements of acceptable quality with minimum effort. This paper presents a tool-based semantic framework that uses ontology and requirements boilerplates to facilitate the formulation and specification of security requirements. A two-phased evaluation of the semantic framework suggests that it is usable, leads to reduction of effort, aids the quick discovery of hidden security threats, and improves the quality of security requirements.

HTML

XML

PDF

]]>
Research Article Mon, 1 Jul 2013 00:00:00 +0300
On the Development and Usability of a Diagram-based Collaborative Brainstorming Component https://lib.jucs.org/article/23316/ JUCS - Journal of Universal Computer Science 19(7): 873-893

DOI: 10.3217/jucs-019-07-0873

Authors: Diogo Azevedo, Benjamim Fonseca, Hugo Paredes, Stephan Lukosch, Jordan Janeiro, Robert Briggs

Abstract: The need for computer-supported collaboration has grown over the last years and made collaboration an important factor within organizations. This trend has resulted in the development of a variety of tools and technologies to support the various forms of collaboration. Many collaborative processes, e.g. strategy building, scenario analysis, root cause analysis and requirements engineering, require various collaboration support tools. Data flow, fishbone and brainstorming diagrams, play an important role within these synchronous collaborative applications to create, evaluate, elaborate, discuss, and revise graphical models. Currently, the necessary tools are not integrated and flexible enough to support such processes. In this paper, a synchronous collaborative brainstorming diagram editor integrated in a flexible group support system is described. This approach goes beyond the current state of the art as it can be seamlessly integrated with other collaboration support tools such as text-based brainstorming or voting. The usability of the taken approach is evaluated within a case study on collaborative learning.

HTML

XML

PDF

]]>
Research Article Mon, 1 Apr 2013 00:00:00 +0300
Specifying Patterns of Educational Settings by means of Ontologies https://lib.jucs.org/article/23011/ JUCS - Journal of Universal Computer Science 19(3): 353-382

DOI: 10.3217/jucs-019-03-0353

Authors: Angels Rius, Jordi Conesa, Elena Garcia-Barriocanal, Miguel-Ángel Sicilia

Abstract: Beyond the kind of processes dealt with the IMS LD specification, there are other kinds of processes, which are repeated periodically in learning environments that have not already been described yet due to the lack of mechanisms to describe them effectively. Inspired by the standard specification of language processes in the business area and taking into account the patterns philosophy used in the software engineering field, we propose an open framework to formally describe generic processes that usually occurs in the learning environments as patterns of educational settings. The main contribution of this paper is an extensible ontology-based framework to specify processes in learning environments. This framework has been created with the aim of improving the reusability of its formal specifications independently of the educational institutions where the processes occur and the learning platforms that support such processes. As a result of this work we have created a graphical notation for specifying such kind of processes easily and a CASE tool to facilitate its representation and the population of the ontological framework. In a future this framework could be extended to take more advantages: adapting the specifications of patterns to different educational institutions, using an implementation profile to achieve implementation descriptions or other standards to provide other output formats.

HTML

XML

PDF

]]>
Research Article Fri, 1 Feb 2013 00:00:00 +0200
Evaluation of a Systematic Approach to Requirements Reuse https://lib.jucs.org/article/22939/ JUCS - Journal of Universal Computer Science 19(2): 254-280

DOI: 10.3217/jucs-019-02-0254

Authors: Fabiane Barreto Vavassori Benitti, Rodrigo Cezario da Silva

Abstract: The benefits of reusing artifacts in the software development process are well-known in the software engineering community, and the earlier in the system development life-cycle reuse is attempted, the more benefit can be expected. Thus, we highlight the reuse of requirement specifications, leading to greater reuse of other artifacts such as models, code and tests. This paper presents an approach to the requirements reuse, supported by a tool that gives suggestions for reuse from requirement patterns, a patterns catalog and traceability between requirements. The efficiency and effectiveness of the approach were evaluated using a quasi-experiment in a university. We conducted a quantitative evaluation of the approach, and an assessment of participants' perceptions regarding the use of the approach and the computational tool. Finally, we performed a qualitative assessment using the GQM method, from the point of view of experts in the area of requirements engineering, in order to obtain more indicators of the feasibility of applying the approach in companies. The results of the quasi-experiment indicate that the approach presented makes the activities of requirement elicitation and specification about 40% more efficient and effective in terms of the way they are conducted, without the support of the approach. Regarding the perceptions on the use, the experimental group positively evaluated the proposed approach and the developed tool. Based on the evaluation by the GQM method, indicators were obtained that the approach assists in activities of requirement elicitation and specification, from the point of view of experts.

HTML

XML

PDF

]]>
Research Article Mon, 28 Jan 2013 00:00:00 +0200
An Aspect-Oriented Approach for Spatial Concerns in Web Applications https://lib.jucs.org/article/22864/ JUCS - Journal of Universal Computer Science 19(1): 110-131

DOI: 10.3217/jucs-019-01-0110

Authors: Matias Urbieta, Gustavo Rossi, Silvia Gordillo, Armanda Rodrigues, Joao Araujo, Ana Moreira

Abstract: The growing availability of on-line geographical information, since the advent of open map servers in the 2000s, originated a new generation of Web applications, those which combine "conventional" Web functionality with typical features of traditional Geographic Application System (GIS). The rapid growth in number and complexity of Web applications with geo-referenced data together with the need to support fast requirements change, demands for increased modularity. The volatility of some of these changing requirements, both in the scope of their geographic nature or in the period of time in which they are valid, stresses the importance of the applications" modularity. A solution is to take into consideration the crosscutting nature of these requirements and decouple their realization from "conventional" requirements in separate software modules. This paper proposes an end-to-end Aspect-Oriented approach to deal with spatial requirements from the early stages of applications development throughout to implementation. A significant contribution of this approach is the characterization of the most common spatial requirements in Web-GIS applications. The result is the improvement of

HTML

XML

PDF

]]>
Research Article Tue, 1 Jan 2013 00:00:00 +0200
Model-Driven Framework for Design and Production of Low-Budget Stereoscopic TV Content https://lib.jucs.org/article/22863/ JUCS - Journal of Universal Computer Science 19(1): 78-109

DOI: 10.3217/jucs-019-01-0078

Authors: Aleksandar Spasić, Dragan Jankovic

Abstract: Three-dimensional television (3D TV) is expected by many to be the next step in the advancement of television. Due to significant financial exhaustion during the process of transition from analogue to digital production, low-budget broadcasters are not in the position to invest in a new 3D system. This paper proposes one model-driven framework approach to 3D TV production system applicable to and suitable for low-budget broadcasters. The target of the project is to define one of the possible scenarios for applying stereoscopic 3D technologies to low-budget TV production. 3D TV content production chain is described in the first step of the project. 3D TV production workflow is proposed in the second step. This step has two parts: the analyses of the production stages and their integral processes, and the definition of a problem space model which is suitable for low-budget 3D TV production. The preproduction, production and postproduction phases of a low-budget 3D TV production are described during the analyses of 3D TV content production workflow. The UML is used as a modelling tool. The behavioural description of a program production is modelled by the Use Case diagram. A state machine diagram is used to describe the dynamic behavioral representation and the life cycle of a 3D content. The flow and dependencies in 3D workflow are modelled by using the activity diagrams. The structural static representation (domain model) is presented by a class diagram.

HTML

XML

PDF

]]>
Research Article Tue, 1 Jan 2013 00:00:00 +0200
Engineering Security into Distributed Systems: A Survey of Methodologies https://lib.jucs.org/article/23985/ JUCS - Journal of Universal Computer Science 18(20): 2920-3006

DOI: 10.3217/jucs-018-20-2920

Authors: Anton Uzunov, Eduardo Fernandez, Katrina Falkner

Abstract: Rapid technological advances in recent years have precipitated a general shift towards software distribution as a central computing paradigm. This has been accompanied by a corresponding increase in the dangers of security breaches, often causing security attributes to become an inhibiting factor for use and adoption. Despite the acknowledged importance of security, especially in the context of open and collaborative environments, there is a growing gap in the survey literature relating to systematic approaches (methodologies) for engineering secure distributed systems. In this paper, we attempt to fill the aforementioned gap by surveying and critically analyzing the state-of-the-art in security methodologies based on some form of abstract modeling (i.e. model-based methodologies) for, or applicable to, distributed systems. Our detailed reviews can be seen as a step towards increasing awareness and appreciation of a range of methodologies, allowing researchers and industry stakeholders to gain a comprehensive view of the field and make informed decisions. Following the comprehensive survey we propose a number of criteria reflecting the characteristics security methodologies should possess to be adopted in real-life industry scenarios, and evaluate each methodology accordingly. Our results highlight a number of areas for improvement, help to qualify adoption risks, and indicate future research directions.

HTML

XML

PDF

]]>
Research Article Sat, 1 Dec 2012 00:00:00 +0200
Towards Model-Driven Engineering Support for Service Evolution https://lib.jucs.org/article/23935/ JUCS - Journal of Universal Computer Science 18(17): 2364-2382

DOI: 10.3217/jucs-018-17-2364

Authors: Juan Vara, Vasilios Andrikopoulos, Michael Papazoglou, Esperanza Marcos

Abstract: In the field of Service-Oriented Architecture (SOA) evolution is a key issue given the non-trivial nature of updating widely distributed and heterogeneous systems. With this in mind, in this work we used some of the technologies developed in the context of the Eclipse Modeling Framework (EMF) to provide a proof of concept of the possible synergy between Model-Driven Engineering (MDE) and Service Orientation. In particular, we present a DSL toolkit for modeling the structural part of Abstract Service Descriptions (ASDs) and the reasoning mechanism that assesses whether two versions of a service are compatible with respect to its consumers.

HTML

XML

PDF

]]>
Research Article Sat, 1 Sep 2012 00:00:00 +0300
Aligning Security and Privacy to Support the Development of Secure Information Systems https://lib.jucs.org/article/23714/ JUCS - Journal of Universal Computer Science 18(12): 1608-1627

DOI: 10.3217/jucs-018-12-1608

Authors: Haralambos Mouratidis, Christos Kalloniatis, Shareeful Islam, Marc-Philippe Huget, Stefanos Gritzalis

Abstract: The increasing dependency on information systems to process and manage sensitive information requires the usage of development methods that support the development of secure and private information systems. The literature provides examples of methods that focus on security and privacy individually but fail to provide evidence of information systems development methods that consider security and privacy in a unified framework. Security and privacy are very much related, in particular certain security properties and mechanisms support the achievement of privacy goals. Without a development framework to support developers to explicitly model that relationship, conflicts and vulnerabilities can be introduced to a system design that might endanger its security. In this paper, we present our work in developing a framework that supports the unified analysis of privacy and security. In particular, we present a meta-model that combines concepts from security and privacy requirements methods, such as security and privacy goals, properties, constraints, and actor and process patterns within a social context. A real case study is employed to demonstrate the applicability of our work.

HTML

XML

PDF

]]>
Research Article Thu, 28 Jun 2012 00:00:00 +0300
Syntactic and Semantic Extensions to Secure Tropos to Support Security Risk Management https://lib.jucs.org/article/23234/ JUCS - Journal of Universal Computer Science 18(6): 816-844

DOI: 10.3217/jucs-018-06-0816

Authors: Raimundas Matulevičius, Haralambos Mouratidis, Nicolas Mayer, Eric Dubois, Patrick Heymans

Abstract: The need to consider security from the early stages of the development process of information systems has been argued by academics and industrialists alike, and security risk management has been recognised as one of the most prominent techniques for eliciting security requirements. However, although existing security modelling languages provide some means to model security aspects, they do not contain concrete constructs to address vulnerable system assets, their risks, and risk treatments. Furthermore, security languages do not provide a crosscutting viewpoint relating all three - assets, risks and risk treatments - together. This is problematic since, for a security analyst, it is difficult to detect what the potential security flaws could be, and how they need to be fixed. In this paper, we extend the Secure Tropos language, an agentand goal-oriented security modelling language to support modelling of security risks. Based on previous work, where we had observed some inadequacies of this language to model security risks, this paper suggests improvements of Secure Tropos semantics and syntax. On the syntax level we extend the concrete and abstract syntax of the language, so that it covers the security risk management domain. On the semantic level, we illustrate how language constructs need to be improved to address the three different levels of security risk management. The suggested improvements are illustrated with the aid of a running example, called eSAP, from the healthcare domain.

HTML

XML

PDF

]]>
Research Article Wed, 28 Mar 2012 00:00:00 +0300
A Relational Approach to Model Transformation with QVT Relations Supporting Model Synchronization https://lib.jucs.org/article/30026/ JUCS - Journal of Universal Computer Science 17(13): 1863-1883

DOI: 10.3217/jucs-017-13-1863

Authors: Kun Ma, Bo Yang, Ajith Abraham

Abstract: With the help of model transformation, it is possible to generate target models from source models. A possible way to face iterative development process with frequent modifications is to use not only a single transformation but also frequent model synchronization. In this paper, we propose a relational approach to model transformation using Query/View/Transformations (QVT) Relations language that also provides model synchronization mechanism based on the version of the models. The proposed framework uses a Platform-Independent Business Model (PIM-BM) and a Platform-Specific Business Component Model (PSM-BC) via the extension of the UML metamodel and MOF at different levels of abstraction, which sufficiently describe both the structural and behavioral properties of generic Web applications. Also we present the typical model mapping rules between PIM-BMs and PSM-BCs using QVT Relations. Finally the model synchronization based on the version of models is provided for the above model transformation approach.

HTML

XML

PDF

]]>
Research Article Thu, 1 Sep 2011 00:00:00 +0300
Positioning Theory, Roles and the Design and Implementation of Learning Technology https://lib.jucs.org/article/29988/ JUCS - Journal of Universal Computer Science 17(9): 1329-1346

DOI: 10.3217/jucs-017-09-1329

Authors: Mark Johnson, Dai Griffiths, Mi Wang

Abstract: The concept of social role is a fundamental underpinning of the design and implementation of a wide range of learning technologies. However, the roles that are designed into technologies often ill-fit the real roles of teachers, learners and other stakeholders in educational institutions. This can exacerbate problems in adoption as stakeholders do not recognise the roles described for them in the technology. In this paper, Positioning Theory is used to explore the relationship between role, social context and communication drawing on specific examples of IMS Learning Design, Virtual Learning Environments, and Personal Learning Environments. With insights gained from this analysis, recommendations are made for theoretical focus on understanding the particulars of practice and identification of specific technical issues of interoperability rather than designing technologies based on idealisations of the roles of stakeholders within institutions.

HTML

XML

PDF

]]>
Research Article Sun, 1 May 2011 00:00:00 +0300
Using the Affect Grid to Measure Emotions in Software Requirements Engineering https://lib.jucs.org/article/29985/ JUCS - Journal of Universal Computer Science 17(9): 1281-1298

DOI: 10.3217/jucs-017-09-1281

Authors: Ricardo Colomo-Palacios, Cristina Casado-Lumbreras, Pedro Soto-Acosta, Ángel García-Crespo

Abstract: Computer systems are designed and used by humans. And human being is characterized, among other things, by emotions. Giving this fact, the process of designing and developing computer systems is, like any other facet in our lives, driven by emotions. Requirements engineering is one of the main phases in software development. In Requirements engineering, several tasks include acceptance and negotiation activities in which the emotional factor represents a key role. This paper presents a study based on the application of affect grid by Russell in requirements engineering main stakeholders: developers and users. Results show that high arousal and low pleasure levels in the process are predictors of conflictive requirements.

HTML

XML

PDF

]]>
Research Article Sun, 1 May 2011 00:00:00 +0300
An Approach for Feature Modeling of Context-Aware Software Product Line https://lib.jucs.org/article/29936/ JUCS - Journal of Universal Computer Science 17(5): 807-829

DOI: 10.3217/jucs-017-05-0807

Authors: Paula Fernandes, Cláudia Maria Lima Werner, Eldanae Teixeira

Abstract: Feature modeling is an approach to represent commonalities and variabilities among products of a product line. Context-aware applications use context information to provide relevant services and information for their users. One of the challenges to build a context-aware product line is to develop mechanisms to incorporate context information and adaptation knowledge in a feature model. This paper presents UbiFEX, an approach to support feature analysis for context-aware software product lines, which incorporates a modeling notation and a mechanism to verify the consistency of product configuration regarding context variations. Moreover, an experimental study was performed as a preliminary evaluation, and a prototype was developed to enable the application of the proposed approach.

HTML

XML

PDF

]]>
Research Article Tue, 1 Mar 2011 00:00:00 +0200
Context-Aware Composition and Adaptation based on Model Transformation https://lib.jucs.org/article/29933/ JUCS - Journal of Universal Computer Science 17(5): 777-806

DOI: 10.3217/jucs-017-05-0777

Authors: Javier Cubo, Carlos Canal, Ernesto Pimentel

Abstract: Using pre-existing software components (COTS) to develop software systems requires the composition and adaptation of the component interfaces to solve mismatch problems. These mismatches may appear at different interoperability levels (signature, behavioural, quality of service and semantic). In this article, we define an approach which supports composition and adaptation of software components based on model transformation by taking into account the four levels. Signature and behavioural levels are addressed by means of transition systems. Context-awareness and semanticbased techniques are used to tackle quality of service and semantic, respectively, but also both consider the signature level. We have implemented and validated our proposal for the design and application of realistic and complex systems. Here, we illustrate the need to support the variability of the adaptation process in a context-aware pervasive system through a real-world case study, where software components are implemented using Windows Workflow Foundation (WF). We apply our model transformation process to extract transition systems (CA-STS specifications) from WF components. These CA-STSs are used to tackle the composition and adaptation. Then, we generate a CASTS adaptor specification, which is transformed into its corresponding WF adaptor component with the purpose of interacting with all the WF components of the system, thereby avoiding mismatch problems.

HTML

XML

PDF

]]>
Research Article Tue, 1 Mar 2011 00:00:00 +0200
The Iceberg Effect: Behind the User Interface of Mobile Collaborative Systems https://lib.jucs.org/article/29888/ JUCS - Journal of Universal Computer Science 17(2): 183-202

DOI: 10.3217/jucs-017-02-0183

Authors: Valeria Herskovic, Sergio Ochoa, José Pino, Andrés Neyem

Abstract: Advances in mobile technologies are opening new possibilities to support collaborative activities through mobile devices. Unfortunately, mobile collaborative systems have been difficult to conceive, design and implement. These difficulties are caused in part by their unclear requirements and developers’ lack of experience with this type of systems. However, several requirements involved in the collaborative back-end of these products are recurrent and should be considered in every development. This paper introduces a characterization of mobile collaboration and a framework that specifies a list of general requirements to be considered during the conception and design of a system in order to increase its probability of success. This framework was used in the development of two mobile collaborative systems, providing developers with a base of back-end requirements to aid system design and implementation. The systems were positively evaluated by their users.

HTML

XML

PDF

]]>
Research Article Fri, 28 Jan 2011 00:00:00 +0200
An MDA Approach for Goal-oriented Requirement Analysis in Web Engineering https://lib.jucs.org/article/29789/ JUCS - Journal of Universal Computer Science 16(17): 2475-2494

DOI: 10.3217/jucs-016-17-2475

Authors: José Aguilar, Irene Garrigós, Jose-Norberto Mazón, Juan Trujillo

Abstract: Web designers usually ignore how to model real user expectations and goals, mainly due to the large and heterogeneous audience of the Web. This fact leads to websites which are difficult to comprehend by visitors and complex to maintain by designers. In order to ameliorate this scenario, an approach for using the i* modeling framework in Web engineering has been developed in this paper. Furthermore, due to the fact that most of the existing Web engineering approaches do not consider how to derive conceptual models of the Web application from requirements analysis we also propose the use of MDA (Model Driven Architecture) in Web engineering for: (i) the definition of the requirements of a Web application in a Computational Independent Model (CIM), (ii) the description of Platform Independent Models (PIMs), and (iii) the definition of a set of QVT (Query/View/Transformation) transformations for the derivation of PIMs from requirements specification (CIM), thus to enable the automatic generation of Web applications. Finally, we include a sample of our approach in order to show its applicability and we describe a prototype tool as a proof of concept of our research.

HTML

XML

PDF

]]>
Research Article Wed, 1 Sep 2010 00:00:00 +0300
Toward an Integrated Tool Environment for Static Analysis of UML Class and Sequence Models https://lib.jucs.org/article/29784/ JUCS - Journal of Universal Computer Science 16(17): 2435-2454

DOI: 10.3217/jucs-016-17-2435

Authors: Wuliang Sun, Eunjee Song, Paul Grabow, Devon Simmonds

Abstract: There is a need for more rigorous analysis techniques that developers can use for verifying the critical properties in UML models. The UML-based Specification Environment (USE) tool supports verification of invariants, preconditions, and postconditions specified in the Object Constraint Language (OCL). Due to its animation and analysis power, it is useful when checking critical non-functional properties such as security policies. However, the USE requires one to specify a model using its own textual language and does not allow one to import any model specification files created by other UML modeling tools. Hence, you would create a model with OCL constraints using a modeling tool such as the IBM Rational Software Architect (RSA) and then use the USE for the model verification. This approach, however, requires a manual transformation between two different specification formats, which diminishes advantage of using tools for model-level verification. In this paper, we describe our own implementation of a specification transformation engine based on the Model-Driven Architecture (MDA) framework. Our approach currently supports automatic tool-level transformations to USE from UML modeling tools built on the Eclipse-based Modeling Framework (EMF).

HTML

XML

PDF

]]>
Research Article Wed, 1 Sep 2010 00:00:00 +0300
UML Behavior Models of Real-Time Embedded Software for Model-Driven Architecture https://lib.jucs.org/article/29783/ JUCS - Journal of Universal Computer Science 16(17): 2415-2434

DOI: 10.3217/jucs-016-17-2415

Authors: Jinhyun Kim, Jin-Young Choi, Insup Lee

Abstract: Model-Driven Architecture (MDA) presents a set of layered models to separate design concerns from platform concerns. The model executability for each model element is still challenging although MDA is currently able to cope with most syntactic and transformation definition issues. Moreover, the importance of rigorous specification and verification of the system is increasing, as the embedded software is more widely used for systems closely related to our life. Thus, this paper suggests behavior modeling views characterizing Platform-Independent Model (PIM) and Platform-Specific Model (PSM) behaviors and formal and verifiable models for them. In this, the PIM behavior is given from the view of the functionality of the software in Statecharts, whereas the PSM behavior is modeled from the view of a timed and resource-constrained behavior in TRoS, an extension of Statecharts in respect of time and resource constraints. Moreover, we provide an efficient way where PIM in Statecharts is transformed into PSM in TRoS. Using our approach, PIM and PSM behavior are captured in formal semantics for rigorous analysis in terms of system behavior, and the PSM behavior in TRoS is effectively and consistently obtained from the PIM behavior in Statecharts. We present a case study, in which safety-critical software for a railway control system is developed to show the feasibility of our approach.

HTML

XML

PDF

]]>
Research Article Wed, 1 Sep 2010 00:00:00 +0300
Developing a Secure Mobile Grid System through a UML Extension https://lib.jucs.org/article/29776/ JUCS - Journal of Universal Computer Science 16(17): 2333-2352

DOI: 10.3217/jucs-016-17-2333

Authors: David G. Rosado, Eduardo Fernández-Medina, Javier López, Mario Piattini

Abstract: The idea of developing software through systematic development processes to improve software quality is not new. Nevertheless, there are still many information systems such as those of Grid Computing which are not developed through methodologies that are adapted to their most differentiating features. A systematic development process for Grid systems that supports the participation of mobile nodes and incorporates security aspects into the entire software lifecycle will thus play a significant role in the development of systems based on Grid computing. We are creating a development process for the construction of information systems based on Grid Computing, which is highly dependent on mobile devices, in which security plays a highly important role. One of the activities in this process is that of analysis which is focused on ensuring that the system's security and functional requirements are elicited, specified and modelled. In our approach, this activity is driven by use cases and supported by the reusable repository. This obtains, builds, defines and refines the use cases of the secure Mobile Grid systems which represent the functional and non-functional requirements of this kind of systems. In this paper, we present the proposed development process through which we introduce the main aspects of the UML profile defined for building use case diagrams in the mobile Grid context through which it is possible to represent specific mobile Grid features and security aspects, showing in detail how to build use case diagrams for a real mobile Grid application by using our UML profile, denominated as GridUCSec-Profile.

HTML

XML

PDF

]]>
Research Article Wed, 1 Sep 2010 00:00:00 +0300
Configuration Process of a Software Product Line for AmI Middleware https://lib.jucs.org/article/29715/ JUCS - Journal of Universal Computer Science 16(12): 1592-1611

DOI: 10.3217/jucs-016-12-1592

Authors: Lidia Fuentes, Nadia Gámez

Abstract: Developing Ambient Intelligence applications is a very complex task since it implies dealing with low-level software and hardware resources. The use of a middleware platform may alleviate this task by providing a set of high-level and platform-independent services to these kinds of applications. Nevertheless, the tendency is that the middleware deployed in each device has a flat and homogeneous architecture, although these devices and the requirements of intelligence environments are heterogeneous. This implies the middleware software deployed in each device normally contains more functionality than strictly required, leading to waste resources so scarce in lightweight devices. But the configuration and deployment of a minimal middleware customized to a target platform is a complex task, due to the diversity of hardware and software present in devices and the variable requirements of ambient intelligence applications. In order to solve these shortcomings, we propose to customize the piece of software related to the middleware platform by using a Software Product Line engineering approach. This paper presents an innovative configuration process for a software product line for ambient intelligence middleware where a minimal set of high-level parameters needs to be specified. So, the software engineers for this kind of systems can automatically obtain customized middleware by simply specifying this high-level information.

HTML

XML

PDF

]]>
Research Article Mon, 28 Jun 2010 00:00:00 +0300
Ambient Intelligence: Beyond the Inspiring Vision https://lib.jucs.org/article/29704/ JUCS - Journal of Universal Computer Science 16(12): 1480-1499

DOI: 10.3217/jucs-016-12-1480

Authors: Rui José, Helena Rodrigues, Nuno Otero

Abstract: Ambient Intelligence (AmI) has emerged in the past 10 years as a multidisciplinary field within ubiquitous computing, attracting considerable research, funding and public attention and leading to many research groups, and conferences specifically focused on Ambient Intelligence topics. From its conception, AmI has always been a field strongly driven by a particular vision of how ICT technologies would shape our future. This has given the AmI vision, essentially as proposed by ISTAG, an excessively central role in shaping the field and setting its research agenda. We argue that this inspiring vision should no longer be the main driver for AmI research and that we should now re-interpret its role in the background of 10 years of research. In this paper, we reflect on what it means for AmI to move behind its foundational vision and we identify a number of emerging trends around some of its core concepts, more specifically the notion of intelligence, the system view and the requirements process. The main motivation is to search for alternative research directions that may be more effective in delivering today the essence of the AmI vision, even if they mean abandoning some of the currently prevailing approaches and assumptions. Overall, these trends provide a more holistic view of AmI and may represent important contributions for bringing this field closer to realisation, delivery and real social impact.

HTML

XML

PDF

]]>
Research Article Mon, 28 Jun 2010 00:00:00 +0300
ModelSec: A Generative Architecture for Model-Driven Security https://lib.jucs.org/article/29531/ JUCS - Journal of Universal Computer Science 15(15): 2957-2980

DOI: 10.3217/jucs-015-15-2957

Authors: Óscar Sánchez, Fernando Molina, Jesús García-Molina, Ambrosio Toval

Abstract: Increasingly, the success of software systems depends largely on how their security requirements are satisfied. However, developers are challenged in implementing these requirements, mainly because of the gap between the specification and implementation, and the technical complexities of the current software infrastructures. Recently, Model-Driven Security has emerged as a new software development area aimed at overcoming these difficulties. This new paradigm takes advantage of the benefits of the model driven software development techniques for modeling and implementing security concerns. Following this trend, this paper proposes a model driven security approach named ModelSec that offers a generative architecture for managing security requirements, from the requirement elicitation to the implementation stage. This architecture automatically generates security software artifacts (e.g. security rules) by means of a model transformation chain composed of two-steps. Firstly, a security infrastructure dependent model is derived from three models, which express the security restrictions, the design decisions and the information needed on the target platform. Then, security software artifacts are produced from the previously generated model. A Domain-Specific Language for security requirements management has been built, which is based on a metamodel specifically designed for this purpose. An application example that illustrates the approach and the Eclipse tools implemented to support it are also shown.

HTML

XML

PDF

]]>
Research Article Tue, 1 Sep 2009 00:00:00 +0300
Security Mechanisms and Access Control Infrastructure for e-Passports and General Purpose e-Documents https://lib.jucs.org/article/29355/ JUCS - Journal of Universal Computer Science 15(5): 970-991

DOI: 10.3217/jucs-015-05-0970

Authors: Pablo Najera, Francisc Moyano, Javier López

Abstract: Traditional paper documents are not likely to disappear in the near future as they are present everywhere in daily life, however, paper-based documentation lacks the link with the digital world for agile and automated processing. At the same time it is prone to cloning, alteration and counterfeiting attacks. E-passport defined by ICAO and implemented in 45 countries is the most relevant case of hybrid documentation (i.e. paper format with electronic capabilities) to date, but, as the advantages of hybrid documentation are recognized more and more will undoubtedly appear. In this paper, we present the concept and security requirements of general-use e-documents, analyze the most comprehensive security solution (i.e. ePassport security mechanisms) and its suitability for general-purpose e-documentation. Finally, we propose alternatives for the weakest and less suitable protocol from ePassports: the BAC (Basic Access Control). In particular, an appropriate key management infrastructure for access control to document memory is discussed in conjunction with a prototype implementation.

HTML

XML

PDF

]]>
Research Article Sun, 1 Mar 2009 00:00:00 +0200
On Defining the Behavior of OR-joins in Business Process Models https://lib.jucs.org/article/29290/ JUCS - Journal of Universal Computer Science 15(1): 3-32

DOI: 10.3217/jucs-015-01-0003

Authors: Egon Börger, Ove Sörensen, Bernhard Thalheim

Abstract: The recent literature on business process modeling notations contains numerous contributions to the so-called OR-join (or inclusive merge gateway) problem. We analyze the problem and present an approach to solve it without compromising any of the two major concerns that are involved: a) a clear semantical definition (design), which also clarifies what has to be implemented to achieve the intended generality of the construct, and b) a comprehensive set of static and dynamic analysis methods (verification of properties of business process models using the construct). We provide a conceptually simple scheme for dynamic OR-join synchronization policies, which can be implemented with low run-time overhead and allows the practitioner to effectively link the design of business process models with OR-joins to an analysis of the intended model properties. The definitions have been experimentally validated by a graph-based simulator.

HTML

XML

PDF

]]>
Research Article Thu, 1 Jan 2009 00:00:00 +0200
Formal Action Semantics for a UML Action Language https://lib.jucs.org/article/29270/ JUCS - Journal of Universal Computer Science 14(21): 3608-3624

DOI: 10.3217/jucs-014-21-3608

Authors: Mikai Yang, Greg Michaelson, Rob Pooley

Abstract: The abstract syntax and static semantics of UML, the widely-used generalpurpose graphical modeling language, have been standardized in a four-layer metamodeling framework. However UML's dynamic semantics, such as UML Precise Action Semantics and the behaviors like activities, interactions and state machines, are only standardized in a natural language-English. It is commonly argued that such informal description inevitably involves ambiguities and lacks rigorousness, precluding the early simulation and reasoning about a UML system design. Here we select Action Semantics (AS) as the vehicle to formalize UML. AS is a mature semantics description framework which has advantages of intelligibility, modularity and practicability. In our approach, we formalize UML indirectly by formalizing its textual correspondent-an extended Action Language, which plays a key role as the interface between UML and its action semantics.

HTML

XML

PDF

]]>
Research Article Mon, 1 Dec 2008 00:00:00 +0200
CTML: Domain and Task Modeling for Collaborative Environments https://lib.jucs.org/article/29229/ JUCS - Journal of Universal Computer Science 14(19): 3188-3201

DOI: 10.3217/jucs-014-19-3188

Authors: Maik Wurdel, Daniel Sinnig, Peter Forbrig

Abstract: A precise model of the behavioral dynamics is a necessary precondition for the development of collaborative environments. In this paper we present a specification framework for collaborative environments. In particular we highlight the interplay of task specifications and domain models. The framework consists of two components: A formal specification language (called CTML) and the tool CTML Editor and Simulator. CTML has a precisely defined syntax and semantics and is designed to model actors, roles, collaborative tasks and their dependency and impact on the domain. The CTML Editor and Simulator is an Eclipse IDE for the interactive creation and simulation of CTML specifications.

HTML

XML

PDF

]]>
Research Article Sat, 1 Nov 2008 00:00:00 +0200
Composition and Run-time Adaptation of Mismatching Behavioural Interfaces https://lib.jucs.org/article/29129/ JUCS - Journal of Universal Computer Science 14(13): 2182-2211

DOI: 10.3217/jucs-014-13-2182

Authors: Javier Cámara, Gwen Salaün, Carlos Canal

Abstract: Reuse of software entities such as components or Web services raise composition issues since, most of the time, they present mismatches in their interfaces. These mismatches may appear at different interoperability levels: signature, behaviour, quality of service and semantics. The behavioural level is crucial and behavioural mismatches must all be corrected, although this is a difficult task. So far, most adaptation approaches which deal with behavioural mismatches work on a fixed description of components where all ports involved in their interfaces are known at design-time. Here, we focus on systems in which composition is affected by run-time behaviour of the system. This is the case in pervasive systems where a client interacts with a specific service by using new communication channels dynamically created. These are of special interest to allow private interaction between several entities. In this article, we define a behavioural model inspired by the ss-calculus to specify behavioural interfaces of components. Our model is particularly suitable for creating new channels dynamically, also taking concurrent behaviours into account. The dynamic nature of the systems we are dealing with obliges to apply adaptation at run-time, avoiding at the same time the costly generation of full descriptions of adaptors. The main contribution of this article is an adaptation engine that allows the dynamic creation of channels and applies at run-time a composition specification built at designtime. All the underlying formal foundations of our proposal have been implemented in a prototype tool that has been applied to system designs. Aspect-Oriented Programming has been studied as well, as a way to implement our engine for further application to real software components.

HTML

XML

PDF

]]>
Research Article Tue, 1 Jul 2008 00:00:00 +0300
Modularizing Theorems for Software Product Lines: The Jbook Case Study https://lib.jucs.org/article/29119/ JUCS - Journal of Universal Computer Science 14(12): 2059-2082

DOI: 10.3217/jucs-014-12-2059

Authors: Don Batory, Egon Börger

Abstract: A goal of software product lines is the economical assembly of programs in a family of programs. In this paper, we explore how theorems about program properties may be integrated into feature-based development of software product lines. As a case study, we analyze an existing Java/JVM compilation correctness proof for defining, interpreting, compiling, and executing bytecode for the Java language. We show how features modularize program source, theorem statements and their proofs. By composing features, the source code, theorem statements and proofs for a program are assembled. The investigation in this paper reveals a striking similarity of the refinement concepts used in Abstract State Machines (ASM) based system development and Feature-Oriented Programming (FOP) of software product lines. We suggest to exploit this observation for a fruitful interaction of researchers in the two communities.

HTML

XML

PDF

]]>
Research Article Sat, 28 Jun 2008 00:00:00 +0300
ASMs in Service Oriented Architectures https://lib.jucs.org/article/29118/ JUCS - Journal of Universal Computer Science 14(12): 2034-2058

DOI: 10.3217/jucs-014-12-2034

Authors: Michael Altenhofen, Andreas Friesen, Jens Lemcke

Abstract: We give a survey on work we did in the past where we have successfully applied the ASM methodology to provide abstract models for a number of problem areas that are commonly found in Service Oriented Architectures (SOA). In particular, we summarize our work on (1) service behavior mediation, (2) service discovery, and (3) service composition, showing that the corresponding solutions can be described as variations of a fundamental abstract processing model—the Virtual Provider.

HTML

XML

PDF

]]>
Research Article Sat, 28 Jun 2008 00:00:00 +0300
The Timed Abstract State Machine Language: Abstract State Machines for Real-Time System Engineering https://lib.jucs.org/article/29117/ JUCS - Journal of Universal Computer Science 14(12): 2007-2033

DOI: 10.3217/jucs-014-12-2007

Authors: Martin Ouimet, Kristina Lundqvist

Abstract: In this paper, we present the Timed Abstract State Machine (TASM) language, which is a language for the specification of embedded real-time systems. In the engineering of embedded real-time systems, the correctness of the system is defined in terms of three aspects - function, time, and resource consumption. The goal of the TASM language and its associated toolset is to provide a basis for specification-based real-time system engineering where these three aspects can be specified and analyzed. The TASM language is built on top of Abstract State Machines (ASM) by including facilities for compact and legible specification of non-functional behavior, namely time and resource consumption. The TASM language provides a notation which is well-suited to the specification needs of embedded real-time systems. We begin the presentation of the language with a historical survey on the use of ASM in specifying real-time systems. The core difference between the TASM language and ASM is that steps are inherently durative instead of being instantaneous and steps consume resources. These concepts capture the reality of physical systems in a flexible abstract model. We present the syntax and semantics of the language and illustrate the concepts using an extended version of the production cell case study.

HTML

XML

PDF

]]>
Research Article Sat, 28 Jun 2008 00:00:00 +0300
Simulation of Timed Abstract State Machines with Predicate Logic Model-Checking https://lib.jucs.org/article/29112/ JUCS - Journal of Universal Computer Science 14(12): 1984-2006

DOI: 10.3217/jucs-014-12-1984

Authors: Anatol Slissenko, Pavel Vasilyev

Abstract: We describe a prototype of a simulator for reactive timed abstract state machines (ASM) that checks whether the generated runs verify a requirements specification represented as a formula of a First Order Timed Logic (FOTL). The simulator deals with ASM with continuous or discrete time. The time constraints are linear inequalities. It can treat two semantics, one with instantaneous actions and another one with delayed actions, the delays being bounded and non-deterministic.

HTML

XML

PDF

]]>
Research Article Sat, 28 Jun 2008 00:00:00 +0300
A Metamodel-based Language and a Simulation Engine for Abstract State Machines https://lib.jucs.org/article/29110/ JUCS - Journal of Universal Computer Science 14(12): 1949-1983

DOI: 10.3217/jucs-014-12-1949

Authors: Angelo Gargantini, Elvinia Riccobene, Patrizia Scandurra

Abstract: In this paper, we present a concrete textual notation, called AsmetaL, and a general-purpose simulation engine, called AsmetaS, for Abstract State Machine (ASM) specifications. They have been developed as part of the ASMETA (ASMs mETAmodelling) toolset, which is a set of tools for ASMs based on the metamodelling approach of the Model-driven Engineering. We briefly present the ASMETA framework, and we discuss how the language and the simulator have been developed exploiting the advantages offered by the metamodelling approach. We introduce the language AsmetaL used to write ASM specifications, and we provide the AsmetaL encoding of ASM specifications of increasing complexity. We explain the AsmetaS architecture, its kernel engine, and how the simulator works within the ASMETA tool set. We discuss the features currently supported by the simulator and how it has been validated.

HTML

XML

PDF

]]>
Research Article Sat, 28 Jun 2008 00:00:00 +0300
ASM Refinement Preserving Invariants https://lib.jucs.org/article/29108/ JUCS - Journal of Universal Computer Science 14(12): 1929-1948

DOI: 10.3217/jucs-014-12-1929

Authors: Gerhard Schellhorn

Abstract: This paper gives a definition of ASM refinement suitable for the verification that a protocol implements atomic transactions. We used this definition as the basis of the formal verification of the refinements of the Mondex case study with the interactive theorem prover KIV. The refinement definition we give differs from the one we gave in earlier work which preserves partial and total correctness assertions of ASM runs. The reason is that the main goal of the refinement of the Mondex protocol is to preserve a security invariant, while total correctness is not preserved. To preserve invariants, the definition of generalized forward simulation is limited to the use of "small" diagrams, which contain of a single protocol step. We show a technique that allows to use the natural "big" diagrams that consist of an atomic action being refined by a full protocol run.

HTML

XML

PDF

]]>
Research Article Sat, 28 Jun 2008 00:00:00 +0300
Development of Ambient Intelligence Systems Based on Collaborative Task Models https://lib.jucs.org/article/29072/ JUCS - Journal of Universal Computer Science 14(9): 1545-1559

DOI: 10.3217/jucs-014-09-1545

Authors: Roberto Arroyo, Miguel Gea, José Garrido, Pablo Haya

Abstract: So far, the Ambient Intelligence (AmI) paradigm has been applied to the development of a great variety of real systems. They use advanced technologies such as ubiquitous computing, natural interaction and active spaces, which become part of social environments. In the design of AmI systems, the inherent collaboration among users (with the purpose of achieving common goals) is usually represented and treated in an ad-hoc manner. However, the development of this kind of systems can take advantage of rich design models which embrace concepts in the domain of collaborative systems in order to provide the adequate support for explicit or implicit collaboration. Thereby, relevant requirements to be satisfied, such as an effective coordination of human activities by means of task scheduling, demand to dynamically manage and provide group- and context-awareness information. This paper addresses the integration of both proactive and collaborative aspects into a unique design model for the development of AmI systems; in particular, the proposal has been applied to a learning system. Furthermore, the implementation of this system is based on a blackboard- based architecture, which provides a well-defined high-level interface to the physical layer.

HTML

XML

PDF

]]>
Research Article Thu, 1 May 2008 00:00:00 +0300
CIAM: A Methodology for the Development of Groupware User Interfaces https://lib.jucs.org/article/29061/ JUCS - Journal of Universal Computer Science 14(9): 1435-1446

DOI: 10.3217/jucs-014-09-1435

Authors: Ana Molina, Miguel Redondo, Manuel Ortega Cantero, H. Hoppe

Abstract: The design of the groupware systems is a progressively extended task, which is difficult to tackle. There are not proposals to support the joint modeling of collaborative and interactive issues of this kind of systems, that is, proposals that allow designing the presentation layer of these applications. In order to solve this lack we propose a methodological approach, based on a set of notations of both a graphical and a textual nature.

HTML

XML

PDF

]]>
Research Article Thu, 1 May 2008 00:00:00 +0300
LIFT - A Legacy InFormation Retrieval Tool https://lib.jucs.org/article/29046/ JUCS - Journal of Universal Computer Science 14(8): 1256-1284

DOI: 10.3217/jucs-014-08-1256

Authors: Kellyton dos Santos Brito, Vinícius Garcia, Eduardo De Almeida, Silvio Romero de Lemos Meira

Abstract: Nowadays software systems are essential to the environment of most organizations, and their maintenance is a key point to support business dynamics. Thus, reverse engineering legacy systems for knowledge reuse has become a major concern in software industry. This article, based on a survey about reverse engineering tools, discusses a set of functional and non-functional requirements for an effective tool for reverse engineering, and observes that current tools only partly support these requirements. In addition, we define new requirements, based on our group’s experience and industry feedback, and present the architecture and implementation of LIFT: a Legacy InFormation retrieval Tool, developed based on these demands. Furthermore, we discuss the compliance of LIFT with the defined requirements. Finally, we applied the LIFT in a reverse engineering project of a 210KLOC NATURAL/ADABAS system of a financial institution and analyzed its effectiveness and scalability, comparing data with previous similar projects performed by the same institution.

HTML

XML

PDF

]]>
Research Article Mon, 28 Apr 2008 00:00:00 +0300
Experimenting the Automated Selection of COTS Components Based on Cost and System Requirements https://lib.jucs.org/article/29043/ JUCS - Journal of Universal Computer Science 14(8): 1228-1255

DOI: 10.3217/jucs-014-08-1228

Authors: Vittorio Cortellessa, Ivica Crnkovic, Fabrizio Marinelli, Pasqualina Potena

Abstract: In a component-based development process the selection of components is an activity that takes place over multiple lifecycle phases that span from requirement specifications through design to implementation and integration. In different phases, different assumptions are valid and different granularity of information is available, which has a consequence that different procedure should be used in the selection process and an automated tool support for an optimized component selection would be very helpful in each phase. In this paper we analyze the assumptions and propose the selection procedure in the requirements phase. The selection criterion is based on cost minimization of the whole system while assuring a certain degree of satisfaction of the system requirements that can be considered before designing the whole architecture. For the selection and optimization procedure we have adopted the DEER (DEcision support for componEnt-based softwaRe) framework, previously developed to be used in the selection process in the design phase. The output of DEER indicates the optimal combination of single COTS (Commercial-Off-The-Shelf) components and assemblies of COTS that satisfy the requirements while minimizing costs. In a case study we illustrate the selection and optimization procedure and an analysis of the model sensitivity to changes in the requirements.

HTML

XML

PDF

]]>
Research Article Mon, 28 Apr 2008 00:00:00 +0300
From Theoretical e-Barter Models to Two Alternative Implementations Based on Web Sevices https://lib.jucs.org/article/28921/ JUCS - Journal of Universal Computer Science 13(13): 2035-2075

DOI: 10.3217/jucs-013-13-2035

Authors: Mario Bravetti, Adalberto Casalboni, Manuel Núñez, Ismael Rodriguez

Abstract: An e-barter system is an e-commerce environment where transactions do not necessarily involve money. They are multi-agent systems where agents perform exchanges of rewources on behlaf of their respective users. Besides, their strucutre is based on a tree of markets. In this paper we show how to develop suitable designs for this kind of systems by means of web services by using WS-BPEL. Since the formal specification abstracts most practical details, the development of such design definition requires to face several challenges. We present two alternative designs that both comply with the formal specification.

HTML

XML

PDF

]]>
Research Article Fri, 28 Dec 2007 00:00:00 +0200
A First Step Mapping IMS Learning Design and Moodle https://lib.jucs.org/article/28817/ JUCS - Journal of Universal Computer Science 13(7): 924-931

DOI: 10.3217/jucs-013-07-0924

Authors: Daniel Burgos, Colin Tattersall, Martin Dougiamas, Hubert Vogten, Rob Koper

Abstract: Mapping the specification IMS Learning Design and the Course Management System Moodle is a logical step forward on interoperability between eLearning systems and specifications in order to increase the best acceptance of the specifications into the widespread world of the eLearning systems and to ensure the standardization of the outputs from the systems to be used in others. IMS Learning Design and Moodle look for a common understanding focused on the integration of information packages modelled by each part in the other. The final goal aims at Moodle playing an IMS LD package. A second step will map a Moodle course to be used in any IMS LD complaint tool. The Unit of Learning in IMS LD and the course in Moodle become the perfect couple where to find several elements that should match each other. This paper shows how to make this understanding, mapping related elements in both to get a list of pairs easy to translate from one to another, and to define also a list of requirements for this protocol.

HTML

XML

PDF

]]>
Research Article Sat, 28 Jul 2007 00:00:00 +0300
CML: C Modeling Language https://lib.jucs.org/article/28796/ JUCS - Journal of Universal Computer Science 13(6): 682-700

DOI: 10.3217/jucs-013-06-0682

Authors: Frederico Jr., Ricardo Lima, Marcio Cornelio, Sergio Soares, Paulo Maciel, Raimundo Barreto, Eduardo Tavares

Abstract: Non-functional requirements such as performance, program size, and energy consumption significantly affect the quality of software systems. Small devices like PDAs and mobile phones have little memory, slow processors, and energy constraints. The C programming language has been the choice of many programmers when developing application for small devices. On the other hand, the need for functional software correctness has derived several specification languages that adopt the Design by Contract (DBC) technique. In this work we propose a specification language for C, called CML (C Modeling Language), focused on non-functional requirements. CML is inspired on the Design By Contract technique. An additional contribution is a verification tool for hard real-time systems. The tool is the first application developed for CML. The practical usage of CML is presented through a case study, which is a real application for a vehicle monitoring system.

HTML

XML

PDF

]]>
Research Article Thu, 28 Jun 2007 00:00:00 +0300
Building Immersive Conversation Environment Using Locomotive Interactive Character https://lib.jucs.org/article/28731/ JUCS - Journal of Universal Computer Science 13(2): 149-160

DOI: 10.3217/jucs-013-02-0149

Authors: Rai Chan, Junichi Hoshino

Abstract: Generating composite human motion such as locomotion and gestures is important for interactive applications, such as interactive storytelling and computer games. In interactive story environments, CG characters do not merely stand in one position. Rather, they should be able to compose gestures and locomotion based on the discourse of the story and the locations of objects in the scene. Thus, in the present paper, we propose a conversational locomotion model for CG character. We constructed a conversational locomotion network for a virtual environment. A multi-path searching algorithm calculates the optimal walking path, which uses node activation from the story locations and conversation units. The CG character also locally adjusts its position so that it does not block the referenced object from the user’s sight. We have applied the proposed technique to an interactive 3D movie system and have demonstrated composite motion of the locomotion and conversation of a CG character, which improves the immersion of the viewer in the story environment.

HTML

XML

PDF

]]>
Research Article Wed, 28 Feb 2007 00:00:00 +0200
A Formal Architectural Description Language based on Symbolic Transition Systems and Temporal Logic https://lib.jucs.org/article/28716/ JUCS - Journal of Universal Computer Science 12(12): 1741-1782

DOI: 10.3217/jucs-012-12-1741

Authors: Pascal Poizat, Jean-Claude Royer

Abstract: Component Based Software Engineering has now emerged as a discipline for system development. After years of battle between component platforms, the need for means to abstract away from specific implementation details is now recognized. This paves the way for model driven approaches (such as the OMG MDA) but also for the more older Architectural Description Language (ADL) paradigm. In this paper we present Korrigan, a true ADL (in the [MT00] sense), which provides interesting features: fully formal behaviours and data types, expressive component gluing mechanisms through the use of temporal logic, yet ensuring the specification readability thanks to graphical notations.

HTML

XML

PDF

]]>
Research Article Thu, 28 Dec 2006 00:00:00 +0200
Analyzing Module Diversity https://lib.jucs.org/article/28490/ JUCS - Journal of Universal Computer Science 11(10): 1613-1644

DOI: 10.3217/jucs-011-10-1613

Authors: Alexandre Bergel, Stéphane Ducasse, Oscar Nierstrasz

Abstract: Each object­oriented programming language proposes various grouping mechanisms to bundle interacting classes (i.e., packages, modules, selector namespaces, etc). To understand this diversity and to compare the different approaches, a common foundation is needed. In this paper we present a simple module calculus consisting of a small set of operators over environments and modules. Using these operators, we are then able to specify a set of module combinators that capture the semantics of Java packages, C# namespaces, Ruby modules, selector namespaces, gbeta classes, classboxes, MZScheme units, and MixJuice modules. We develop a simple taxonomy of module systems, and show how particular combinations of module operators help us to draw sharp distinctions between classes of module systems that share similar characteristics.

HTML

XML

PDF

]]>
Research Article Fri, 28 Oct 2005 00:00:00 +0300
From Algebras to Objects: Generation and Composition https://lib.jucs.org/article/28489/ JUCS - Journal of Universal Computer Science 11(10): 1580-1612

DOI: 10.3217/jucs-011-10-1580

Authors: A. Cruz, Luís Barbosa, José Oliveira

Abstract: This paper addresses objectification, a formal specification technique which inspects the potential for object-orientation of a declarative model and brings the 'implicit objects' explicit. Criteria for such objectification are formalized and implemented in a runnable prototype tool which embeds Vdm-sl into Vdm++. The paper also includes a quick presentation of a (coinductive) calculus of such generated objects, framed as generalised Moore machines.

HTML

XML

PDF

]]>
Research Article Fri, 28 Oct 2005 00:00:00 +0300
Checking Consistency between UML Class and State Models Based on CSP and B https://lib.jucs.org/article/28320/ JUCS - Journal of Universal Computer Science 10(11): 1540-1558

DOI: 10.3217/jucs-010-11-1540

Authors: W. Yeung

Abstract: The B Abstract Machine Notation (AMN) and the notation of Communicating Sequential Processes (CSP) have previously been applied to formalise the UML class and state diagrams, respectively. This paper discusses their integrated use in checking the consistency between the two kinds of UML diagrams based on some recent results of research in integrated formal methods. Through a small information system example, the paper illustrates a clear-cut separation of concerns in employing the two formal methods. Of particular interest is the treatment of recursive calls within a single class of objects.

HTML

XML

PDF

]]>
Research Article Sun, 28 Nov 2004 00:00:00 +0200
FBT: A Tool for Applying Interval Logic Specifications to On-the-fly Model Checking https://lib.jucs.org/article/28316/ JUCS - Journal of Universal Computer Science 10(11): 1498-1518

DOI: 10.3217/jucs-010-11-1498

Authors: Miguel Hornos

Abstract: This paper presents the FBT (FIL to Buechi automaton Translator) tool which automatically translates any formula from FIL (Future Interval Logic) into its semantically equivalent Buechi automaton. There are two advantages of using this logic for specifying and verifying system properties instead of other more traditional and extended temporal logics, such as LTL (Linear Temporal Logic): firstly, it allows a succinct construction of specific temporal contexts, where certain properties must be evaluated, thanks to its key element, the interval, and secondly, it also permits a natural, intuitive, graphical representation. The underlying algorithm of the tool is based on the tableau method and is specially intended for application in on-the-fly model checking. In addition to a description of the design and implementation structure of FBT, we also present some experimental results obtained by our tool, and compare these results with the ones produced by an other tool of similar characteristics (i.e. based on an on-the-fly tableau algorithm), but for LTL.

HTML

XML

PDF

]]>
Research Article Sun, 28 Nov 2004 00:00:00 +0200
Architectural Abstraction as Transformation of Poset Labelled Graphs https://lib.jucs.org/article/28310/ JUCS - Journal of Universal Computer Science 10(10): 1408-1428

DOI: 10.3217/jucs-010-10-1408

Authors: Mark Denford, Andrew Solomon, John Leaney, Tim Neill

Abstract: The design of large, complex computer based systems, based on their architecture, will benefit from a formal system that is intuitive, scalable and accessible to practitioners. The work herein is based in graphs which are an efficient and intuitive way of encoding structure, the essence of architecture. A model of system architectures and architectural abstraction is proposed, using poset labelled graphs and their transformations. The poset labelled graph formalism closely models several important aspects of architectures, namely topology, type and levels of abstraction. The technical merits of the formalism are discussed in terms of the ability to express and use domain knowledge to ensure sensible refinements. An abstraction / refinement calculus is introduced and illustrated with a detailed usage scenario. The paper concludes with an evaluation of the formalism in terms of its rigour, expressiveness, simplicity and practicality.

HTML

XML

PDF

]]>
Research Article Thu, 28 Oct 2004 00:00:00 +0300
Requirements Negotiation Using Multi-Criteria Preference Analysis https://lib.jucs.org/article/28210/ JUCS - Journal of Universal Computer Science 10(4): 306-325

DOI: 10.3217/jucs-010-04-0306

Authors: Hoh In, David Olson

Abstract: Many software projects have failed because their requirements were poorly negotiated among stakeholders. Reaching agreements of negotiated requirements among stakeholders who have different concerns, responsibilities, and priorities is quite challenging. Formal (fully-automated) approaches of requirements negotiation require significant efforts of knowledge representation and validation, whereas informal (manual) approaches do not provide systematic methods of requirements negotiation. This paper proposes a novel light-weighted, yet systematic requirements negotiation model, called "Multi-Criteria Preference Analysis Requirements Negotiation (MPARN)" to guide stakeholders to evaluate, negotiate, and agree upon alternatives among stakeholders using multi-criteria preference analysis theory. This eight-step MPARN model was applied to requirements gathered for an industrial-academic repository system. The result showed that the MPARN model assisted stakeholders to have unbiased aspects within a requirements negotiation in a light-weighted way and increase stakeholders' levels of cooperation and trust by measuring each stakeholder's preference and value function explicitly through a step-by-step process.

HTML

XML

PDF

]]>
Research Article Wed, 28 Apr 2004 00:00:00 +0300
Monitoring Temporal Logic Specifications Combined with Time Series Constraints https://lib.jucs.org/article/28128/ JUCS - Journal of Universal Computer Science 9(11): 1261-1276

DOI: 10.3217/jucs-009-11-1261

Authors: Doron Drusinsky, Man-Tak Shing

Abstract: Run-time monitoring of temporal properties and assertions is used for testing and as a component of execution-based model checking techniques. Traditional run-time monitoring however, is limited to observing sequences of pure Boolean propositions. This paper describes tools for observing temporal properties over time series, namely, sequences of propositions with constraints on data value changes over time. Using such Temporal Logic with time Series (TLS), it is possible to monitor important properties such as stability, monotonicity, temporal average and sum values, and temporal min/max values. The specification and monitoring of linear time temporal logic with real-time and time series constraints are supported by the Temporal Rover and the DBRover, which are in-process and remote run-time monitoring tools. The novel TLS extension described in this paper is based on practical experience and feedback provided by NASA engineers after using the DBRover to verify flight code. The paper also presents a novel hybrid approach to verify timing properties in rapid system prototyping that combines the traditional schedulability analysis of the design and the monitoring of timing constraint satisfaction during prototype execution based on a time-series temporal logic. The effectiveness of the approach is demonstrated with a prototype of the fish farm control system software.

HTML

XML

PDF

]]>
Research Article Fri, 28 Nov 2003 00:00:00 +0200
An Inoteroperability Testing Approach to Wireless Applications Protocols https://lib.jucs.org/article/28125/ JUCS - Journal of Universal Computer Science 9(10): 1220-1243

DOI: 10.3217/jucs-009-10-1220

Authors: Ousmane Koné

Abstract: Internet services can now be used from mobile terminals. The main standard supporting this technology, WAP, will enable new services since it is compatible with network technologies like IP and UMTS. In parallel, powerful methods must be proposed to validate the underlying protocols in order to guaratee reliability and interoperability of new products. Our work, based on formal methods, contributes to WAP testing efforts by proposing an approach to the development of interoperability tests. We illustrate this approach with the design of tests suites for the WSP-protocol operating over a WAP transaction service.

HTML

XML

PDF

]]>
Research Article Tue, 28 Oct 2003 00:00:00 +0200
HOL-Z 2.0: A Proof Environment for Z-Specifications https://lib.jucs.org/article/27933/ JUCS - Journal of Universal Computer Science 9(2): 152-172

DOI: 10.3217/jucs-009-02-0152

Authors: Achim Brucker, Frank Rittinger, Burkhart Wolff

Abstract: We present a new proof environment for the specification language Z. The basis is a semantic representation of Z in a structure-preserving, shallow embedding in Isabelle/HOL. On top of the embedding, new proof support for the Z schema calculus and for proof structuring are developed. Thus, we integrate Z into a well-known and trusted theorem prover with advanced deduction technology such as higher-order rewriting, tableaux-based provers and arithmetic decision procedures. A further achievement of this work is the integration of our embedding into a new tool-chain providing a Z-oriented type checker, documentation facilities and macro support for refinement proofs, as a result, the gap has been closed between a logical embedding proven correct and a tool suited for applications of nontrivial size.

HTML

XML

PDF

]]>
Research Article Fri, 28 Feb 2003 00:00:00 +0200
Moby/RT: A Tool for Specification and Verification of Real-Time Systems https://lib.jucs.org/article/27929/ JUCS - Journal of Universal Computer Science 9(2): 88-105

DOI: 10.3217/jucs-009-02-0088

Authors: Ernst-Rüdiger Olderog, Henning Dierks

Abstract: The tool Moby/RT supports the design of realtime systems at the levels of requirements, design specifications and programs. Requirements are expressed by constraint diagrams [Kleuker, 2000], design specifications by PLC-Automata [Dierks, 2000], and programs by Structured Text, a programming language dedicated for programmable logic controllers (PLCs), or by programs for LEGO Mindstorm robots. In this paper we outline the theoretical background of Moby/RT by discussing its semantic basis and its use for automatic verification by utilising the model-checker UPPAAL [Larsen et al., 1997].

HTML

XML

PDF

]]>
Research Article Fri, 28 Feb 2003 00:00:00 +0200
Modelling Agents as Observable Sources https://lib.jucs.org/article/27872/ JUCS - Journal of Universal Computer Science 8(4): 423-452

DOI: 10.3217/jucs-008-04-0423

Authors: Mirko Viroli, Andrea Omicini

Abstract: Observation is a fundamental interaction pattern in today's computer-based systems. Adopting observation as the main modelling criterion, computer-based systems can be represented as composed by three class of entities: observers, observables (or sources), and coordinators, that is, the entities managing the observer/source interaction. Also, agents and agent societies are fundamental abstractions in modelling today's complex systems. When exploiting observation in the context of agent-based systems, the most natural interpretation for agents is to see them as either observers or coordinators. However, their situatedness and autonomy, their peculiar perception and representation of the environment, and their typical ability to infer new knowledge - in short, their individual viewpoint over the world -, make agents suitable for an interpretation as observable sources. Accordingly, this paper discusses the implications of using observation to model agent systems, and focuses on the interpretation of agents as observables. A formal framework is developed where multiagent systems are modelled as the composition of agents interacting by observing each other and by mutually affecting their observable behaviour.

HTML

XML

PDF

]]>
Research Article Sun, 28 Apr 2002 00:00:00 +0300
An Abstract State Machine Specification and Verification of the Location Consistency Memory Model and Cache Protocol https://lib.jucs.org/article/27838/ JUCS - Journal of Universal Computer Science 7(11): 1088-1112

DOI: 10.3217/jucs-007-11-1088

Authors: Charles Wallace, Guy Tremblay, Jose Amaral

Abstract: We use the Abstract State Machine methodology to give formal operational semantics for the Location Consistency memory model and cache protocol. With these formal models, we prove that the cache protocol satisfies the memory model, but in a way that is strictly stronger than necessary, disallowing certain behavior allowed by the memory model.

HTML

XML

PDF

]]>
Research Article Wed, 28 Nov 2001 00:00:00 +0200
A Neural Abstract Machine https://lib.jucs.org/article/27834/ JUCS - Journal of Universal Computer Science 7(11): 1006-1023

DOI: 10.3217/jucs-007-11-1006

Authors: Egon Börger, Diego Sona

Abstract: In an attempt to capture the fundamental features that are common to neural networks, we define a parameterized Neural Abstract Machine (NAM) in such a way that the major neural networks in the literature can be described as natural extensions or refinements of the NAM. We illustrate the refinement for feedforward networks with back-propagation training. The NAM provides a platform and programming language independent basis for a comparative mathematical and experimental analysis and evaluation of different implementations of neural networks. We concentrate our attention here on the computational core (Neural Kernel NK) and provide abstract interfaces for the other NAM components.

HTML

XML

PDF

]]>
Research Article Wed, 28 Nov 2001 00:00:00 +0200
Verification of ASM Refinements Using Generalized Forward Simulation https://lib.jucs.org/article/27832/ JUCS - Journal of Universal Computer Science 7(11): 952-979

DOI: 10.3217/jucs-007-11-0952

Authors: Gerhard Schellhorn

Abstract: This paper describes a generic proof method for the correctness of refinements of Abstract State Machines based on commuting diagrams. The method generalizes forward simulations from the refinement of I/O automata by allowing arbitrary m:n diagrams, and by combining it with the refinement of data structures.

HTML

XML

PDF

]]>
Research Article Wed, 28 Nov 2001 00:00:00 +0200
"Bagatelle in C arranged for VDM SoLo" https://lib.jucs.org/article/27816/ JUCS - Journal of Universal Computer Science 7(8): 754-781

DOI: 10.3217/jucs-007-08-0754

Authors: José Oliveira

Abstract: This paper sketches a reverse engineering discipline which combines formal and semi-formal methods. Central to the former is denotational semantics, expressed in the ISO/IEC 13817-1 standard specification language (VDMSL). This is strengthened with algebra of programming, which is applied in "reverse order" so as to reconstruct formal specifications from legacy code. The latter include code slicing, a "shortcut" which trims down the complexity of handling the formal semantics of all program variables at the same time. A key point of the approach is its constructive style. Reverse calculations go as far as absorbing auxiliary variables, introducing mutual recursion (if applicable) and reversing semantic denotations into standard generic programming schemata such as cata/paramorphisms. The approach is illustrated for a small piece of code already studied in the code-slicing literature: Kernighan and Richtie's word count C programming "bagatelle".

HTML

XML

PDF

]]>
Research Article Tue, 28 Aug 2001 00:00:00 +0300
Test-Design through Abstraction - A Systematic Approach Based on the Refinement Calculus https://lib.jucs.org/article/27814/ JUCS - Journal of Universal Computer Science 7(8): 710-735

DOI: 10.3217/jucs-007-08-0710

Authors: Bernhard Aichernig

Abstract: This article discusses the calculation of test-cases for interactive systems. A novel approach is presented that treats the problem of test-case synthesis as a formal abstraction problem. It is shown that test-cases can be viewed as formal contracts and that such test-cases are in fact abstractions of requirements specifications. The refinement calculus of Back and von Wright is used to formulate abstraction rules for calculating correct test-cases from a formal specification. The advantage of this abstraction approach is that simple input-output test-cases, as well as testing scenarios can be handled. Furthermore, different testing strategies like partition testing and mutation testing can be formulated in one theory.

HTML

XML

PDF

]]>
Research Article Tue, 28 Aug 2001 00:00:00 +0300
Ten Years of Historical Development "Bootstrapping" VDMTools https://lib.jucs.org/article/27813/ JUCS - Journal of Universal Computer Science 7(8): 692-709

DOI: 10.3217/jucs-007-08-0692

Authors: Peter Larsen

Abstract: This article provides a historical overview of a decade of the development of the IFAD VDM Toolboxes commonly referred to as VDMTools. All along, the existing tools have been used in the development of new major components. This kind of "bootstrapping " approach where a CASE tool is developed by taking ""its own medicine" is seldom used. However, we believe that this approach is important to be able to better understand what the most important improvements are for the users in practice. This article also describes how the different components have been maintained by a changing development team. We feel that the decisions we have made regarding the parts of the tool which have been formally specified and the parts which have been developed conventionally may provide valuable input for others considering the use of formal specification. The overall organisation of the development environment may also be interesting for other developers.

HTML

XML

PDF

]]>
Research Article Tue, 28 Aug 2001 00:00:00 +0300
Correctness of Efficient Real-Time Model Checking https://lib.jucs.org/article/27773/ JUCS - Journal of Universal Computer Science 7(2): 194-209

DOI: 10.3217/jucs-007-02-0194

Authors: Wolfgang Reif, Gerhard Schellhorn, Tobias Vollmer, Jürgen Ruf

Abstract: In this paper we describe the formal specification and verification of an efficient algorithm based on bitvectors for real-time model checking with the KIV system. We demonstrate that the verification captures the essentials of the C++ algorithm as implemented in the RAVEN model checker. Verification revealed several possibilities to reduce the size of the code and to improve its efficiency.

HTML

XML

PDF

]]>
Research Article Wed, 28 Feb 2001 00:00:00 +0200
The Coalgebraic Class Specification Language CCSL https://lib.jucs.org/article/27772/ JUCS - Journal of Universal Computer Science 7(2): 175-193

DOI: 10.3217/jucs-007-02-0175

Authors: Jan Rothe, Hendrik Tews, Bart Jacobs

Abstract: This paper presents the Coalgebraic Class Specification Language CCSL that is developed within the loop project on formal methods for object-oriented languages. CCSL allows the (coalgebraic) specification of behavioral types and classes of object-oriented languages. It uses higher-order logic with universal modal operators to restrict the behavior of objects. A front-end to the theorem provers pvs [ORR + 96] and ISABELLE [Pau94] compiles CCSL specifications into the logic of these theorem provers and allows to mechanically reason about the specifications.

HTML

XML

PDF

]]>
Research Article Wed, 28 Feb 2001 00:00:00 +0200
DisCo Toolset - The New Generation https://lib.jucs.org/article/27761/ JUCS - Journal of Universal Computer Science 7(1): 3-18

DOI: 10.3217/jucs-007-01-0003

Authors: Timo Aaltonen, Mika Katara, Risto Pitkänen

Abstract: Formal methods have been considered one possible solution to the so-called software crisis. Tools are valuable companions to formal methods: they assist in analysis and understanding of formal specifications and enable the use of rigorous techniques in industrial projects. In this paper, an overview of the new DisCo toolset is given. DisCo is a formal specification method for reactive and distributed systems. It focuses on collective behaviour of objects and provides a refinement mechanism that preserves safety properties. The toolset currently includes a compiler, a graphical animation tool, and a scenario tool for representing execution traces as Message Sequence Charts. A prototype verification back-end based on the PVS theorem prover also exists, and a model checking back-end based on Kronos as well as code generation facilities have been planned. In this paper, the operation of the DisCo toolset is illustrated by applying it to an example specification describing a simple cash-point service system.

HTML

XML

PDF

]]>
Research Article Sun, 28 Jan 2001 00:00:00 +0200
Some Elements of Z Specification Style: Structuring Techniques https://lib.jucs.org/article/27747/ JUCS - Journal of Universal Computer Science 6(12): 1203-1225

DOI: 10.3217/jucs-006-12-1203

Authors: Anthony Macdonald, David Carrington

Abstract: This article investigates the issue of structuring Z specifications. It uses examples from a large specification (the production cell) to examine both conventions for using Z and notational extensions, including Object-Z. Because of the importance of good structure within a specification, specifiers need to be aware of a range of structuring techniques and understand where each is applicable.

HTML

XML

PDF

]]>
Research Article Thu, 28 Dec 2000 00:00:00 +0200
A Survey of Formal Methods Applied to Leader Election in IEEE 1394 https://lib.jucs.org/article/27738/ JUCS - Journal of Universal Computer Science 6(11): 1145-1163

DOI: 10.3217/jucs-006-11-1145

Authors: Savi Maharaj, Carron Shankland

Abstract: We present a survey of formal specification techniques applied to the Tree Identify Protocol of the IEEE 1394 High Performance Serial Bus 1 . Specifications written in a variety of formalisms are compared with regard to a number of criteria including expressiveness, readability, standardisation, and level of analysis.

HTML

XML

PDF

]]>
Research Article Tue, 28 Nov 2000 00:00:00 +0200
Nondeterministic Admissible Interference https://lib.jucs.org/article/27728/ JUCS - Journal of Universal Computer Science 6(11): 1054-1070

DOI: 10.3217/jucs-006-11-1054

Authors: John Mullins

Abstract: In this article we address the issue of confidentiality of information in the context of downgrading systems i.e. systems admitting information flow between secrecy levels only through a downgrader. Inspired by the intuition underlying the usual definition of admissible information flow, we propose an analogue based on trace equivalence as developed in the context of concurrency theory and on a modification of the usual definition of purge function. We also provide unwinding conditions to guarantee a consistent and complete proof method in terms of communicating transition systems. We take advantage of this framework to investigate its compositionality issues w.r.t. the main operators over communicating transition systems. We conclude the article with a short presentation of this work s most promising aspects in the perspective of future developments.

HTML

XML

PDF

]]>
Research Article Tue, 28 Nov 2000 00:00:00 +0200
Requirements Capture and Evaluation in Nimbus: The Light-Control Case Study https://lib.jucs.org/article/27699/ JUCS - Journal of Universal Computer Science 6(7): 731-757

DOI: 10.3217/jucs-006-07-0731

Authors: Jeffrey Thompson, Michael Whalen, Mats P. E. Heimdahl

Abstract: Evaluations of methods and tools applied to a reference problem are useful when comparing various techniques. In this paper, we present a solution to the challenge of capturing the requirements for the Light Control System case study, which was proposed before the Dagstuhl Seminar on Requirements Capture, Documentation, and Validation in June of 1999. The paper focuses primarily on how the requirements were specified: what techniques were used, and what the results were. The language used to capture the requirements is RSML-e; a state-based specification language with a fully specified formal denotational semantics. In addition, the Nimbus environment - a toolset supporting RSML-e - is used to visualize and execute the high-level requirements.

HTML

XML

PDF

]]>
Research Article Fri, 28 Jul 2000 00:00:00 +0300
Incremental Development of Real-Time Requirements: The Light Control Case Study https://lib.jucs.org/article/27696/ JUCS - Journal of Universal Computer Science 6(7): 704-730

DOI: 10.3217/jucs-006-07-0704

Authors: Graeme Smith, Colin Fidge

Abstract: System requirements frequently change while the system is still under development. Usually this means going back and revising the requirements specification and redoing those development steps already completed. In this article we show how formal requirements can be allowed to evolve while system development is in progress, without the need for costly redevelopment. This is done via a formalism which allows requirements engineering steps to be interleaved with formal development steps in a manageable way. The approach is demonstrated by a significant case study, the Light Control System.

HTML

XML

PDF

]]>
Research Article Fri, 28 Jul 2000 00:00:00 +0300
Application of the FOREST Approach to the Light Control Case Study https://lib.jucs.org/article/27695/ JUCS - Journal of Universal Computer Science 6(7): 679-703

DOI: 10.3217/jucs-006-07-0679

Authors: Martin Kronenburg, Christian Peper

Abstract: Forest is a requirements engineering approach designed to support the creation of precise and intelligible problem specifications of reactive systems. It integrates a product model, a process model, and an editing tool. In this paper, we present the results of applying the Forest approach to the Light Control Case Study. This includes the presentation of excerpts of the resulting problem specification, as well as the discussion of the strengths and shortcomings of the Forest approach.

HTML

XML

PDF

]]>
Research Article Fri, 28 Jul 2000 00:00:00 +0300
Applying the SCR Requirements Method to the Light Control Case Study https://lib.jucs.org/article/27693/ JUCS - Journal of Universal Computer Science 6(7): 650-678

DOI: 10.3217/jucs-006-07-0650

Authors: Constance Heitmeyer, Ramesh Bharadwaj

Abstract: To date, the SCR (Software Cost Reduction) requirements method has been used in industrial environments to specify the requirements of many practical systems, including control systems for nuclear power plants and avionics systems. This paper describes the use of the SCR method to specify the requirements of the Light Control System (LCS), the subject of a case study at the Dagstuhl Seminar on Requirements Capture, Documentation, and Validation in June 1999. It introduces a systematic process for constructing the LCS requirements specification, presents the specification of the LCS in the SCR tabular notation, discusses the tools that we applied to the LCS specification, and concludes with a discussion of a number of issues that arose in developing the specification.

HTML

XML

PDF

]]>
Research Article Fri, 28 Jul 2000 00:00:00 +0300
Analyzing the Light Control System with PVS https://lib.jucs.org/article/27692/ JUCS - Journal of Universal Computer Science 6(7): 621-649

DOI: 10.3217/jucs-006-07-0621

Authors: Adriaan De Groot, Jozef Hooman

Abstract: The interactive theorem prover PVS is used to formalize the user needs of the Light Control system. First the system is modeled at a high level of abstraction, in terms of properties the user can observe. After resolving ambiguities and conflicts, a refinement is defined, using dimmable light actuators. Correctness of the refinement has been proved in PVS, under the assumption that there are no internal delays. Next these internal delays are taken into account, leading to a new notion of delay-refinement which allows abstraction from delays such that systems with delays can be seen as an approximation of an undelayed specification.

HTML

XML

PDF

]]>
Research Article Fri, 28 Jul 2000 00:00:00 +0300
Capturing Requirements by Abstract State Machines: The Light Control Case Study https://lib.jucs.org/article/27688/ JUCS - Journal of Universal Computer Science 6(7): 597-620

DOI: 10.3217/jucs-006-07-0597

Authors: Egon Börger, Elvinia Riccobene, Joachim Schmid

Abstract: We show how to capture informally stated requirements by an ASM (Abstract State Machine) model. The model removes the inconsistencies, ambiguities and incomplete parts in the informal description without adding details which belong to the subsequent software design. Such models are formulated using application-domain-oriented terminology and standard software engineering notation and bridge the gap between the application-domain and the system design views of the underlying problem in a reliable and practical way, avoiding any formal overhead. The basic model architecture reflects the three main system parts, namely for the manual and automatic light control and for handling failures and services. We refine the ground model into a version that is executable by AsmGofer and can be used for high-level simulation, test and debugging purposes.

HTML

XML

PDF

]]>
Research Article Fri, 28 Jul 2000 00:00:00 +0300
A Decision Method for Duration Calculus https://lib.jucs.org/article/27612/ JUCS - Journal of Universal Computer Science 5(11): 743-764

DOI: 10.3217/jucs-005-11-0743

Authors: Nathalie Chetcuti-Sperandio, Luis Fariñas del Cerro

Abstract: The Duration Calculus is an interval logic introduced for designing real-time systems. This calculus is able to capture important real-time problems like the specification of the behaviours of schedulers and classical examples like a gas burner. From a practical point of view an important challenge becomes to define automated proof procedures for this calculus. Since the propositional calculus is undecidable, we are interested then into isolating decidable fragments of this calculus. A first fragment was given and its decidability proved via regular languages. In this paper we isolate another fragment and we define a tableau method which gives a natural procedure to decide whether a given formula is satisfiable. This fragment is strong enough to embed Allen's Interval Algebra.

HTML

XML

PDF

]]>
Research Article Sun, 28 Nov 1999 00:00:00 +0200
Abstract State Machine Semantics of SDL https://lib.jucs.org/article/27446/ JUCS - Journal of Universal Computer Science 3(12): 1382-1414

DOI: 10.3217/jucs-003-12-1382

Authors: Uwe Glaesser, Rene Karges

Abstract: Based on the ITU-T Recommendation Z.100 [27]---also known as SDL-92--- we define a formal semantic model of the dynamic properties of Basic SDL in terms of an abstract SDL machine. More precisely, we use the concept of multi-agent realtime ASM [17] as a semantic platform on top of which we construct our mathematical description. The resulting interpretation model is not only mathematically precise but also reflects the common understanding of SDL in a direct and intuitive manner; it provides a concise and understandable representation of the complete dynamic semantics of Basic SDL. Moreover, the model can easily be extended and modified---a particularly important issue for an evolving technical standard. In this article, we consider all relevant aspects concerning the behavior of channels, processes and timers with respect to signal transfer operations and timer operations. The model we obtain is intended as a basis for formal documentation as well as for executable high-level SDL specifications.

HTML

XML

PDF

]]>
Research Article Sun, 28 Dec 1997 00:00:00 +0200
Refining an ASM Specification of the Production Cell to C++ Code https://lib.jucs.org/article/27365/ JUCS - Journal of Universal Computer Science 3(5): 666-688

DOI: 10.3217/jucs-003-05-0666

Authors: Luca Mearelli

Abstract: We present here the transformation to C++ code of the refined ASM mode l for the production cell developed in the paper "Integrating ASMs into the Softw are Development Life Cycle" (see this volume) which serves as program documentation. This implementation is a refinement step and produces code which has been valida ted through extensive experimentation with the production cell simulator of FZI Karlsruhe.

HTML

XML

PDF

]]>
Research Article Wed, 28 May 1997 00:00:00 +0300
Integrating ASMs into the Software Development Life Cycle https://lib.jucs.org/article/27364/ JUCS - Journal of Universal Computer Science 3(5): 603-665

DOI: 10.3217/jucs-003-05-0603

Authors: Egon Börger, Luca Mearelli

Abstract: In this paper we show how to integrate the use of Gurevich s Abstract State Machines (ASMs) into a complete software development life cycle. We present a structured software engineering method which allows the software engineer to control efficiently the modular development and the maintenance of well documented, formally inspectable and smoothly modifiable code out of rigorous ASM models for requirement specifications. We show that the code properties of interest (like correctness, safety, liveness and performance conditions) can be proved at high levels of abstraction by traditional and reusable mathematical arguments which-where needed-can be computer verified. We also show that the proposed method is appropriate for dealing in a rigorous but transparent manner with hardware-software co-design aspects of system development. The approach is illustrated by developing a C ++ program for the production cell control problem posed in [Lewerentz, Lindner 95]. The program has been validated by extensive experimentation with the FZI production cell simulator in Karlsruhe and has been submitted for inspection to the Dagstuhl seminar on "Practical Methods for Code Documentation and Inspection" (May 1997).

HTML

XML

PDF

]]>
Research Article Wed, 28 May 1997 00:00:00 +0300
Montages Specifications of Realistic Programming Languages https://lib.jucs.org/article/27359/ JUCS - Journal of Universal Computer Science 3(5): 416-442

DOI: 10.3217/jucs-003-05-0416

Authors: Philipp Kutter, Alfonso Pierantonio

Abstract: Montages are a new way of describing all aspects of programming languages formally. Such specifications are intelligible for a broad range of people involved in programming language design and use. In order to enhance readability we combine visual and textual elements to yield specifications similar in structure, length, and complexity to those in common language manuals, but with a formal semantics. The formal semantics is based on Gurevich's Abstract State Machines (formerly called Evolving Algebras).

HTML

XML

PDF

]]>
Research Article Wed, 28 May 1997 00:00:00 +0300