Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2005, Lecture Notes in Computer Science
In the context of Model Driven Development, models play a central role. Since models can nowadays be executed, they are used not only for description but also for production [32][30][24]. In the field of software process modelling, the current version of the OMG SPEM standard (ver1.1) has not yet reached the level required for the specification of executable models. The purpose of SPEM1.1 was limited at providing process descriptions to be read by humans and to be supported by tools, but not to be executed. Therefore, the OMG issued a new RFP in order to improve SPEM1.1 [35]. Since we intend to participate in the next major revision of SPEM, namely SPEM2.0, in this work, we: 1) compare SPEM1.1 both with primary process model elements (i.e. Activity, Product, Role,…) and with basic requirements that any Process Modelling Language should support (i.e. expressiveness, understandability, executability,…); 2) identify its major limitations and advantages and 3) propose a new UML2.0-based metamodel for software process modelling named: UML4SPM. It extends a subset of UML2.0 concepts-with no impact on the standard-in order to fit software process modelling.
IEEE Transactions on Software Engineering, 2000
Describing and managing activities, resources, and constraints of software development processes is a challenging goal for many organizations. A first generation of Software Process Modeling Languages (SPMLs) appeared in the 1990s but failed to gain broad industrial support. Recently, however, a second generation of SPMLs has appeared, leveraging the strong industrial interest for modeling languages such as UML. In this paper, we propose a comparison of these UML-based SPMLs. While not exhaustive, this comparison concentrates on SPMLs most representative of the various alternative approaches, ranging from UML-based framework specializations to full-blown executable metamodeling approaches. To support the comparison of these various approaches, we propose a frame gathering a set of requirements for process modeling, such as semantic richness, modularity, executability, conformity to the UML standard, and formality. Beyond discussing the relative merits of these approaches, we also evaluate the overall suitability of these UML-based SPMLs for software process modeling. Finally, we discuss the impact of these approaches on the current state of the practice, and conclude with lessons we have learned in doing this comparison.
Proceedings of the 11th International Conference on Enterprise Information, 2009
The adoption of MDA in software development is increasing and is widely recognized as an important approach for building software systems. Meanwhile, the use of MDA requires the definition of a software process that guides developers in the elaboration and generation of models. While first model-driven software processes have started to appear, an approach for describing them in such way that they may be better communicated, understood, reused and evolved systematically by the development team is lacking. In this context, this paper presents an approach for the specification of MDA processes based on specializations of some SPEM 2 concepts. In order to support and evaluate our approach a tool was developed and applied in a particular MDA process for specific middleware services development.
In the last two decades, software process modeling has been an area of interest within both academia and industry. Software process modeling aims at defining and representing software processes in the form of models. A software process model represents the medium that allows better understanding, management and control of the software process. Software process meta-modeling rather, provides standard metamodels which enable the defining of customized software process models for a specific project in hand by instantiation. Several software process modeling/meta-modeling languages have been introduced to formalize software process models. Nonetheless, none of them has managed to introduce a compatible yet precise language to include all necessary concepts and information for software process modeling. This paper presents Software Process Meta-Modeling and Notation (SP2MN); a meta-modeling language that provides simple and expressive graphical notations for the aim of software process modeling. SP2MN has been evaluated based upon the well-known ISPW-6 process example, a standard benchmark problem for software process modeling. SP2MN has proved that it presents a valid and expressive software process modeling language.
2004
The status of our current work on an UML profile to express software engineering process models is presented. We will discuss our requirements on such a profile and introduce identified syntactical and semantical implications. Concluding a first application scenario is presented.
2004
Process Modeling Languages (PMLs) are languages used to express software process models. Process Centered Software Engineering Environments (PSEEs) are the environments used to define, modify, analyse, and enact a process model. While both PMLs and PSEEs are equally important, it is the characteristics of PMLs that are the focus of this article. Over the past 15 years, there have been many PMLs (and PSEEs) developed. Despite many potential advances, the use of PMLs in industry has not been widespread. As PMLs could form a vital feature for future software engineering environments, it is useful to reflect on the current achievements and shortcomings, and to identify potential areas of omission. It is also useful to explore issues emerging from related research areas, the adoption of which could improve the applicability and acceptance of PMLs. Given such potential benefits, this paper presents a critical analysis of existing PMLs identifying each language's strong points and weaknesses, thereby forming guidelines for the future design of PMLs.
Malaysian Journal of Computer Science, 2001
A software process is defined as a sequence of steps that must be carried out by the human agents to pursue the goals of software engineering. In order to achieve a precise specification of what these steps actually are, a software process can be represented using a process modeling language (PML). A representation of the software process in a PML is called a process model. Through a process enactment mechanism, which allows execution of the process model, a software process can automate, guide, and enforce software engineering practices and policies. These technologies are often collected together into what are referred to as process-centred environments or process centred software engineering environments (PSEE). Over the past 12 years, there have been many PSEEs (and PMLs) developed. However, the use of PSEEs and PMLs are not widespread. We envisage that these technologies provide a vital support for software engineering in the future. This article surveys the current state of the art of the PMLs including the second generation PMLs, which have not been included in other surveys in the literature, and discusses the possible research agenda for future work in the area.
Lecture Notes in Computer Science, 2009
One major advantage of executable software process models is that once defined, they can be simulated, checked and validated in short incremental and iterative cycles. This also makes them a powerful asset for important process improvement decisions such as resource allocation, deadlock identification and process management. In this paper, we propose a framework that combines Aspect and Model-Driven Engineering approaches in order to ensure process modeling, simulation and execution. This framework is based upon UML4SPM, a UML2.0-based language for Software Process Modeling and Kermeta, an executable metaprogramming language.
2006
The specification, analysis, and administration of business processes have charged great importance in this last time. This has been caused by a competitive industry necessity, dynamics, where she use the available resources efficiently. The "Workflow" technologies has given answer to these requirements, offering support for the partial or total automation of production processes.
2009
The adoption of MDA in software development is increasing and is widely recognized as an important approach for building software systems. However, there´s a lack of standard terminology and notation addressing design aspects of an MDA process. The available MDA tools and environments are particularly focused in defining and executing model transformations, while a development process involves other important definitions which should be carried out during the process enactment. This paper presents an integrated approach for MDA process modeling and enactment based on specializations of some SPEM 2 concepts. To support and evaluate our approach a tool was developed and applied in two case studies.
IBM Systems Journal, 2000
The Unified Modeling Languaget (UMLt) industry standard has recently undergone a major upgrade, resulting in a revision called UML 2. The primary motivation for this revision was to make UML better suited to model-driven developmente (MDDe), an approach to software development in which software models play a vital role. This requires a modeling language that is not only highly expressive but also capable of specifying models that are precise and unambiguous. In this overview article, we describe the key developments in UML 2 and the rationale behind them, and we explain how they help meet the needs of MDD. These new capabilities can be grouped into two distinct categories: (1) internal and architectural changes required to support MDD and (2) new modeling features. This paper is a revised version of a Web article, ''Unified Modeling Language Version 2.0,'' which was published on March 21, 2005, by developerWorkst, IBM Corporation.
The status of our current work on an UML profile to express software engineering process models is presented. We will discuss our requirements on such a profile and introduce identified syntactical and semantical implications. Concluding a first application scenario is presented.
Journal of Software: Evolution and Process, 2010
One major advantage of executable software process models is that once defined, they can be simulated, checked and validated in short incremental and iterative cycles. This also makes them a powerful asset for important process improvement decisions such as resource allocation, deadlock identification and process management. In this paper, we propose a framework that combines Aspect and Model-Driven Engineering approaches in order to ensure process modeling, simulation and execution. This framework is based upon UML4SPM, a UML2.0-based language for Software Process Modeling and Kermeta, an executable metaprogramming language.
1999
ABSTRACT We have defined a set of requirements for a process modeling language which are: multiple representation levels to describe general and instantiated processes; inheritance to factor and reuse common knowledge; process specific constructs with well defined syntax and semantics to describe process elements; and associations to relate and constraints such entities. A process modeling system must enable its users to inspect and analyze process models according to different perspectives.
ACS/IEEE International Conference on Computer Systems and Applications, 2001
Process modeling languages (PMLs) are languages used to express software process models. Process centered software engineering environments (PSEEs) are the environments used to define, modify, analyze and enact a process model. While both PMLs and PSEEs are important, it is the characteristics of PMLs that are the focus of the article, which leads to a taxonomy different from that presented in other work primarily with the inclusion of important human dimension issues (e.g. awareness support) from computer supported cooperative work (CSCW)
Universidad de los Andes, 2007
This paper presents the use of Domain-Specific Modeling (DSM) technologies to tackle the complexity associated to the definition and improvement of software process models. This complexity arises because these tasks involve the description of different activities as well as the relationships with other processes. In this work, we propose the use of viewpoint models to represent, in a modular and non-intrusive way, concerns expressed on a software process model. We developed a Domain-Specific Aspect Language, called AspectViewpoint, to create viewpoint models using a vocabulary based on the workflow control patterns.
SPEM (Software Process Engineering Metamodel Specification) is the software processes modeling standard defined by OMG (Object Management Group). However, the process enactment support provided by this standard has many deficiencies. Therefore, the main objective of this paper is to propose a language for software process enactment based upon SPEM 2.0 concepts. First, we will present a critical analysis of the SPEM standard approach for enactment. Then, we will present xSPIDER_ML, an enactment language, and describe its structure, components and associated rules. In order to evaluate the proposed language, a case study is performed through a RUP (Rational Unified Process) process instantiation. The language presented in this paper is part of a support set of tools for flexible software process enact-ment. Additionally, this set of tools is in compliance with software process quality models.
2010
The Software & Systems Process Engineering meta-model (SPEM) allows the modelling of software processes using OMG (Object Management Group) standards such as the MOF (Meta-Object Facility) and UML (Unified Modelling Language) making it possible to represent software processes using tools compliant with UML. Process definition encompasses both the static and dynamic structure of roles, tasks and work products together with imposed constraints on those elements.
2010
Many companies have achieved a higher quality in their processes by using CMMI. Process definition may be efficiently supported by software tools. A higher automation level will make process improvement and assessment activities easier to be adapted to customer needs. At present, automation of CMMI is based on tools that support practice definition in a textual way. These tools are often enhanced spreadsheets. In this paper, following the Model Driven Development paradigm (MDD), a tool that supports automatic generation of a language that can be used to specify process areas practices is presented. The generation is performed from a metamodel that represents CMMI. This tool, differently from others available, can be customized according to user needs. Guidelines to specify the CMMI metamodel are also provided. The paper also shows how this approach can support other assessment methods.
Automated Software Engineering, 2013
The adoption of Model-Driven Development (MDD) is increasing and it is widely recognized as an important approach for building software systems. In addition to traditional development process models, an MDD process requires the selection of metamodels and mapping rules for the generation of the transformation chain which produces models and application code. In this context, software process tasks should be performed in a specific sequence, with the correct input artifacts to produce the output ones. However, existing support tools and transformation engines for MDD do not have a process-centered focus that addresses different kinds of software process activities, such as application modeling and testing to guide the developers. Furthermore, they do not enable process modeling nor the (semi) automated execution of activities during process enactment. The MoDErNE (Model Driven Process-Centered Software Engineering Environment) uses process-centered software engineering environment concepts to improve MDD process specification and enactment by using a metamodeling foundation. In MoDErNE, a software process model may be enacted several times in different software projects. This paper details the MoDErNE environment, its approach and architecture and also the case studies through which the tool was evaluated.
Software process models are integral constituents of system lifecycle models that were initially proposed to follow a structured approach to building an improved or a new system. They are the core processes of the software engineering area. This work is an attempt to study the different software process models. The advantages and disadvantages of every model have been analyzed and the performance of every model has been evaluated. The main critics to the present software systems models are that they cannot be built with mathematical certainty hence they are not empirical models. Many models like Waterfall model (sequential approach), Incremental Model (incremental approach), Spiral Model (evolutionary approach), Formal Methods Model (specialized approach), Extreme Programming Model (agile approach) and Rational Unified Process (RUP) are studied in a comparative and differentiative manner. The evolution of these development methods has been uncovered in this study.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.