187,400 research outputs found

    Software Process Modeling with Eclipse Process Framework

    Get PDF
    The software development industry is constantly evolving. The rise of the agile methodologies in the late 1990s, and new development tools and technologies require growing attention for everybody working within this industry. The organizations have, however, had a mixture of various processes and different process languages since a standard software development process language has not been available. A promising process meta-model called Software & Systems Process Engineering Meta- Model (SPEM) 2.0 has been released recently. This is applied by tools such as Eclipse Process Framework Composer, which is designed for implementing and maintaining processes and method content. Its aim is to support a broad variety of project types and development styles. This thesis presents the concepts of software processes, models, traditional and agile approaches, method engineering, and software process improvement. Some of the most well-known methodologies (RUP, OpenUP, OpenMethod, XP and Scrum) are also introduced with a comparison provided between them. The main focus is on the Eclipse Process Framework and SPEM 2.0, their capabilities, usage and modeling. As a proof of concept, I present a case study of modeling OpenMethod with EPF Composer and SPEM 2.0. The results show that the new meta-model and tool have made it possible to easily manage method content, publish versions with customized content, and connect project tools (such as MS Project) with the process content. The software process modeling also acts as a process improvement activity.Ohjelmistoprosessin mallinnus Eclipse Process Frameworkilla ja SPEM 2.0 metamallilla Ohjelmistot ja ohjelmistoteollisuus kehittyvät jatkuvasti. Ketterien menetelmien tulo 1990-luvun loppupuolella, uudet kehitystyökalut ja teknologiat vaativat yhä enemmän huomiota alalla työskenteleviltä ihmisiltä. Organisaatioilla on kuitenkin ollut sekalainen kirjo prosesseja ja erilaisia prosessikuvauskieliä, koska standardia kuvauskieltä ei ole ollut saatavilla. Prosessimetamalli SPEM 2.0 julkaistiin hiljattain. Tätä mallia hyödyntää mm. Eclipse Process Framework Composer (EPFC) –työkalu, joka on suunniteltu prosessien ja menetelmäsisällön kehittämiseen ja ylläpitoon. Työkalun tavoitteena on tukea useita erilaisia projektityyppejä ja kehitystyylejä. Tässä työssä esitellään seuraavat aiheet ja käsitteet: ohjelmistoprosessit, mallit, perinteiset ja ketterät lähestymistavat, metoditekniikkaa sekä prosessien kehittäminen. Lisäksi tutustutaan muutamiin tunnetuimmista metodologioista (RUP, OpenUP, OpenMethod, XP ja Scrum) ja vertaillaan näitä. Työssä tutkitaan tarkemmin Eclipse Process Framework Composer –työkalua, SPEM 2.0 metamallia, näiden ominaisuuksia, käyttöä sekä mallintamista. Esitän tutkimustulokset ja tutkimuksenkulun OpenMethodin mallintamisesta EPFC –työkalulla sekä SPEM 2.0 -metamallilla. Tulokset osoittavat, että uusi metamalli ja työkalu helpottavat prosessin ja menetelmäsisällön hallintaa, mahdollistavat räätälöityjen julkaisujen teon sisällöstä, sekä yhdistävät prosessin projektityökaluihin kuten MS Projectiin. Mallinnus voidaan lisäksi ymmärtää osana prosessin kehittämistä.Siirretty Doriast

    DSL4SPM: Domain-specific language for software process modeling

    Get PDF
    This paper presents a novel formal approach to software process modeling based on the Software Process Engineering Metamodel (SPEM) for the syntactic aspect of a process model and a domain-specific language (DSL) for the semantic aspect of the model. This approach provides a conceptual framework for designing processes in a more abstract way and to enable process implementation on various platforms. A Process-Centered Software Environment (PCSE) called DSL4SPM (Domain-Specific Language for Software Process Modeling) is a plug-in tool which satisfies the meta-requirements for Process Modeling Languages (PMLs). The key concept of the DSL4SPM is the use of a toolbox, containing SPEM elements, to instantiate objects in a graphical scene. The process model designer links these elements with relations, and defines the values of the attributes required for both these and the objects, with the aim of arriving at a consolidated view of the problem. An overview of the advantages of the approach is presented. With it, the process manager is able to quickly and easily model a process from innovative perspectives, with the aim of better understanding the risks associated with software development

    Model-driven engineering techniques for the development of multi-agent systems

    Get PDF
    Model-driven engineering (MDE), implicitly based upon meta-model principles, is gaining more and more attention in software systems due to its inherent benefits. Its use normally improves the quality of the developed systems in terms of productivity, portability, inter-operability and maintenance. Therefore, its exploitation for the development of multi-agent systems (MAS) emerges in a natural way. In this paper, agent-oriented software development (AOSD) and MDE paradigms are fully integrated for the development of MAS. Meta-modeling techniques are explicitly used to speed up several phases of the process. The Prometheus methodology is used for the purpose of validating the proposal. The meta-object facility (MOF) architecture is used as a guideline for developing a MAS editor according to the language provided by Prometheus methodology. Firstly, an Ecore meta-model for Prometheus language is developed. Ecore is a powerful tool for designing model-driven architectures (MDA). Next, facilities provided by the Graphical Modeling Framework (GMF) are used to generate the graphical editor. It offers support to develop agent models conform to the meta-model specified. Afterwards, it is also described how an agent code generator can be developed. In this way, code is automatically generated using as input the model specified with the graphical editor. A case of study validates the method put in practice for the development of a multi-agent surveillance system

    MegSDF Mega-system development framework

    Get PDF
    A framework for developing large, complex software systems, called Mega-Systems, is specified. The framework incorporates engineering, managerial, and technological aspects of development, concentrating on an engineering process. MegSDF proposes developing Mega-Systems as open distributed systems, pre-planned to be integrated with other systems, and designed for change. At the management level, MegSDF divides the development of a Mega-System into multiple coordinated projects, distinguishing between a meta-management for the whole development effort, responsible for long-term, global objectives, and local managements for the smaller projects, responsible for local, temporary objectives. At the engineering level, MegSDF defines a process model which specifies the tasks required for developing Mega-Systems, including their deliverables and interrelationships. The engineering process emphasizes the coordination required to develop the constituent systems. The process is active for the life time of the Mega-System and compatible with different approaches for performing its tasks. The engineering process consists of System, Mega-System, Mega-System Synthesis, and Meta-Management tasks. System tasks develop constituent systems. Mega-Systems tasks provide a means for engineering coordination, including Domain Analysis, Mega-System Architecture Design. and Infrastructure Acquisition tasks. Mega-System Synthesis tasks assemble Mega-Systems from the constituent systems. The Meta-Management task plans and controls the entire process. The domain analysis task provides a general, comprehensive, non-constructive domain model, which is used as a common basis for understanding the domain. MegSDF builds the domain model by integrating multiple significant perceptions of the domain. It recommends using a domain modeling schema to facilitate modeling and integrating the multiple perceptions. The Mega-System architecture design task specifies a conceptual architecture and an application architecture. The conceptual architecture specifies common design and implementation concepts and is defined using multiple views. The application architecture maps the domain model into an implementation and defines the overall structure of the Mega-System, its boundaries, components, and interfaces. The infrastructure acquisition task addresses the technological aspects of development. It is responsible for choosing, developing or purchasing, validating, and supporting an infrastructure. The infrastructure integrates the enabling technologies into a unified platform which is used as a common solution for handling technologies. The infrastructure facilitates portability of systems and incorporation of new technologies. It is implemented as a set of services, divided into separate service groups which correspond to the views identified in the conceptual architecture

    A meta-semantic language for smart component-adapters

    Get PDF
    The issues confronting the software development community today are significantly different from the problems it faced only a decade ago. Advances in software development tools and technologies during the last two decades have greatly enhanced the ability to leverage large amounts of software for creating new applications through the reuse of software libraries and application frameworks. The problems facing organizations today are increasingly focused around systems integration and the creation of information flows. Software modeling based on the assembly of reusable components to support software development has not been successfully implemented on a wide scale. Several models for reusable software components have been suggested which primarily address the wiring-level connectivity problem. While this is considered necessary, it is not sufficient to support an automated process of component assembly. Two critical issues that remain unresolved are: (1) semantic modeling of components, and (2) deployment process that supports automated assembly. The first issue can be addressed through domain-based standardization that would make it possible for independent developers to produce interoperable components based on a common set of vocabulary and understanding of the problem domain. This is important not only for providing a semantic basis for developing components but also for the interoperability between systems. The second issue is important for two reasons: (a) eliminate the need for developers to be involved in the final assembly of software components, and (b) provide a basis for the development process to be potentially driven by the user. To resolve the above remaining issues (1) and (2) a late binding mechanism between components based on meta-protocols is required. In this dissertation we address the above issues by proposing a generic framework for the development of software components and an interconnection language, COMPILE, for the specification of software systems from components. The computational model of the COMPILE language is based on late and dynamic binding of the components\u27 control, data, and function properties. The use of asynchronous callbacks for method invocation allows control binding among components to be late and dynamic. Data exchanged between components is defined through the use of a meta- language that can describe the semantics of the information but without being bound to any specific programming language type representation. Late binding to functions is accomplished by maintaining domain-based semantics as component metainformation. This information allows clients of components to map generic requested service to specific functions

    Propuesta de un proceso de enseñanza-aprendizaje para la asignatura Diseño de Software como proceso de software

    Get PDF
    La cátedra Diseño de Software se dicta actualmente en 4º año de las carreras del Departamento de Informática de la Facultad de Ciencias Exactas, Físicas y Naturales (FCEFN) de la Universidad Nacional de San Juan (UNSJ). Esta materia se enfoca principalmente al Diseño Orientado a Objetos (DOO), brindando conceptos y conocimientos desarrollados en forma teórica y con un fuerte componente práctico, de todos los diagramas de modelado de software que provee el Lenguaje de Modelado Unificado (UML), con el fin de comprender acabadamente el objetivo que se persigue con cada uno de ellos y en qué casos es conveniente o útil aplicarlos. El presente trabajo se sustenta de la experiencia adquirida en la práctica aplicada para la enseñanza de DOO, utilizando UML para el modelado, donde las actividades prácticas abarcan desde el análisis hasta llegar a una propuesta de diseño de implementación. Se presenta un modelo de proceso de enseñanza aprendizaje, como proceso de software, y los artefactos utilizados para guiar al alumno en la resolución de un problema de desarrollo de software específico, utilizando para su especificación el lenguaje de metamodelado de procesos SPEM 2.0 y para generar el modelado del proceso de software la herramienta Eclipse Process Framework Composer (EPFC).The Software Design Chair is currently being taught in 4th year of the study programs offered by the Computing Science Department in the School of Hard, Physical and Natural Sciences (FCEFyN) of the National University of San Juan (UNSJ). This course mainly focuses on Object Oriented Design (OOD). It offers a theoretical development as well as a practical approach of the concepts and principles for all the software modeling diagrams provided by the Unified Modeling Language (UML). It aims at thoroughly understanding the objectives pursued by each model and in which cases they are more suitable or useful to be applied. The present paper is based on the experience gained through the practical activities applied to the teaching of OOD by using UML for Modeling as well as learning tasks ranging from its analysis to a proposal for an implementation design. In addition a model for the teaching-learning process is presented, as software process, with all the artifacts used to steer the student in the resolution of a specific software development problem. The language used for specification is the process meta-modeling language SPEM 2.0 and the tool to generate the software process modeling is Eclipse Process Framework Composer (EPFC).Facultad de Informátic

    A Model-Driven Architecture Approach to the Efficient Identification of Services on Service-oriented Enterprise Architecture

    No full text
    Service-Oriented Enterprise Architecture requires the efficient development of loosely-coupled and interoperable sets of services. Existing design approaches do not always take full advantage of the value and importance of the engineering invested in existing legacy systems. This paper proposes an approach to define the key services from such legacy systems effectively. The approach focuses on identifying these services based on a Model-Driven Architecture approach supported by guidelines over a wide range of possible service types
    • …
    corecore