- Research Article
93
- 10.1016/j.jda.2007.06.003
Petri net modelling of biological regulatory networks
- Jun 09, 2007
- Journal of Discrete Algorithms
- Claudine Chaouiya + 2 more +2
Petri net modelling of biological regulatory networks
Verification and validation are becoming the most important activities in software engineering because of the stronger need to ensure and enhance quality. The system designers need to ensure the conformance of models with the functionalities of a target system and the correctness, safeness and reliability of its operating cycles. Many formal methods have been promoted to support such tasks and Petri nets formalism seems to be one of the most relevant one to evaluate control properties. But it lacks of structuration facilities to allow to handle large scale systems. The aim of this paper is to show that, for some guidelines, Petri nets can be integrated in usual object-oriented software methodologies in order to evaluate such properties. Hence, one can profit from contributions of both object and nets to handle quality in systems in a more satisfactory way.KeywordsObject MethodologyPetri NetsControl PropertiesVerification & Validation
Petri net modelling of biological regulatory networks
Petri net modelling of biological regulatory networks
Detection of Duplicate Defect Reports Using Natural Language Processing
Defect reports are generated from various testing and development activities in software engineering. Sometimes two reports are submitted that describe the same problem, leading to duplicate reports. These reports are mostly written in structured natural language, and as such, it is hard to compare two reports for similarity with formal methods. In order to identify duplicates, we investigate using natural language processing (NLP) techniques to support the identification. A prototype tool is developed and evaluated in a case study analyzing defect reports at Sony Ericsson mobile communications. The evaluation shows that about 2/3 of the duplicates can possibly be found using the NLP techniques. Different variants of the techniques provide only minor result differences, indicating a robust technology. User testing shows that the overall attitude towards the technique is positive and that it has a growth potential.
Read moreOperational Management of Supply Chains: A Hybrid Petri Net Approach
The emergence of Supply Chains (SCs) is an outcome of the recent advances in logistics and information technology. SCs are complex networks interconnecting different independent manufacturing and logistics companies integrated with material, information and financial flows (Viswanadham & Raghavan, 2000). Typically, SC management decisions are classified into three hierarchical levels according to the time horizon of decisions: strategic (longterm), tactical (medium-term), and operational (short-term, real-time) (Chopra & Meindl, 2001; Shapiro, 2001). Accordingly, different models have to be defined at each level of the decision hierarchy to describe the multiple aspects of the SC. While the development of formal models for SC design at strategic and tactical levels was addressed in the related literature (Dotoli et al., 2005; Dotoli et al., 2006; Gaonkar & Viswanadham, 2001; Luo et al., 2001; Vidal & Goetschalckx, 1997; Viswanadham & Gaonkar, 2003), research efforts are lagging behind in the subject of modeling and analyzing the SC operational performance. At the operational level, SCs can be viewed as Discrete Event Dynamical Systems (DEDSs), whose dynamics depends on the interaction of discrete events, such as customer demands, departure of parts or products from entities, arrival of transporters at facilities, start of assembly operations at manufacturers, arrival of finished goods at customers etc (Viswanadham & Raghavan, 2000). Among the available DEDS analytical formalisms, Petri Nets (PNs) may be singled out as a graphical and mathematical technique to model systems concurrency and synchronization. Moreover, PNs are able to capture precedence relations and structural interactions and may be executed in standard engineering software packages simply implementing their dynamics via the corresponding matrix equations. However, most SC models based on PNs proposed in the related literature share the limitation that products are modelled by means of discrete quantities, called tokens (Desrochers et al., 2005; Dotoli & Fanti, 2005; Elmahi et al., 2003; Viswanadham & Raghavan, 2000; Von Mevius & Pibernik, 2004; Wu & O’Grady, 2005). This assumption is not realistic in large systems with a huge amount of material flow: the state space of the SC model generally turns out to be excessively large, so that inconveniences in the simulation and performance optimization often arise, leading to large computational efforts. Since SCs are DEDSs whose number of reachable states is very large, PN formalisms using fluid approximations provide an
Read moreProceedings of the 1st International Workshop on Test Oracles
Welcome to the first edition of the International Workshop on Test Oracles (TORACLE 2021) to be held virtually on August 24, 2021, co-located with the ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2021). Testing is an important activity in software engineering, especially with the growing adoption of software systems in safety-critical domains. Testing research, however, is mostly focused on determining which test inputs to use (e.g., proposing and evaluating test coverage criteria or automatic test generation tools). Regardless of the used coverage criterion, we need to know whether a given program executes correctly on a given input. Indeed, a test execution for which we cannot discriminate between success or failure is fruitless. This corresponds to the so-called ”oracle problem”, the problem of knowing whether a program behaves correctly for a specific input. While the importance of the oracle problem is well understood, only a few alternatives exist to manually deriving test oracles. This makes test oracle automation one of the main bottlenecks for full test automation. Therefore, novel approaches and tools are needed to address this important problem.
Read moreRecognizing eye tracking traits for source code review
Source code review is a core activity in software engineering where a reviewer examines the code with the intention of finding bugs in the program. A lot of research has been carried out in understanding how software engineers perform code comprehension; however contribution of eye tracking traits seems to have not been addressed. This paper outlines a study conducted in an industrial environment of software engineers. It focused on understanding the visual attention of subjects with programming skills and subjects without programming skills and recognize the eye tracking traits required for source code review. The results indicate a significant difference in gaze behaviors of these groups. The key aspects of subjects with programming skills while source code review are required to have certain eye tracking traits like better code coverage, attention span on error lines and comments.
Read moreModeling and simulation of a complete semiconductor manufacturing facility using Petri nets
Most studies employing Petri nets in semiconductor manufacturing model only one specific area (e.g. etching) in detail, and model the rest of the manufacturing process, e.g. by abstract input/output behavior. In our study, we show the feasibility of using Petri nets for modeling the complete production process. We use the first set of test data provided by the MASM-LAB, Arizona State University. It is a process of a two-product system making non-volatile memory chips. For modeling, we use our own tool PSim, which is based on a combined queuing and Petri net formalism. The integration of queues makes the modeling of parts waiting in front of a machine quite concise and intuitive. PSim offers a hierarchical and modular modeling approach, which is especially feasible for large and complex systems. We use the modular approach by once defining the structure of a machine as Petri net and then instantiating as many machines as needed. Then we model the operators, resources and the movement of parts between the machines as specified in the production plan. As a result, we can state that Petri nets are feasible for modeling a complete semiconductor manufacturing process.
Read moreHybrid modeling and verification of Java based software
From the very beginning, notions such as bisimulation and formal methods like temporal logic HML or mu-Calculs were closely connected with process algebra CCS. Another formal method that is widely used for similar purposes is Petri nets formalism. The presented paper shows how the model given in the form of a Petri net could be transformed into an equivalent algebraic model. Some practical application of this method to the analysis of Java based software will be discussed.
Read moreSoftware engineering under deadline pressure
Good software engineering methodology can be rendered ineffective by the presence of deadline pressure. A simple model is developed to explain the possible responses to deadline pressure and to show that there is a tendency to divert resources away from software engineering activities under such conditions. Management is identified as being responsible for ensuring that software engineering activities are given adequate resources. A managerial strategy for achieving these ends is suggested.
Read moreSpecial Issue on Search‐Based Software Maintenance
Search-based software engineering (SBSE) consists of the application of metaheuristic search techniques—such as genetic algorithms, simulated annealing, hill climbing, and tabu search—to software engineering problems. This idea is based on the observation that some software engineering activities can be thought of as optimization problems, and on the fact that techniques providing exact solutions are, very often, unable to adequately scale to large, real-world software engineering problems. Define fitness functions to guide an automated search for solutions, rather than attempting to construct solutions from scratch by hand. SBSE moves the engineer up the abstraction chain, from the tedious and expensive role of detailed solution construction, to the potentially more productive and more cost-effective area of fitness function design. This approach has been repeatedly demonstrated to have successful applications across the software engineering life cycle from requirements and project planning to maintenance and testing. This special issue focuses on applications of search SBSE to the maintenance phase of the life cycle. After software testing 2, software maintenance is the most widely studied application area for SBSE research. Work on SBSE applications to problems in software maintenance can be traced back to the pioneering work of the Mancoridis et al. 3, which led to the development of the Bunch tool for software re-modularization 4. In the past five years there has been a significant increase in SBSE applications to software maintenance and evolution. Search-based techniques have been applied to post-development code improvement problems, such as object-oriented refactoring 5, 6, and imperative language slicing and transformation 7. Other applications are related to software engineering economics and project management problems, such as release planning 8-12, effort, and cost estimation 13-16, and project staffing and planning 17-20. Last, but not the least, SBSE has been applied to deal with service-oriented architectures, for example for services QoS-aware composition 21, service-level agreement negotiation 22, and testing 23. A complete overview of SBSE with a discussion of future research trends can be found in the recent International Conference on Software Engineering (ICSE) ‘Future of Software Engineering’ paper 24. This issue of the Journal of Software Maintenance and Evolution: Research and Practice features three outstanding papers, dealing with different aspects of software maintenance and evolution: release planning and staffing, re-factoring, and component substitution. The paper ‘Optimized Staffing for Product Releases—Focused Search and its Application at Chartwell Technologies’ by Puneet Kapur, An Ngo-The, Günther Ruhe, and Andrew Smith presents an approach for optimizing the staffing for product releases. The problem they solve can be viewed as part of the more general release planning problem, which assigns features to releases such that technical, resource, risk, and budget constraints are met. In particular, the genetic search-based approach the authors propose aims at assigning human resources to software development tasks, taking them from a pool of developers having different levels of skills. The applicability of the proposed approach is demonstrated with an industrial case study. The paper ‘Search-Based Refactoring: an Empirical Study’ by Mark O'Keffe and Mel Ó Cinnéide presents an approach to automatically re-factor, using search-based techniques, object-oriented systems that undergo repeated addition of functionality. Such addition can, very often, deteriorate the quality of the system's underlying design. Their re-factoring is guided by the QMOOD quality model 25, and the paper compares different optimization techniques, such as Genetic Algorithms, Simulated Annealing, and Multiple Ascent Hill-Climbing. The results of experiments carried out on five software systems suggest that the latter technique outperforms the others. The paper ‘Search-based Many-to-one Component Substitution’ by Nicolas Desnos, Marianne Huchard, Guy Tremblay, Christelle Urtado, and Sylvain Vauttier presents a search-based approach that allows the replacement of an obsolete component with a composition of multiple components. When a component becomes obsolete, the approach searches for a minimal assembly of other components, exposing their functionality by means of ports that preserves the behavior of the original component. The proposed approach has been evaluated on a set of randomly generated components. We hope that readers will enjoy this special issue and find the selected papers insightful and inspiring. We would like to thank all the authors who presented papers for this special issue: there were many good quality papers, but unfortunately we could accept only three of them. Last, but not the least, we would like to thank the reviewers who provided timely, detailed and constructive feedbacks to the authors. Without their precious help this special issue would not have been possible.
Read moreDevelopment of a plastic injection molding training system using Petri nets and virtual reality
In this study, Virtual Reality (VR)-based plastic injection molding training system (VPIMTS), which can be modeled as an integrated system with a task planning module, an intelligent instruction module, a simulation module, and virtual environment (VE) module, was developed. Presented in this paper are an architecture of VPIMTS, a practical knowledge modelling approach for modelling the training scenarios of the system by using Petri nets formalism and key techniques (FEM, injection molding procedure modelling) which have been developed independently. The utilization of the Petri net model realized the environment where the trainee can behave freely, and also made it possible to equip the system with the function of showing the next action of the trainee whenever he wants. The overall system is a powerful approach for highly improving the trainee’s comprehension and injection molding study-efficiency by building digital, intelligent, knowledgeable, and visual aids.
Read moreRM2EIS: A Tool for Auto-Generation of EIS from Requirements Model
Enterprise information systems(EIS) focus on dealing with the complex business logic of collecting, filtering, processing, and distributing data for improving productivity and service in our daily life. The successful development of enterprise information system is the labor-intensive activities in software engineering, it requires the sophisticated human efforts for requirements validation, system design, implementation and verification. Our previous work RM2PT can help to achieve a validated requirements model through automatically generating prototypes from requirements models to support incremental and rapid requirements validation. In this paper, we present a tool named RM2EIS to further alleviate the problem of system development by supporting automatically generate the back-end source code of enterprise information system from the validated requirements model, which are achieved by several round requirements validation in RM2PT. We demonstrate that RM2EIS can achieve higher quality code (+8.27%) with less time cost (-61.92%) than the manual development through 9 case studies. Overall, the results were satisfactory. The proposed approach can be further extended and applied for the EIS development in the software industry. The tool can be downloaded at https://rm2pt.com/advs/rm2eis and a demo video casting its features is available at https://www.youtube.com/watch?v=5Nde-JYezg4.
Read moreSurvey of Software Development Effort Estimation Techniques
Software development effort estimation is one of the most crucial activities in software engineering. Effort estimation permits managers and software engineers to anticipate, forecast, and precisely quote the schedule, budget and manpower requirements. By accurately estimating the effort; software projects can be saved from under run or over run. In this paper we have summarized and then analyzed the past work of software effort estimation in a systematic way. 10 researches were surveyed and explained briefly that how they are contributing towards solving the effort estimation problem in terms of time, cost or test. It also emphasizes that various effort estimation models have different pros and cons and can be used in different context on basis of different types of historical data. The survey discovered the most popular models used for effort prediction are supervised learning algorithms. The trends identified through this survey can help in exploring the potential research areas.
Read moreChange Impact Study by Bayesian Networks
The study of change impact is a fundamental activity in software engineering because it can be used to plan changes, set them up and to predict or detect their effects on the system and try to reduce them. Various methods have been presented in the literature for this sector of maintenance. The objective of this project is to improve the maintenance of Object Oriented (OO) systems and to intervene more specifically in the task of analyzing and predicting the change impact. Among several models of representation, Bayesian Networks (BNs) constitute a particular quantitative approach that can integrate uncertainty in reasoning and offering explanations close to reality. Furthermore, with the BNs, it is also possible to use expert judgments to anticipate the predictions, about the change impact in our case. In this paper, we propose a probabilistic approach to determine the change impact in OO systems. This prediction is given in a form of probability.
Read moreSymbolic Model Checking of Security Protocols for Ad hoc Networks on any Topologies
Petri nets have proved their effectiveness in modeling and formal verification of a large number of applications: control systems, communication protocols, application workflows, hardware design, etc. In the present days, one important focus of computer science is on security and secure communications. The use of Petri nets for verifying security properties is not a mature field due to a lack of convenient modeling and verification capabilities. So far, in the Petri Net field there is only CPN Tools that is mature enough for modeling, using the colored Petri nets formalism. Nevertheless such verifications cannot be performed on large systems as CPN Tools is based on an exhaustive way of computing the semantics of a model. In this paper we present the use of AlPiNA, another candidate for this task. AlPiNA is a symbolic model checker that uses the formalism of algebraic Petri nets. We have used it successfully for modeling ad hoc networks and for verifying security protocols designed for this type of networks. As a case study and benchmark we have chosen the ARAN secure routing protocol. We managed to find all the attacks that were already reported for this protocol. To our knowledge this work is also the first successful attempt to use Petri nets for model checking the security properties of ad hoc networks protocols.
Read moreArtificial intelligence and software engineering
Software Engineering is a knowledge-intensive activity, requiring extensive knowledge of the application domain and of the target software itself. Many Software Engineering costs can be attributed to the ineffectiveness of current techniques for managing this knowledge, and Artificial Intelligence techniques can help alleviate this situation. More than two decades of research have led to many significant theoretical results, but few demonstrations of practical utility. This is due in part to the amount and diversity of knowledge required by Software Engineering activities, and in part to the fact that much of the research has been narrowly focused, missing many issues that are of great practical importance. Important issues that remain to be addressed include the representation and use of domain knowledge and the representation of the design and implementation history of a software system. If solutions to these issues are found, and experiments in practical situations are successful, the implications for the practice of Software Engineering will be profound, and radically different software development paradigms will become possible.
Read more