Testing of model-driven development applications
Human resource management practices are key for the success of software development projects. Practices that promote knowledge sharing and organizational learning are positively related to development---effort curves, and thus software companies are looking for different alternatives oriented to promoting these practices. The model-driven development (MDD) paradigm is positioned as one of the best alternatives for reutilization of development knowledge. In particular, this paradigm considers the specification of conceptual models that can be used as input for automatic code generation to different target platforms. However, testing of applications developed through MDD solutions is still performed by the manual definition and execution of test cases by testers, which negatively impacts in the time reduction obtained from automatic code generation and the reutilization of knowledge generated during the MDD project execution. To address this issue, this paper presents a testing approach that automatically generates executable test cases for software developed by using MDD technologies.
- Research Article
17
- 10.1108/ijoa-07-2015-0887
- Sep 5, 2016
- International Journal of Organizational Analysis
PurposeThe purpose of this paper is to conceptualize and empirically test the impact of strategic human resource management (HRM) practices on learning outcomes and also to examine whether this relationship is contingent on knowledge strategy in a sample of knowledge-intensive firms like software companies in India.Design/methodology/approachData were collected through a questionnaire, and the software companies were chosen based on the listing in the NASSCOM annual report. A total of 32 companies participated in this research study, and the survey was conducted in two phases.FindingsThe universalistic approach revealed that organizational learning outcomes can be enhanced by focusing on specific individual HRM practices. Also, the fit between HRM practices and knowledge strategy revealed that the interaction effect between individual and knowledge strategy have had an increased impact on the learning outcomes.Practical implicationsHRM practices can be aligned to the targeted knowledge strategy of the organization and maximize specific organizational learning outcome to achieve sustained competitive advantage. Knowledge-intensive firms can measure their knowledge strategy and gauge whether it is complemented with HRM practices for better tangible and intangible outcomes.Originality/valueThe proposed model can benefit the firms to analyse the extent of contribution of HRM practices towards the organizational learning process. It also helps to understand how an organization can be productive by focusing on specific learning outcomes and establishing a tighter link between the select individual HRM practices and the defined knowledge strategy.
- Conference Article
11
- 10.1145/1639950.1640049
- Oct 25, 2009
The relationships between project managers' individual characteristics and the success of the projects do not receive enough attentions in the software engineering researches. However, as the core member of a software development team, the project manager's leadership level influences the development process in a great part. The existing literatures have shown the importance of individual's personality to his or her behaviors, which include the leadership behaviors certainly. Therefore, exploring how the project managers' personality influences the success of the software development projects has significant potential utility. In this paper, we present a research to integrate the Five Factor Model (FFM) for the personality with the existing work on the leaderships with the project success. Through the empirical study based on data from 116 real software projects, we found general support for our hypothesized research model. The results not only reveal that the five big personality factors can be treated as indicators for the success of the software development projects, but also provide the evidence on how the project managers' personality influences the success of the software development projects through medium effects of the leadership. The support for the relationship between leadership and the success of software development projects is also found.
- Conference Article
27
- 10.1109/esem.2009.5316012
- Oct 1, 2009
As the core member in a software development team, the project manager's leadership level influences the development process in a great part. The existing literatures have shown the importance of individual's personality to his or her behaviors, which include the leadership behaviors. Exploring how the project managers' personality influences the success of the software development projects has significant potential utility. In this paper, we present a research integrating the Five Factor Model (FFM) for the personality with the existing work on the leaderships with the project success. Through the empirical study based on data from 116 software projects in real environment, we found general support for our hypothesized research model. The results not only reveal that the five big personality factors can be treated as indicators for the success of the software development projects, but also provide the evidence on how the project managers' personality influences the success of the software development projects through medium of the leadership constructs. The support for the relationship between leadership and the success of software development projects is also found.
- Conference Article
5
- 10.1109/clei47609.2019.235059
- Sep 1, 2019
This article presents the process Automatic source code generation for ChatBot using the Model Driven Development (MDD) for Facebook Messaging platform. We propose the use of metamodel to define the ChatBot, including the option of consuming external REST services. Two test scenarios are presented: the first one is a ChatBot oriented to the sales of pizzas and hamburgers, which requires to obtain external information (REST services) on the ingredients and the search for commercial establishments that satisfy the options defined by the user. Our second test scenario is aligned with elements of IoT (Internet Of Things), specifically manages the sensors of a Sense Hat on a RaspBerry Pi 3 card, considering sensors such as: humidity, temperature, pressure, accelerometer and an actuator represented by a Led matrix. Finally, the results of each of the ChatBot are shown. these are automatically generated from the conceptual specification. The Chatbots are deployed on the Facebook platform validating the consumption of information from external REST services.
- Book Chapter
1
- 10.1007/978-3-030-70006-5_17
- Jan 1, 2021
Due to the increasing size and complexity of embedded systems, software quality is gaining importance in such systems. This is especially true in safety-critical systems, where failure may lead to serious harm for humans or the environment. Model-Driven Development (MDD) techniques, such as model representation with semi-formal design languages and automatic code generation from such models may increase software quality and developer productivity. This paper introduces a workflow for automatically generating safety mechanisms from model representations. In summary, safety mechanisms are specified in class diagrams of the Unified Modeling Language (UML) via stereotypes alongside the remainder of the application. In a subsequent step, these model representations are used to perform model-to-model transformations. The resulting model contains all the information required to automatically generate source code for the application, including the specified safety mechanisms. Then, common MDD tools may be used to generate this productive source code. We demonstrate the application of our workflow by applying it to the automatic code generation of timing constraint monitoring at runtime.
- Conference Article
17
- 10.1109/cit.2010.323
- Jun 1, 2010
Model-driven development has become the state- of-the-art approach for designing embedded real-time systems. Due to their high level of abstraction, models are easier to understand and verify, thus leading to less faulty systems. But even when combined with automatic code generation, there is still the risk of unintended behavior. This may, for example, arise from real sensor inputs which differ from the characteristics assumed in the model. Consequently, debugging techniques still play an important role, even in model-driven development processes. However, debugging a system on the embedded target platform is tedious because of the limited user interface. In this paper, we present an approach for capturing runtime data on the target platform and mapping them back to the model. Debugging can then be performed at model-level by visualizing actual input data, like feedback from the target platform's environment. Using a case study, we demonstrate a realization of our approach.
- Research Article
116
- 10.1108/09555340810871400
- May 16, 2008
- European Business Review
PurposeThe purpose of this paper is to explore the relationships between best human resource management (HRM) practices, knowledge management (KM), organization learning and organizational capabilities (OC) and their impact on organizational performance. The proposed framework intends to add to the understanding of the specific processes that mediate between best HRM practices and organizational performance.Design/methodology/approachA range of relevant literature is explored and a conceptual model is proposed and discussed.FindingsThis paper proposes an answer to “how” best HRM practices can influence performance. It is suggested that KM and organizational learning (OL) play their own unique role in creating OC, which lead to superior performance.Practical implicationsThe paper can help human resource managers to understand better the importance of OL and KM processes and the way best HRM practices, through the integration of these two processes, lead to superior and sustainable performance.Originality/valueThis paper attempts to shed some light on the processes through which HRM practices influence performance. The proposed conceptual framework is an original, complete model that will hopefully contribute towards the enrichment of the relevant literature. Moreover, it clarifies relevant terms and their relationship that seem to be surrounded by ambiguity.
- Book Chapter
6
- 10.1007/978-3-642-36177-7_4
- Jan 1, 2013
Models play a paramount role in model-driven development (MDD): several modelling layers allow defining views of the system under construction at different abstraction levels, and model transformations facilitate the transition from one layer to the other. However, how to effectively integrate requirements engineering within model-driven development is still an open research challenge. This paper shows a full MDD approach that covers from requirements engineering to automatic software code generation. This has been achieved by the integration of two methods: Communication Analysis (a communication-oriented requirements engineering method [1]) and the OO Method (a model-driven object-oriented software development method [2]). For this purpose, we have proposed a systematic technique for deriving conceptual models from from business process and requirements models; it allows deriving class diagrams, state-transition diagrams and specifications of class service behaviour. The approach has been evaluated by means of an ontological evaluation, lab demos and controlled experiments; we are currently planning apply it under conditions of practice in an action research endeavour.
- Book Chapter
3
- 10.1007/978-3-319-47717-6_19
- Jan 1, 2016
Current teaching guides on Software Engineering degree focus mainly on teaching programming languages from the first courses. Conceptual modeling is a topic that is only taught in last courses, like master courses. At that point, many students do not see the usefulness of conceptual modeling and most of them have difficulty to reach the level of abstraction needed to work with them. In order to make the learning of conceptual modeling more attractive, we have conducted an experience where students compare a traditional development versus a development using conceptual models through a Model-Driven Development (MDD) method. This way, students can check on their own pros and cons of working with MDD in a practical environment. Comparison has been done in terms of Accuracy, Effort, Productivity and Satisfaction. The contribution of this paper is twofold: the description of the teaching methodology used throughout the whole course; and the presentation of results and discussions of the comparison between MDD and a traditional development method. Results show that Accuracy, Effort and Productivity are better for MDD when the problem to solve is not easy. These results are shown to students to promote a discussion in the classroom about the use of MDD. According to this discussion, the most difficult part of using MDD is the learnability and the best part is the automatic code generation.
- Research Article
57
- 10.1108/er-02-2013-0025
- Jul 29, 2014
- Employee Relations
Purpose– The purpose of this paper is to empirically examine the relationships between best human resource management (HRM) practices, knowledge management (KM), organization learning and organizational capabilities (OC), as well as their impact on organizational performance.Design/methodology/approach– To carry out this research, a structured questionnaire was designed and distributed to 212 manufacturing firms which employ at least 50 employees. The final sample consists of 138 useable questionnaires.Findings– Results indicate that manufacturing firms pursuing best HRM practices achieve higher performance through the interaction of these practices with KM and organizational learning capability and the creation of OC.Research limitations/implications– Possible limitations of the study include the measurement of OC, the use of subjective performance indicators and the data collection approach reflecting mainly HRM managers’ perceptions.Practical implications– HR practitioners and/or managers should focus on establishing the appropriate mechanisms for integrating “best HRM practices” with learning, knowledge and OC in order to improve performance.Originality/value– This paper empirically tests a new composite model which elaborates upon the mechanisms that seem to intervene between the best HRM practices – performance relationship. Moreover, the value of the human factor in KM and organizational learning initiatives, as well as on OC, is explored. While this has already been underlined in the past, there is still no complete model simultaneously describing and testing all those relationships.
- Research Article
- 10.1088/1742-6596/2503/1/012100
- May 1, 2023
- Journal of Physics: Conference Series
Wind energy has the advantages of wide distribution, renewable, and non-polluting, so it is receiving more and more attention from more and more countries. As more and more wind power systems are integrated into the grid, it has an impact on the stability of the grid. To keep the power system stable, there is an urgent need for a grid simulator that can simulate various behaviors of the grid and test the reliability of the wind turbine before grid integration. Inverters, especially multilevel inverters, as the core part of the grid simulator, have been widely studied by scholars in recent years. However, compared to conventional inverters, multilevel inverters are characterized by high code development effort, great difficulty, and a long development period. In this paper, we adopt an automatic DSP code generation method with MATLAB hardware support package and give a complete system design method and development flow based on MATLAB and TMSF28335 automatic code generation. Finally, we take the closed-loop three-level MMC inverter as an example, propose an equalization algorithm suitable for automatic code generation for the capacitor-voltage balancing part, and verify the feasibility of the DSP automatic code generation in a multilevel inverter development. The feasibility of DSP automatic code generation in the development of a multilevel inverter is verified. The experimental results show that the proposed equalization algorithm with variable reference coefficient and DSP automatic code generation method can be used in the development of a multilevel inverter, which can improve development efficiency and reduce development costs.
- Conference Article
3
- 10.1109/rpc.2018.8482174
- Aug 1, 2018
An ontology-driven development process of rule-based expert systems and knowledge bases is described. The process is based on a redefined approach, namely, a model-driven development (MDD). The main feature of the proposed process is the use of ontology as a computation-independent model (CIM). At the same time, ontology is created by analyzing the conceptual models of a subject domain, in particular, UML class diagrams presented in XML-based formats. The Rule Visual Modeling Language (RVML) is used as the extension of a UML for the development of a platform-independent and platform-specific models, and also the C language integrated production system (CLIPS) is used as the target platform. The formalized descriptions of the approach stages and model transformations are considered. The approach proposed allows one: to eliminate programming errors through the automatic code generation; to reduce a time of identification, conceptualization, and formalization stages due to the use of ontologies. The Knowledge Base Development System (KBDS) and the Personal Knowledge Base Designer (PKBD) implement processes and algorithms described and they intend for the rapid development of prototypes of rule-based expert systems and knowledge bases.
- Research Article
8
- 10.1007/s11334-011-0165-0
- Sep 29, 2011
- Innovations in Systems and Software Engineering
Model-driven development (MDD) is a very popular technique in the area of software development, but this technique is criticized due to lack of a formal semantics. MDD is used for large-scale system development using semi-formal techniques like UML (Unified Modeling Language), which are not amenable to formal analysis and consistency checking. Formal methods with MDD may provide an assurance of correctness of the system. This paper advocates an approach to building generic framework for rigorous MDD that is based on combining semi-formal notations with formal modeling languages, correctness of the system using model checker and automatic code generation from the verified formal specification. The main objective of this work is to apply model-driven techniques and tools with formal verification and its code generation for designing critical systems. An assessment of the proposed framework is given through a case study, relative to the development of a cardiac pacemaker system.
- Conference Article
108
- 10.1145/2771783.2771812
- Jul 13, 2015
In safety critical domains, system test cases are often derived from functional requirements in natural language (NL) and traceability between requirements and their corresponding test cases is usually mandatory. The definition of test cases is therefore time-consuming and error prone, especially so given the quickly rising complexity of embedded systems in many critical domains. Though considerable research has been devoted to automatic generation of system test cases from NL requirements, most of the proposed approaches re- quire significant manual intervention or additional, complex behavioral modelling. This significantly hinders their applicability in practice. In this paper, we propose Use Case Modelling for System Tests Generation (UMTG), an approach that automatically generates executable system test cases from use case spec- ifications and a domain model, the latter including a class diagram and constraints. Our rationale and motivation are that, in many environments, including that of our industry partner in the reported case study, both use case specifica- tions and domain modelling are common and accepted prac- tice, whereas behavioural modelling is considered a difficult and expensive exercise if it is to be complete and precise. In order to extract behavioral information from use cases and enable test automation, UMTG employs Natural Language Processing (NLP), a restricted form of use case specifica- tions, and constraint solving.
- Research Article
19
- 10.1002/stvr.1496
- Apr 29, 2013
- Software Testing, Verification and Reliability
SUMMARYAs web applications become more complex and are used more pervasively, testing demands are increasing without corresponding automated support. One promising approach to automatic test generation is statistical model‐based testing, where logged user behaviour is used to build a usage‐based model of web application navigation, from which abstract test cases are generated. Executable test cases are then created by adding parameter values to the abstract test cases. Several researchers have proposed variations of this approach; however, no one has empirically examined the tradeoffs and implications of the different ways to represent user behaviour in a navigation model and the characteristics of the test cases automatically generated from different models. This paper reports on our exploratory study of automatically generated abstract test cases and the underlying usage‐based navigation models constructed from over 19,000 user sessions across five publicly deployed web applications. Our results suggest how web testers can easily configure statistical model‐based automatic test case generators for web applications toward generating tests closely related to user behaviour or toward new navigations without using large additional test resources. Copyright © 2013 John Wiley & Sons, Ltd.