A Product Derivation Framework for Software Product Families

Size: px
Start display at page:

Download "A Product Derivation Framework for Software Product Families"

Transcription

1 A Product Derivation Framework for Software Product Families Sybren Deelstra, Marco Sinnema, Jan Bosch Department of Mathematics and Computer Science, University of Groningen, PO Box 800, 9700 AV Groningen, The Netherlands, {s.deelstra m.sinnema Abstract. From our experience with several organizations that employ software product families, we have learned that deriving individual products from shared software artifacts is a time-consuming and expensive activity. In the research community, product derivation methodologies are rather scarce, however. By studying product derivation, we believe we will be better able to provide and validate industrially practicable solutions for application engineering. In this paper, we present a framework of terminology and concepts regarding product derivation that serves as basis for further discussion. We exemplify this framework with two industrial case studies, i.e. Thales Nederland B.V. and Robert Bosch GmbH. 1 Introduction Since the 1960s, reuse has been the long-standing notion to solve the cost, quality and time-to-market issues associated with development of software applications. A major addition to existing reuse approaches since the 1990s are software product families [Bosch 2000][Clements 2001][Weiss 1999]. The basic reuse philosophy of software product families is intra-organizational reuse through the explicitly planned exploitation of similarities between related products. This philosophy has been adopted by a wide variety of organizations and has proved to substantially decrease costs and timeto-market, and increase the quality of their software products. In a software product family context, software products are developed in a twostage process [Linden 2002], i.e. a domain engineering stage and a concurrently running application engineering stage. Domain engineering involves, amongst others, identifying commonalities and differences between product family members and implementing a set of shared software artifacts in such a way that the commonalities can be exploited economically, while at the same time the ability to vary the products is preserved. During application engineering individual products are derived from the product family, viz. constructed using a subset of the shared software artifacts. Over the past few years, domain engineering has received substantial attention from the software engineering community. Most of those research efforts are focused on methodological support for designing and implementing shared software artifacts in such a way that application engineers should be able to derive applications more easily. Most of the approaches, however, fail to provide substantial supportive evidence. The result is a lack of methodological support for application engineering and,

2 consequently, organizations fail to exploit the full benefits of software product families. Rather than adopting the same top-down approach, where solutions that are focused on methodological support for domain engineering imply benefits during application engineering, we adopt a bottom-up approach in our research. By studying product derivation, we believe we will be better able to provide and validate industrially practicable solutions for application engineering. The main contribution of this paper is that we provide a framework of concepts regarding product derivation that serves as basis for further discussion. This framework is based on our experience with organizations that employ software product families. The framework is exemplified with two industrial case studies, i.e. Robert Bosch GmbH and Thales Nederland B.V. The case study was part of the first phase of ConIPF (Configuration of Industrial Product Families), a research project sponsored by the IST-programme [ConIPF 2003]. Robert Bosch GmbH and Thales Nederland B.V. are industrial partners in this project. Both companies are large and mature industrial organizations that mark two ends of a spectrum of product derivation; Robert Bosch produces thousands of medium-sized products per year, while Thales Nederland produces a small number of very large products. The remainder of this article is organized as follows. In the next section, we describe our product derivation framework. In section 3, we exemplify the framework with the industrial case studies. Related work is presented in section 4, and the paper is concluded in section 5. 2 Product Derivation Framework In this section, we present a product derivation framework that is based on the results of case studies of the aforementioned and other organizations. This framework consists of a two-dimensional classification for product families, as well as a generic software derivation process. We discuss both in the next two subsections. 2.1 Product Family Classification As illustrated in the introduction, product families are a successful form of intraorganizational reuse that is based on exploiting common characteristics of related products. Most of the product families we encountered in practice can be classified according to two dimensions of scope, i.e. scope of reuse and domain scope. The first dimension, scope of reuse, denotes to which extent the commonalities between related products are exploited. We identify four levels of scope of reuse, ranging from reusing the way products are built (standardized infrastructure), to capturing most common functionality (platform), to exploiting both common functionality and functionality that is shared by a sufficiently large subset of family members (software product line), to capturing almost all common and different characteristics of the product family members (configurable product family). In addition to the scope of reuse dimension, we identify a second dimension, domain scope. The domain scope denotes the extent of the domain or domains in which

3 the product family is applied, and consists of four levels of scope, i.e. single product family, programme of product families, hierarchical product families [Bosch 2000] and product population [Ommering 2002]. Due to limited space, we leave a detailed discussion on both classification dimensions beyond the scope of this paper. In the following sections, we focus on product derivation in a single product family, i.e. the scope where a single product family is used to derive several related products. 2.2 A Generic Product Derivation Process We have generalized the derivation processes we encountered in single product families to a generic process as illustrated in Figure 1. The generic product derivation process consists of two phases, i.e. the initial and the iteration phase. In the initial phase, a first configuration is created from the product family assets. In the iteration phase, the initial configuration is modified in a number of subsequent iterations until the product sufficiently implements the imposed requirements. In addition to the phased selection activities described above, typically some code development is required during product derivation. This adaptation aspect can occur in both the iteration phase and the initial phase. Below, we provide a more detailed description of both phases, as well as a separate description of the adaptation aspect. Requirements Engineering Initial Phase Iteration Phase Fig. 1. The generic product derivation process. The shaded boxes denote the two phases. Requirements engineering manages the requirements throughout the entire process of product derivation Initial Phase The input to the initial phase is a (sub)set of the requirements that are managed throughout the entire process of product derivation (see Figure 1). These requirements originate from, among others, the customers, legislation, the hardware and the product family organization. In the initial phase, two different approaches towards deriving the initial product configuration exist, i.e. assembly and configuration selection (see also Figure 2). Both approaches conclude with the initial validation step. Assembly: The first approach to initial derivation involves the assembly of a subset of the shared product family assets to the initial software product configuration. We identify three types of assembly approaches. In the construction approach the initial configuration is constructed from the product family architecture and shared components. The first step in the construction process, as far as necessary or allowed, is to derive the product architecture from the product family architecture. The next step is, for each architectural component,

4 to select the closest matching component implementation from the component base. Finally, the parameters for each component are set. In case of generation, shared artifacts are modeled in a modeling language rather then implemented in source code. From these modeled artifacts, a subset is selected to construct an overall model. From this overall model an initial implementation is generated. The composition type is a composite of the types described above, where the initial configuration consists of both generated and implemented components, as well as components that are partially generated from the model and extended with source code. This type is not represented in Figure 2. Legend Process step (without adaptation) Process step with adaptation Requirements Engineering Initial Phase Iteration Phase Assembly Construction Architecture Derivation Component Selection Parameter Settings Generation Model Element Selection Code Generation Initial Validation Configuration Selection Old Configuration Reference Configuration Base Configuration (Re)Derive Architecture (Re)Select Components (Re)Set Parameters Invalidate all choices Fig. 2. The initial phase. During the initial phase, products are derived by assembly or configuration selection. Configuration Selection: The second approach to initial derivation involves selecting a closest matching existing configuration. An existing configuration is a consistent set of components, viz. an arrangement of components that, provided with the right options and settings, are able to function together. An old configuration is a complete product implementation that is the result from a previous project. Often, the selected old configuration is the product developed during the latest project as it contains the most recent bug-fixes and functionality. A reference configuration is (a subset of) an old configuration that is explicitly designated as basis for the development of new products. A reference configuration may be a partial configuration, for example if almost all product specific parameter settings are excluded, or a complete configuration, i.e. the old configuration including all parameter settings.

5 A base configuration is a partial configuration that forms the core of a certain group of products. A base configuration is not necessarily a result from a previous product. In general, a base configuration is not an executable application as many options and settings on all levels of abstraction (e.g. architecture or component level) are left open. In contrast to a reference and old configuration, where the focus during product derivation is on reselecting components, the focus of product derivation with a base configuration is on adding components to the set of components in the base configuration. The selected configurations are subsequently modified by rederiving the product architecture, adding, re- and deselecting components and (re)setting parameters. The effectiveness of configuration selection in comparison to assembly is a function of the benefits in terms of effort saved in selection and testing, and the costs in terms of effort required for changing invalidated choices as a result of new requirements. Configuration selection is especially viable in case a large system is developed for repeat customers, i.e. customers who have purchased a similar type of system before. Typically, repeat customers desire new functionality on top of the functionality they ordered for a previous product. In that respect, configuration selection is basically reuse of choices. Initial Validation: The initial validation step is the first step that is concerned with determining to what extent the initial configuration adheres to the requirements. In the rare case that the initially assembled or selected configuration does not provide a sufficient basis for further development, all choices are invalidated and the process goes back to start all over again. In case the initial configuration sufficiently adheres to the requirements, the product is finished. Otherwise, the product derivation process enters the iteration phase Iteration Phase The initial validation step marks the entrance of the iteration phase (illustrated in Figure 3). In some cases, an initial configuration sufficiently implements the desired product. In most cases, however, one or more cycles through the iteration phase are required, for a number of reasons. First, the requirements set may change or expand during product derivation, for example, if the organization uses a subset of the collected requirements to derive the initial configuration, or if the customer has new wishes for the product. Second, the configuration may not completely provide the required functionality, or some of the selected components simply do not work together at all. This particularly applies to embedded systems, where the initial configuration is often a first guess. This is mainly because the exact physics of the controlled mechanics is not always fully known at the start of the project, and because the software performs differently on different hardware, e.g. due to production tolerances and approximated polynomial relationships. Finally, the product family assets used to derive the configuration may have changed during product derivation, for example, due to bug fixes. During the iteration phase, the product configuration is therefore modified and validated until the product is deemed ready.

6 Modification: A configuration can be modified on three levels of abstraction, i.e. architecture, component and parameter level. Modification is accomplished by selecting different architectural component variants, selecting different component implementation variants or changing the parameter settings, respectively. Validation: The validation step in this phase concerns validating the system with respect to adherence to requirements and checking the consistency and correctness of the component configuration. Requirements Engineering Initial Phase Iteration Phase Iteration Phase (Re)Set Parameters Legend Process step (without adaptation) Process step with adaptation Validation Ready (Re)Derive Architecture (Re)Select Components Fig. 3. The iteration phase. The product configuration is modified in a number of iterations, until the product is deemed ready by the validation step Adaptation Requirements that are not accounted for in the shared product family artifacts can only be accommodated by adaptation (denoted by the dashed boxes in Figure 2 and Figure 3). Adaptation involves adapting the product (family) architecture and adapting or creating component implementations. We identify three levels of artifact adaptation, i.e. product specific adaptation, reactive evolution and proactive evolution. Product specific adaptation: The first level of evolution is where, during product derivation, new functionality is implemented in product specific artifacts (e.g. product architecture and product specific component implementations). To this purpose, application engineers can use the shared artifacts as basis for further development, or develop new artifacts from scratch. As functionality implemented through product specific adaptation is not incorporated in the shared artifacts, it cannot be reused in subsequent products unless an old configuration is selected for those products. Reactive evolution: Reactive evolution involves adapting shared artifacts in such a way that they are able to handle the requirements that emerge during product derivation, and can also be shared with other product family members. As reactively evolving shared artifacts has consequences with respect to the other family members, those effects have to be analyzed prior to making any changes.

7 Proactive evolution: The third level, proactive evolution, is actually not a product derivation activity, but a domain engineering activity. It involves adapting the shared artifacts in such a way that the product family is capable of accommodating the needs of the various family members in the future as opposed to evolution as a reaction to requirements that emerge during product derivation. Proactive evolution requires both analysis of the effects with respect to current product family members, as well as analysis of the predicted future of the domain and the product family scope. Domain and scope prediction is accomplished in combination with technology roadmapping [Kostoff 2001]. Independent of the level of evolution, the scope of adjustment required on architecture or component level varies in four different ways. Add variation points: A new variation point has to be constructed if functionality needs to be implemented as variant or optional behavior, and no suitable variation point is available. To this purpose, an interface has to be defined between the variable behavior and the rest of the system. Furthermore, an appropriate mechanism and associated binding time have to be selected and the mechanisms and variant functionality have to be implemented. In addition, in the situation where existing stable functionality is involved, the functionality has to be clearly separated from the rest of the system and re-implemented as a variant that adheres to the variation point interface. In case the binding time is in the post-deployment stage, software for managing the variants and binding needs to be constructed. Change the realization of existing variation points: Adjustment to a variation point may be required for a number of reasons. Changes to a variation point interface, for example, may be required to access additional variable behavior. Furthermore, mechanism changes may be required to move the point at which the variant set is closed to a later stage, while a change to the binding time may be required to increase flexibility or decrease resource consumption. In addition, variation point dependencies and constraints may need to be alleviated. In any case, changes to a variation point may affect all existing variants of the variant set in the sense that they have to be changed accordingly in order to be accessible. Add or change variant: When the functionality fits within the existing set of variation points, it means that the functionality at a point of variation can be incorporated by adding a variant to the variant set. This can be achieved by extending or changing an existing variant, or developing a new variant from scratch. These new or changed variants have to adhere to the variation point interface, as well as existing dependencies and constraints. Remove a variant or variation point: A typical trend in software systems is that functionality specific to some products becomes part of the core functionality of all product family members, e.g. due to market dominance, or that functionality becomes obsolete. The need to support different alternatives, and therefore variation points and variants for this functionality, may disappear. As a response, all but one variant can be removed from the asset base, or the variation point can be removed entirely. If in the latter case one variant is still needed, it has to be re-implemented as stable behavior.

8 3 Case Description In the previous section, we have established a framework of concepts regarding product derivation. In this section, we present the case studies we performed at Thales Nederland B.V. and Robert Bosch GmbH. The business units we interviewed for this case study apply a single product family domain scope to derive their software products. We present a brief description of the companies and their product families, in which we show how the derivation processes instantiate the generic process discussed in section Thales Naval Netherlands Thales Nederland B.V., the Netherlands, is a subsidiary of Thales S.A. in France and mainly develops Ground Based and Naval Systems in the defense area. Thales Naval Netherlands (TNNL), the Dutch division of the business group Naval, is organized in four Business Units, i.e. Radars & Sensors, Combat Systems, Integration & Logistic Support, and Operations. Our case study focused on software parts of the TACTICOS naval combat systems family produced by the Business Unit Combat Systems, more specifically, the Combat Management Systems. A Combat Management System (CMS) is the prime subsystem of a TACTICOS (TACTical Information and COmmand System) Naval Combat System. Its main purpose is to integrate all weapons and sensors on naval vessels that range from fast patrol boats to frigates. The Combat Management System provides Command and Control and Combat Execution capabilities in the real world, as well as training in simulated worlds. The asset base used to derive combat management systems is also referred to as the infrastructure. It contains both in-house developed and COTS (Commercial-Off-The Shelf) components, and captures functionality common to all combat management systems. The Tacticos product family is therefore classified as a family with a platform as the scope of reuse. Derivation Process at business unit Combat Systems Initial Phase. Combat Systems uses configuration selection to derive the initial product configurations. To this purpose, the collected requirements are mapped onto an old configuration, whose characteristics best resemble the requirements at hand. When in subsequent steps all components and parameters are selected, adapted and set, the system is packaged and installed in a complete environment for the initial validation. If the configuration does not pass the initial validation, the derivation process enters the iteration phase. Iteration phase. The initial configuration is modified in a number of iterations by reand de-selecting components, adapting components and changing existing parameter settings, until the product sufficiently adheres to the requirements. Adaptation. Combat Systems applies both reactive evolution and product specific changes when components need to be adapted (see section 2.2.3). Components are also adapted through proactive evolution during domain engineering. Whether requirements are handled by reactive evolution or product specific adaptation, is deter-

9 mined by several Change Control Boards, i.e. groups of experts (such as architects) that synchronize change requests within and between different projects. 3.2 Robert Bosch GmbH Robert Bosch GmbH, Germany, was founded in 1886 in Stuttgart. Currently, it is a worldwide operating company that is active in the Automotive, Industrial, Consumer Electronics and Building Technology areas. Our case study focused on two business units, which for reasons of confidentiality, we refer to as business unit A and B, respectively. The systems produced by both business units consist of both hardware, i.e. the sensors and actuators, and software. The product family assets of business unit A capture both common and variable functionality. Family A is therefore classified as a family with a software product line as scope of reuse. The product family assets of business unit B provide functionality that is common to many products in the family. Therefore, product family B is classified as a product family with a platform as scope of reuse. Derivation Process at business unit A Initial Phase. Starting from requirements engineering, business unit A uses two approaches in deriving an initial configuration of the product: one for lead products and one for secondary products. For lead products, the initial configuration is constructed using the assembly approach. For secondary products, i.e. in the case a similar product has been built before, reference configurations are used to derive an initial configuration. Where necessary, components from the reference configuration are replaced with ones that are more appropriate. Iteration Phase. In the iteration phase, the initial configuration is modified in a number of iterations by reselecting components, adapting components, or changing parameters. Adaptation. If the inconsistencies or new requirements cannot be solved by selecting a different component implementation, a new component implementation is developed through reactive evolution, by copying and adapting an existing implementation, or developing one from scratch. Derivation Process at business unit B Initial Phase. Each time a product needs to be derived from the platform of business unit B, a project team is formed. This project team derives the product by assembly. It copies the latest version of the platform and selects the appropriate components from this copy. Finally, all parameters of the components are set to their initial values. Iteration Phase. When the set of requirements changes, or when inconsistencies arise during the validation process, components and parameters are reselected and changed until the product is deemed finished. Adaptation. When during the initial and iteration phase the requirements for a product configuration cannot be handled by the existing product family assets, copies of the selected components are adapted by product specific adaptation.

10 4 Related Work After being introduced in [Parnas 1976], the notion of software product families have received substantial attention in the research community since the 1990s. The adoption of product families has resulted in a number books, amongst others [Bosch 2000] [Clements 2001] [Jacobson 1997] [Weiss 1999], workshops (PFE 1-4), conferences (SPLC 1 and 2), and several large European projects (ARES, PRAISE, ESAPS and CAFÉ). Several articles that were published through these channels are related to this paper. The notion of a variation point was introduced in [Jacobson 1997]. The notion of variability is further discussed in, amongst others, [Gurp 2001] and [Bachmann 2001]. [Geyer 2002] and [Salicki 2001] present the influence of expressing variability on the product derivation process. They assume a more naïve unidirectional process flow, however, rather then a phased process model with iterations for reevaluating the choice for variants. Well-known process models that resemble the ideas of the phased product derivation model are the Rational Unified Process [Kruchten 2000] and Boehm s spiral model [Boehm 1988]. The 2-dimensional maturity classification of product families briefly discussed in this paper is an extension and refinement of the 1-dimensional maturity classification presented in [Bosch 2002]. 5 Conclusions Software product families have received wide adoption in industry. Most product families we encountered can be classified according to two dimensions of scope, i.e. scope of reuse and domain scope. In this paper, we focused on the scope of reuse dimension in a single product family domain scope, i.e. the dimension that denotes to which extent commonalities between related products are exploited in a single product family. The levels of scope in this dimension are standardized infrastructure, platform, software product line, and configurable product family. The work presented in this paper is motivated by the impression that despite the substantial attention in the software product family research community to designing reusable software assets, deriving individual products from shared software assets is a rather time-consuming and expensive for a large number of organizations. In this paper, we have presented a product derivation framework as basis for further discussion. This framework consists of the product family classification mentioned above and a software derivation process that we generalized from practice. The generic derivation process consists of two main phases, i.e. the initial and the iteration phase. In the initial phase, a first configuration is created from the product family assets by assembling a subset of shared artifact or by selecting a closest matching existing configuration. The initial configuration is then validated to determine to what extent the configuration adheres to the requirements imposed by, amongst others, the customer and organization. If the configuration is not deemed finished, the derivation process enters the iteration phase. In the iteration phase, the initial configu-

11 ration is modified in a number of subsequent iterations until the product sufficiently implements the imposed requirements. Requirements not accounted for in the shared artifacts are handled by adapting those artifacts. We have identified three levels of adaptation, i.e. product specific adaptation, reactive evolution, and proactive evolution. Proactive evolution is actually not a product derivation activity, but a domain engineering activity that we added for completeness sake. The main distinct characteristics of the product families from our case study are summarized in the table below. As shown, the derivation processes at both organizations represent a subset of the generic process we discussed above. Product Family Scope of reuse Initial derivation phase Adaptation Combat Systems Platform Old configuration Reactive & product specific Bosch A Product line Reference configuration & assembly Reactive Bosch B Platform Assembly Product specific Table 1. The main characteristics of the product families at the business unit Combat Systems at Thales Netherlands B.V., and two business units of Robert Bosch GmbH (A and B). In [Deelstra 2003], we discuss several challenges that the industrial partners of the ConIPF project face during product derivation in terms of the framework presented in this paper. Future work of the ConIPF project aims to define and validate methodologies that are practicable in industrial application and that address those product derivation problems. Acknowledgements This research has been sponsored by ConIPF (Configuration in Industrial Product Families), under contract no. IST We would like to thank the business unit Combat Systems at Thales Nederland B.V., as well as two business units at Robert Bosch GmbH, for their valuable input. In particular, we would like to thank Paul Burghardt (Thales), as well as John MacGregor and Andreas Hein (Bosch). 6 References [Bachman 2001] F. Bachmann, L. Bass, Managing Variability in Software Architecture, In Proceedings of the ACM SIGSOFT Symposium on Software Reusability (SSR 01), pp , [Boehm 1988] B. W. Boehm, A spiral model of software development and enhancement, IEEE Computer, Vol. 21, No. 5, pp , [Bosch 2000] J. Bosch, Design and Use of Software Architectures: Adopting and Evolving a Product Line Approach, Pearson Education (Addison-Wesley & ACM Press), ISBN , [Bosch 2002] J. Bosch, Maturity and Evolution in Software Product Lines; Approaches, Artefacts and Organization, Proceedings of the Second Software Product Line Conference, pp , 2002.

12 [Clements 2001] P. Clements, L. Northrop, Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, ISBN: , Addison-Wesley, ISBN: [ConIPF 2003] The ConIPF project (Configuration of Industrial Product Families), [Deelstra 2003] S. Deelstra, M. Sinnema, J. Bosch, Experiences in Software Product Families: Problems and Issues during Product Derivation, submitted for publication, [Jacobson 1997] I. Jacobson, M. Griss, P. Jonsson, Software Reuse. Architecture, Process and Organization for Business Success. Addison-Wesley, ISBN: , [Geyer 2002] L. Geyer, M. Becker, On the Influence of Variabilities on the Application Engineering Process of a Product Family, Proceedings of the Second Software Product Line Conference, pp. 1 14, [Gurp 2001] J. van Gurp, J. Bosch, M. Svahnberg, On the notion of Variability in Software Product Lines, Proceedings of The Working IEEE/IFIP Conference on Software Architecture, pp , [Kostoff 2001] R. N. Kostoff, R. R. Schaller, Science and Technology Roadmaps, IEEE Transactions on Engineering Management, Vol. 48, no. 2, pp , [Kruchten 2000] P. Kruchten. The Rational Unified Process: An Introduction (2nd Edition), ISBN , [Linden 2002] F. v.d. Linden. Software Product Families in Europe: The Esaps & Café Projects, IEEE Software, Vol. 19, No. 4, pp , [Macala 1996] R. Macala, L. Stuckey, D. Gross. Managing Domain-Specific, Product-Line Development. IEEE Software, pages 57 67, [Ommering 2002] R. van Ommering, Building Product Populations with Software Components, Proceedings of the International Conference on Software Engineering 2002, [Parnas 1976] D. Parnas, On the Design and Development of Program Families, IEEE Transactions on Software Engineering, SE-2(1):1 9, [Salicki 2001] S. Salicki, N. Farcet, Expression and Usage of the Variability in the Software Product Lines, Proceedings of the Fourth International Workshop on Product Family Engineering (PFE-4), pp , [Svahnberg 1999] M. Svahnberg, J. Bosch, Evolution in Software Product Lines, Journal of Software Maintenance Research and Practice, Vol. 11, No. 6, pp , [Weiss 1999] D. M. Weiss, C.T.R. Lai, Software Product-Line Engineering: A Family Based Software Development Process, Addison - Wesley, ISBN , 1999.

Using Variability Modeling Principles to Capture Architectural Knowledge

Using Variability Modeling Principles to Capture Architectural Knowledge Using Variability Modeling Principles to Capture Architectural Knowledge Marco Sinnema University of Groningen PO Box 800 9700 AV Groningen The Netherlands +31503637125 m.sinnema@rug.nl Jan Salvador van

More information

Towards an MDA-based development methodology 1

Towards an MDA-based development methodology 1 Towards an MDA-based development methodology 1 Anastasius Gavras 1, Mariano Belaunde 2, Luís Ferreira Pires 3, João Paulo A. Almeida 3 1 Eurescom GmbH, 2 France Télécom R&D, 3 University of Twente 1 gavras@eurescom.de,

More information

Grundlagen des Software Engineering Fundamentals of Software Engineering

Grundlagen des Software Engineering Fundamentals of Software Engineering Software Engineering Research Group: Processes and Measurement Fachbereich Informatik TU Kaiserslautern Grundlagen des Software Engineering Fundamentals of Software Engineering Winter Term 2011/12 Prof.

More information

The Decision View of Software Architecture: Building by Browsing

The Decision View of Software Architecture: Building by Browsing The Decision View of Software Architecture: Building by Browsing Juan C. Dueñas 1, Rafael Capilla 2 1 Department of Engineering of Telematic Systems, ETSI Telecomunicación, Universidad Politécnica de Madrid,

More information

The Evolution Tree: A Maintenance-Oriented Software Development Model

The Evolution Tree: A Maintenance-Oriented Software Development Model The Evolution Tree: A Maintenance-Oriented Software Development Model Amir Tomer The Technion Israel Institute of Technology, Haifa, Israel Stephen R. Schach Vanderbilt University, Nashville, Tennessee,

More information

UNIT-III LIFE-CYCLE PHASES

UNIT-III LIFE-CYCLE PHASES INTRODUCTION: UNIT-III LIFE-CYCLE PHASES - If there is a well defined separation between research and development activities and production activities then the software is said to be in successful development

More information

Variability in Time Product Line Variability and Evolution Revisited

Variability in Time Product Line Variability and Evolution Revisited Variability in Time Variability and Evolution Revisited Christoph Elsner, Goetz Botterweck, Daniel Lohmann, Wolfgang Schröder-Preikschat Siemens Corporate Technology & Research, Erlangen, Germany christoph.elsner.ext@siemens.com

More information

Extending an IEEE Compliant Viewpoint-Based Engineering-Framework for Embedded Systems to Support Variant Management

Extending an IEEE Compliant Viewpoint-Based Engineering-Framework for Embedded Systems to Support Variant Management Extending an IEEE 42010-Compliant Viewpoint-Based Engineering-Framework for Embedded Systems to Support Variant Management André Heuer, Tobias Kaufmann, and Thorsten Weyer paluno The Ruhr Institute for

More information

A FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING

A FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING A FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING Edward A. Addy eaddy@wvu.edu NASA/WVU Software Research Laboratory ABSTRACT Verification and validation (V&V) is performed during

More information

School of Computing, National University of Singapore 3 Science Drive 2, Singapore ABSTRACT

School of Computing, National University of Singapore 3 Science Drive 2, Singapore ABSTRACT NUROP CONGRESS PAPER AGENT BASED SOFTWARE ENGINEERING METHODOLOGIES WONG KENG ONN 1 AND BIMLESH WADHWA 2 School of Computing, National University of Singapore 3 Science Drive 2, Singapore 117543 ABSTRACT

More information

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and education use, including for instruction at the authors institution

More information

Refinement and Evolution Issues in Bridging Requirements and Architectures

Refinement and Evolution Issues in Bridging Requirements and Architectures Refinement and Evolution Issues between Requirements and Product Line s 1 Refinement and Evolution Issues in Bridging Requirements and s Alexander Egyed, Paul Gruenbacher, and Nenad Medvidovic University

More information

How to Keep a Reference Ontology Relevant to the Industry: a Case Study from the Smart Home

How to Keep a Reference Ontology Relevant to the Industry: a Case Study from the Smart Home How to Keep a Reference Ontology Relevant to the Industry: a Case Study from the Smart Home Laura Daniele, Frank den Hartog, Jasper Roes TNO - Netherlands Organization for Applied Scientific Research,

More information

A FORMAL METHOD FOR MAPPING SOFTWARE ENGINEERING PRACTICES TO ESSENCE

A FORMAL METHOD FOR MAPPING SOFTWARE ENGINEERING PRACTICES TO ESSENCE A FORMAL METHOD FOR MAPPING SOFTWARE ENGINEERING PRACTICES TO ESSENCE Murat Pasa Uysal Department of Management Information Systems, Başkent University, Ankara, Turkey ABSTRACT Essence Framework (EF) aims

More information

Explicit Domain Knowledge in Software Engineering

Explicit Domain Knowledge in Software Engineering Explicit Domain Knowledge in Software Engineering Maja D Hondt System and Software Engineering Lab Vrije Universiteit Brussel, Belgium mjdhondt@vub.ac.be January 6, 2002 1 Research Areas This research

More information

Software Architecture Evaluation Methods A Survey Abstract Refer ences

Software Architecture Evaluation Methods A Survey Abstract Refer ences {tag} Volume 49 - Number 16 {/tag} International Journal of Computer Applications 2012 by IJCA Journal Year of Publication: 2012 P. Shanmugapriya Authors: R. M. Suresh 10.5120/7711-1107 {bibtex}pxc3881107.bib{/bibtex}

More information

Software-Intensive Systems Producibility

Software-Intensive Systems Producibility Pittsburgh, PA 15213-3890 Software-Intensive Systems Producibility Grady Campbell Sponsored by the U.S. Department of Defense 2006 by Carnegie Mellon University SSTC 2006. - page 1 Producibility

More information

COPYRIGHTED MATERIAL. Introduction. 1.1 Important Definitions

COPYRIGHTED MATERIAL. Introduction. 1.1 Important Definitions 1 Introduction In modern, complex telecommunications systems, quality is not something that can be added at the end of the development. Neither can quality be ensured just by design. Of course, designing

More information

Software Maintenance Cycles with the RUP

Software Maintenance Cycles with the RUP Software Maintenance Cycles with the RUP by Philippe Kruchten Rational Fellow Rational Software Canada The Rational Unified Process (RUP ) has no concept of a "maintenance phase." Some people claim that

More information

UNIT VIII SYSTEM METHODOLOGY 2014

UNIT VIII SYSTEM METHODOLOGY 2014 SYSTEM METHODOLOGY: UNIT VIII SYSTEM METHODOLOGY 2014 The need for a Systems Methodology was perceived in the second half of the 20th Century, to show how and why systems engineering worked and was so

More information

System of Systems Software Assurance

System of Systems Software Assurance System of Systems Software Assurance Introduction Under DoD sponsorship, the Software Engineering Institute has initiated a research project on system of systems (SoS) software assurance. The project s

More information

Final Report of the Subcommittee on the Identification of Modeling and Simulation Capabilities by Acquisition Life Cycle Phase (IMSCALCP)

Final Report of the Subcommittee on the Identification of Modeling and Simulation Capabilities by Acquisition Life Cycle Phase (IMSCALCP) Final Report of the Subcommittee on the Identification of Modeling and Simulation Capabilities by Acquisition Life Cycle Phase (IMSCALCP) NDIA Systems Engineering Division M&S Committee 22 May 2014 Table

More information

DMSMS Management: After Years of Evolution, There s Still Room for Improvement

DMSMS Management: After Years of Evolution, There s Still Room for Improvement DMSMS Management: After Years of Evolution, There s Still Room for Improvement By Jay Mandelbaum, Tina M. Patterson, Robin Brown, and William F. Conroy dsp.dla.mil 13 Which of the following two statements

More information

First Turkish Software Product Line Engineering Workshop Summary

First Turkish Software Product Line Engineering Workshop Summary ACM SIGSOFT Software Engineering Notes Page 30 November 2012 Volume 37 Number 6 First Turkish Software Product Line Engineering Workshop Summary Bedir Tekinerdogan Bilkent University, Turkey bedir@cs.bilkent.edu.tr

More information

Patterns and their impact on system concerns

Patterns and their impact on system concerns Patterns and their impact on system concerns Michael Weiss Department of Systems and Computer Engineering Carleton University, Ottawa, Canada weiss@sce.carleton.ca Abstract Making the link between architectural

More information

Pervasive Services Engineering for SOAs

Pervasive Services Engineering for SOAs Pervasive Services Engineering for SOAs Dhaminda Abeywickrama (supervised by Sita Ramakrishnan) Clayton School of Information Technology, Monash University, Australia dhaminda.abeywickrama@infotech.monash.edu.au

More information

Software Life Cycle Models

Software Life Cycle Models 1 Software Life Cycle Models The goal of Software Engineering is to provide models and processes that lead to the production of well-documented maintainable software in a manner that is predictable. 2

More information

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN SESSION II: OVERVIEW OF SOFTWARE ENGINEERING DESIGN Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos

More information

An MDA -based framework for model-driven product derivation

An MDA -based framework for model-driven product derivation An MDA -based framework for model-driven product derivation Øystein Haugen, Birger Møller-Pedersen, Jon Oldevik #, Arnor Solberg # University of Oslo, # SINTEF {oysteinh birger}@ifi.uio.no, {jon.oldevik

More information

Dutch Underwater Knowledge Centre (DUKC)

Dutch Underwater Knowledge Centre (DUKC) Dutch Underwater Knowledge Centre (DUKC) Introduction Could Dutch industries design and build the replacement for the Walrus class submarines for the Royal Netherlands Navy (RNLN)? The answer is: Yes,

More information

A Spiral Development Model for an Advanced Traffic Management System (ATMS) Architecture Based on Prototype

A Spiral Development Model for an Advanced Traffic Management System (ATMS) Architecture Based on Prototype International Journal of Science, Technology and Society 2015; 3(6): 304-308 Published online December 15, 2015 (http://www.sciencepublishinggroup.com/j/ijsts) doi: 10.11648/j.ijsts.20150306.15 ISSN: 2330-7412

More information

Catholijn M. Jonker and Jan Treur Vrije Universiteit Amsterdam, Department of Artificial Intelligence, Amsterdam, The Netherlands

Catholijn M. Jonker and Jan Treur Vrije Universiteit Amsterdam, Department of Artificial Intelligence, Amsterdam, The Netherlands INTELLIGENT AGENTS Catholijn M. Jonker and Jan Treur Vrije Universiteit Amsterdam, Department of Artificial Intelligence, Amsterdam, The Netherlands Keywords: Intelligent agent, Website, Electronic Commerce

More information

Evolving High-Dimensional, Adaptive Camera-Based Speed Sensors

Evolving High-Dimensional, Adaptive Camera-Based Speed Sensors In: M.H. Hamza (ed.), Proceedings of the 21st IASTED Conference on Applied Informatics, pp. 1278-128. Held February, 1-1, 2, Insbruck, Austria Evolving High-Dimensional, Adaptive Camera-Based Speed Sensors

More information

Unit 5: Unified Software Development Process. 3C05: Unified Software Development Process USDP. USDP for your project. Iteration Workflows.

Unit 5: Unified Software Development Process. 3C05: Unified Software Development Process USDP. USDP for your project. Iteration Workflows. Unit 5: Unified Software Development Process 3C05: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 1 2

More information

Applying Open Architecture Concepts to Mission and Ship Systems

Applying Open Architecture Concepts to Mission and Ship Systems Applying Open Architecture Concepts to Mission and Ship Systems John M. Green Gregory Miller Senior Lecturer Lecturer Department of Systems Engineering Introduction Purpose: to introduce a simulation based

More information

Achieving Desirable Gameplay Objectives by Niched Evolution of Game Parameters

Achieving Desirable Gameplay Objectives by Niched Evolution of Game Parameters Achieving Desirable Gameplay Objectives by Niched Evolution of Game Parameters Scott Watson, Andrew Vardy, Wolfgang Banzhaf Department of Computer Science Memorial University of Newfoundland St John s.

More information

Strategic Considerations when Introducing Model Based Systems Engineering

Strategic Considerations when Introducing Model Based Systems Engineering Copyright 2015 by Christoph Bräuchle, Manfred Broy, Dominik Rüchardt. Permission granted to INCOSE to publish and use Strategic Considerations when Introducing Model Based Systems Engineering Christoph

More information

Model-Driven Engineering of Embedded Real-Time Systems

Model-Driven Engineering of Embedded Real-Time Systems Model-Driven Engineering of Embedded Real-Time Systems Federico Ciccozzi 1 Mälardalen University, Mälardalen Real-Time Research Center federico.ciccozzi@mdh.se 1 Introduction 1.1 Research Topic Model-Based

More information

UML and Patterns.book Page 52 Thursday, September 16, :48 PM

UML and Patterns.book Page 52 Thursday, September 16, :48 PM UML and Patterns.book Page 52 Thursday, September 16, 2004 9:48 PM UML and Patterns.book Page 53 Thursday, September 16, 2004 9:48 PM Chapter 5 5 EVOLUTIONARY REQUIREMENTS Ours is a world where people

More information

Software Architecture. New wine in old bottles? (i.e., software architecture global design?, architect designer)

Software Architecture. New wine in old bottles? (i.e., software architecture global design?, architect designer) Software Architecture New wine in old bottles? (i.e., software architecture global design?, architect designer) Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural

More information

Knowledge Evolution in Autonomic Software Product Lines

Knowledge Evolution in Autonomic Software Product Lines Knowledge Evolution in Autonomic Software Product Lines Nadeem Abbas Linnaeus University Software Technology Group +46(0)470 708051 nadeem.abbas@lnu.se Jesper Andersson Linnaeus University Software Technology

More information

Improving Awareness during Product Derivation in Multi-User Multi Product Line Environments

Improving Awareness during Product Derivation in Multi-User Multi Product Line Environments Improving Awareness during Product Derivation in Multi-User Multi Product Line Environments Rick Rabiser Paul Grünbacher Gerald Holl Christian Doppler Laboratory for Automated Software Engineering Johannes

More information

FL-ARCH DESIGN: Formal Description Languages for the Architectural Design of Software Systems

FL-ARCH DESIGN: Formal Description Languages for the Architectural Design of Software Systems THALES Project No. 1194 FL-ARCH DESIGN: Formal Description Languages for the Architectural Design of Software Systems Research Team Manolis Skordalakis, Professor * Nikolaos S. Papaspyrou, Lecturer Paris

More information

DESIGN AND CAPABILITIES OF AN ENHANCED NAVAL MINE WARFARE SIMULATION FRAMEWORK. Timothy E. Floore George H. Gilman

DESIGN AND CAPABILITIES OF AN ENHANCED NAVAL MINE WARFARE SIMULATION FRAMEWORK. Timothy E. Floore George H. Gilman Proceedings of the 2011 Winter Simulation Conference S. Jain, R.R. Creasey, J. Himmelspach, K.P. White, and M. Fu, eds. DESIGN AND CAPABILITIES OF AN ENHANCED NAVAL MINE WARFARE SIMULATION FRAMEWORK Timothy

More information

Adapting to the rapid changes in our increasingly. Building Dynamic Software Product Lines

Adapting to the rapid changes in our increasingly. Building Dynamic Software Product Lines Guest Editors Introduction Building Dynamic Software Product Lines Mike Hinchey, Lero the Irish Software Engineering Research Centre, University of Limerick, Ireland Sooyong Park, Sogang University, South

More information

Using Architectural Decisions

Using Architectural Decisions Using Architectural Decisions Jan S. van der Ven, Anton Jansen, Paris Avgeriou, and Dieter K. Hammer University of Groningen, Department of Mathematics and Computing Science, PO Box 800, 9700AV Groningen,

More information

Distilling Scenarios from Patterns for Software Architecture Evaluation A Position Paper

Distilling Scenarios from Patterns for Software Architecture Evaluation A Position Paper Distilling Scenarios from Patterns for Software Architecture Evaluation A Position Paper Liming Zhu, Muhammad Ali Babar, Ross Jeffery National ICT Australia Ltd. and University of New South Wales, Australia

More information

A Mashup of Techniques to Create Reference Architectures

A Mashup of Techniques to Create Reference Architectures A Mashup of Techniques to Create Reference Architectures Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Rick Kazman, John McGregor Copyright 2012 Carnegie Mellon University.

More information

The Role of Computer Science and Software Technology in Organizing Universities for Industry 4.0 and Beyond

The Role of Computer Science and Software Technology in Organizing Universities for Industry 4.0 and Beyond The Role of Computer Science and Software Technology in Organizing Universities for Industry 4.0 and Beyond Prof. dr. ir. Mehmet Aksit m.aksit@utwente.nl Department of Computer Science, University of Twente,

More information

Enhancing Model-Based Engineering of Product Lines by Adding Functional Safety

Enhancing Model-Based Engineering of Product Lines by Adding Functional Safety Enhancing Model-Based Engineering of Product Lines by Adding Functional Safety Stephan Baumgart 1 and Joakim Fröberg 2, Sasikumar Punnekkat 2, 3 1 Dept. Change Management and Process Development, Volvo

More information

ABSTRACT 1. INTRODUCTION

ABSTRACT 1. INTRODUCTION THE APPLICATION OF SOFTWARE DEFINED RADIO IN A COOPERATIVE WIRELESS NETWORK Jesper M. Kristensen (Aalborg University, Center for Teleinfrastructure, Aalborg, Denmark; jmk@kom.aau.dk); Frank H.P. Fitzek

More information

Towards Integrated System and Software Modeling for Embedded Systems

Towards Integrated System and Software Modeling for Embedded Systems Towards Integrated System and Software Modeling for Embedded Systems Hassan Gomaa Department of Computer Science George Mason University, Fairfax, VA hgomaa@gmu.edu Abstract. This paper addresses the integration

More information

Architectural assumptions and their management in software development Yang, Chen

Architectural assumptions and their management in software development Yang, Chen University of Groningen Architectural assumptions and their management in software development Yang, Chen IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's PDF) if you wish

More information

The Disappearing Computer. Information Document, IST Call for proposals, February 2000.

The Disappearing Computer. Information Document, IST Call for proposals, February 2000. The Disappearing Computer Information Document, IST Call for proposals, February 2000. Mission Statement To see how information technology can be diffused into everyday objects and settings, and to see

More information

Development of Concurrent Engineering Tool for Early Design of Mechatronics Product

Development of Concurrent Engineering Tool for Early Design of Mechatronics Product 210 Proceedings of the 8th International Conference on Innovation & Management Development of Concurrent Engineering Tool for Early Design of Mechatronics Product Yusuke Odoh, Tatsuya Kasamatsu, Tsuyoshi

More information

Methodology for Agent-Oriented Software

Methodology for Agent-Oriented Software ب.ظ 03:55 1 of 7 2006/10/27 Next: About this document... Methodology for Agent-Oriented Software Design Principal Investigator dr. Frank S. de Boer (frankb@cs.uu.nl) Summary The main research goal of this

More information

TECHNOLOGY COMMONALITY FOR SIMULATION TRAINING OF AIR COMBAT OFFICERS AND NAVAL HELICOPTER CONTROL OFFICERS

TECHNOLOGY COMMONALITY FOR SIMULATION TRAINING OF AIR COMBAT OFFICERS AND NAVAL HELICOPTER CONTROL OFFICERS TECHNOLOGY COMMONALITY FOR SIMULATION TRAINING OF AIR COMBAT OFFICERS AND NAVAL HELICOPTER CONTROL OFFICERS Peter Freed Managing Director, Cirrus Real Time Processing Systems Pty Ltd ( Cirrus ). Email:

More information

SWEN 256 Software Process & Project Management

SWEN 256 Software Process & Project Management SWEN 256 Software Process & Project Management What is quality? A definition of quality should emphasize three important points: 1. Software requirements are the foundation from which quality is measured.

More information

RESEARCH OVERVIEW Methodology to Identify Opportunities for Flexible Design

RESEARCH OVERVIEW Methodology to Identify Opportunities for Flexible Design RESEARCH OVERVIEW Methodology to Identify Opportunities for Flexible Design Jennifer Wilds, Research Assistant wilds@mit.edu October 16, 2007 Advisors: D. Hastings and R. de Neufville Researcher s Background

More information

Impediments to designing and developing for accessibility, accommodation and high quality interaction

Impediments to designing and developing for accessibility, accommodation and high quality interaction Impediments to designing and developing for accessibility, accommodation and high quality interaction D. Akoumianakis and C. Stephanidis Institute of Computer Science Foundation for Research and Technology-Hellas

More information

Where does architecture end and technology begin? Rami Razouk The Aerospace Corporation

Where does architecture end and technology begin? Rami Razouk The Aerospace Corporation Introduction Where does architecture end and technology begin? Rami Razouk The Aerospace Corporation Over the last several years, the software architecture community has reached significant consensus about

More information

Location Discovery in Sensor Network

Location Discovery in Sensor Network Location Discovery in Sensor Network Pin Nie Telecommunications Software and Multimedia Laboratory Helsinki University of Technology niepin@cc.hut.fi Abstract One established trend in electronics is micromation.

More information

FOSS in Military Computing

FOSS in Military Computing FOSS in Military Computing Life-Cycle Support for FOSS-Based Information Systems By Robert Charpentier Richard Carbone R et D pour la défense Canada Defence R&D Canada Canada FOSS Project History Overview

More information

Dr Daniela Cancila. Laboratoire des composants logiciels pour la Sécurité et la Sûreté des Systèmes (L3S)

Dr Daniela Cancila. Laboratoire des composants logiciels pour la Sécurité et la Sûreté des Systèmes (L3S) Dr Daniela Cancila Laboratoire des composants logiciels pour la Sécurité et la Sûreté des Systèmes (L3S) Département Architecture & Conception de Logiciels Embarqués Service de Conception des Systèmes

More information

Towards a Software Engineering Research Framework: Extending Design Science Research

Towards a Software Engineering Research Framework: Extending Design Science Research Towards a Software Engineering Research Framework: Extending Design Science Research Murat Pasa Uysal 1 1Department of Management Information Systems, Ufuk University, Ankara, Turkey ---------------------------------------------------------------------***---------------------------------------------------------------------

More information

Support of Design Reuse by Software Product Lines: Leveraging Commonality and Managing Variability

Support of Design Reuse by Software Product Lines: Leveraging Commonality and Managing Variability PI: Dr. Ravi Shankar Dr. Support of Design Reuse by Software Product Lines: Leveraging Commonality and Managing Variability Dr. Shihong Huang Computer Science & Engineering Florida Atlantic University

More information

TECHNICAL AND OPERATIONAL NOTE ON CHANGE MANAGEMENT OF GAMBLING TECHNICAL SYSTEMS AND APPROVAL OF THE SUBSTANTIAL CHANGES TO CRITICAL COMPONENTS.

TECHNICAL AND OPERATIONAL NOTE ON CHANGE MANAGEMENT OF GAMBLING TECHNICAL SYSTEMS AND APPROVAL OF THE SUBSTANTIAL CHANGES TO CRITICAL COMPONENTS. TECHNICAL AND OPERATIONAL NOTE ON CHANGE MANAGEMENT OF GAMBLING TECHNICAL SYSTEMS AND APPROVAL OF THE SUBSTANTIAL CHANGES TO CRITICAL COMPONENTS. 1. Document objective This note presents a help guide for

More information

Separation of Concerns in Software Engineering Education

Separation of Concerns in Software Engineering Education Separation of Concerns in Software Engineering Education Naji Habra Institut d Informatique University of Namur Rue Grandgagnage, 21 B-5000 Namur +32 81 72 4995 nha@info.fundp.ac.be ABSTRACT Separation

More information

Software Agent Reusability Mechanism at Application Level

Software Agent Reusability Mechanism at Application Level Global Journal of Computer Science and Technology Software & Data Engineering Volume 13 Issue 3 Version 1.0 Year 2013 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals

More information

Systems Architecting and Software Architecting - On Separate or Convergent Paths?

Systems Architecting and Software Architecting - On Separate or Convergent Paths? Paper ID #5762 Systems Architecting and Architecting - On Separate or Convergent Paths? Dr. Howard Eisner, George Washington University Dr. Eisner, since 1989, has served as Distinguished Research Professor

More information

preface Motivation Figure 1. Reality-virtuality continuum (Milgram & Kishino, 1994) Mixed.Reality Augmented. Virtuality Real...

preface Motivation Figure 1. Reality-virtuality continuum (Milgram & Kishino, 1994) Mixed.Reality Augmented. Virtuality Real... v preface Motivation Augmented reality (AR) research aims to develop technologies that allow the real-time fusion of computer-generated digital content with the real world. Unlike virtual reality (VR)

More information

The Future of Systems Engineering

The Future of Systems Engineering The Future of Systems Engineering Mr. Paul Martin, ESEP Systems Engineer paul.martin@se-scholar.com 1 SEs are Problem-solvers Across an organization s products or services, systems engineers also provide

More information

Preparing for Product Derivation: Activities and Issues

Preparing for Product Derivation: Activities and Issues Preparing for Product Derivation: Activities and Issues Padraig O Leary 1, Fergal McCaffery 2, Ita Richardson 1, Steffen Thiel 3 1 Lero, the Irish Software Engineering Research Centre, University of Limerick,

More information

Toward a Conceptual Comparison Framework between CBSE and SOSE

Toward a Conceptual Comparison Framework between CBSE and SOSE Toward a Conceptual Comparison Framework between CBSE and SOSE Anthony Hock-koon and Mourad Oussalah University of Nantes, LINA 2 rue de la Houssiniere, 44322 NANTES, France {anthony.hock-koon,mourad.oussalah}@univ-nantes.fr

More information

Open Architecture Summit 2017 Industry Panel: Getting Everyone On Board

Open Architecture Summit 2017 Industry Panel: Getting Everyone On Board Open Architecture Summit 2017 Industry Panel: Getting Everyone On Board Dr. Steven A. Davidson Director, Product Family Development and Open Systems Architecture Raytheon Space and Airborne Systems October

More information

Software Construction

Software Construction Software Construction Staff Faculty: Univ.-Prof. Dr. rer. nat. Horst Lichter lichter@informatik.rwth-aachen.de Secretary: Bärbel Kronewetter Phone: +49 241 80 21 330 Fax: +49 241 80 22 352 Research Assistants:

More information

The secret behind mechatronics

The secret behind mechatronics The secret behind mechatronics Why companies will want to be part of the revolution In the 18th century, steam and mechanization powered the first Industrial Revolution. At the turn of the 20th century,

More information

Advanced Research Methodology Design Science. Sjaak Brinkkemper

Advanced Research Methodology Design Science. Sjaak Brinkkemper Advanced Research Methodology Design Science Sjaak Brinkkemper Outline Fundamentals of Design Science Design Science: SPM maturity Matrix Design Science: Openness degree Reflection Business Informatics

More information

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS Eva Cipi, PhD in Computer Engineering University of Vlora, Albania Abstract This paper is focused on presenting

More information

Course Outline Department of Computing Science Faculty of Science

Course Outline Department of Computing Science Faculty of Science Course Outline Department of Computing Science Faculty of Science COMP 2920 3 Software Architecture & Design (3,1,0) Fall, 2015 Instructor: Phone/Voice Mail: Office: E-Mail: Office Hours: Calendar /Course

More information

Towards a Methodology for Designing Artificial Conscious Robotic Systems

Towards a Methodology for Designing Artificial Conscious Robotic Systems Towards a Methodology for Designing Artificial Conscious Robotic Systems Antonio Chella 1, Massimo Cossentino 2 and Valeria Seidita 1 1 Dipartimento di Ingegneria Informatica - University of Palermo, Viale

More information

David N Ford, Ph.D.,P.E. Zachry Department of Civil Engineering Texas A&M University. Military Acquisition. Research Project Descriptions

David N Ford, Ph.D.,P.E. Zachry Department of Civil Engineering Texas A&M University. Military Acquisition. Research Project Descriptions David N Ford, Ph.D.,P.E. Zachry Department of Civil Engineering Texas A&M University Military Acquisition Research Project Descriptions Index Angelis, D., Ford, DN, and Dillard, J. Real options in military

More information

Industrial Use of Domain-Specific Modeling: Panel Summary

Industrial Use of Domain-Specific Modeling: Panel Summary Industrial Use of Domain-Specific Modeling: Panel Summary Juha-Pekka Tolvanen MetaCase Niels Brouwers Altran Robert Hendriksen SoLay-Tec and Sioux Gökhan Kahraman ASELSAN A.S Jeroen Kouwer Thales Abstract

More information

DEFENSE ACQUISITION UNIVERSITY EMPLOYEE SELF-ASSESSMENT. Outcomes and Enablers

DEFENSE ACQUISITION UNIVERSITY EMPLOYEE SELF-ASSESSMENT. Outcomes and Enablers Outcomes and Enablers 1 From an engineering leadership perspective, the student will describe elements of DoD systems engineering policy and process across the Defense acquisition life-cycle in accordance

More information

Software Product Lines in Automotive Systems Engineering

Software Product Lines in Automotive Systems Engineering 08AE-53 Software Product Lines in Automotive Systems Engineering Steffen Thiel 1, Liam O Brien 2, Muhammad Ali Babar 1, Goetz Botterweck 1 1) Lero The Irish Software Engineering Research Centre, University

More information

Aerospace Software* Cost and Timescale Reduction *and complex electronic hardware

Aerospace Software* Cost and Timescale Reduction *and complex electronic hardware Aerospace Software* Cost and Timescale Reduction *and complex electronic hardware Andrew Hawthorn Deputy Director, Intelligent Systems / Altran UK and SECT-AIR WP4 Lead on behalf of the SECT-AIR Consortium

More information

Software maintenance research that is empirically valid and useful in practice

Software maintenance research that is empirically valid and useful in practice DE GRUYTER OLDENBOURG it Information Technology 2016; 58(3): 145 149 Self-Portrayals of GI Junior Fellows Elmar Juergens* Software maintenance research that is empirically valid and useful in practice

More information

LICENSING THE PALLAS-REACTOR USING THE CONCEPTUAL SAFETY DOCUMENT

LICENSING THE PALLAS-REACTOR USING THE CONCEPTUAL SAFETY DOCUMENT LICENSING THE PALLAS-REACTOR USING THE CONCEPTUAL SAFETY DOCUMENT M. VISSER, N.D. VAN DER LINDEN Licensing and compliance department, PALLAS Comeniusstraat 8, 1018 MS Alkmaar, The Netherlands 1. Abstract

More information

SENG609.22: Agent-Based Software Engineering Assignment. Agent-Oriented Engineering Survey

SENG609.22: Agent-Based Software Engineering Assignment. Agent-Oriented Engineering Survey SENG609.22: Agent-Based Software Engineering Assignment Agent-Oriented Engineering Survey By: Allen Chi Date:20 th December 2002 Course Instructor: Dr. Behrouz H. Far 1 0. Abstract Agent-Oriented Software

More information

Putting the Systems in Security Engineering An Overview of NIST

Putting the Systems in Security Engineering An Overview of NIST Approved for Public Release; Distribution Unlimited. 16-3797 Putting the Systems in Engineering An Overview of NIST 800-160 Systems Engineering Considerations for a multidisciplinary approach for the engineering

More information

Interactive Aircraft Cabin Simulator for Stress-Free Air Travel System: A Concurrent Engineering Design Approach

Interactive Aircraft Cabin Simulator for Stress-Free Air Travel System: A Concurrent Engineering Design Approach Interactive Aircraft Cabin Simulator for Stress-Free Air Travel System: A Concurrent Engineering Design Approach CheeFai Tan 1, Wei Chen and Matthias Rauterberg Designed Intelligence Group, Department

More information

with permission from World Scientific Publishing Co. Pte. Ltd.

with permission from World Scientific Publishing Co. Pte. Ltd. The CoCoME Platform: A Research Note on Empirical Studies in Information System Evolution, Robert Heinrich, Stefan Gärtner, Tom-Michael Hesse, Thomas Ruhroth, Ralf Reussner, Kurt Schneider, Barbara Paech

More information

A Methodology for Effective Reuse of Design Simulators in Operational Contexts: Lessons Learned in European Space Programmes

A Methodology for Effective Reuse of Design Simulators in Operational Contexts: Lessons Learned in European Space Programmes A Methodology for Effective Reuse of Design Simulators in Operational Contexts: Lessons Learned in European Space Programmes 11th International Workshop on Simulation & EGSE facilities for Space Programmes

More information

acatech Industrie 4.0 Maturity Index Development of company-specific Industrie 4.0 roadmaps FIR e. V. an der RWTH Aachen

acatech Industrie 4.0 Maturity Index Development of company-specific Industrie 4.0 roadmaps FIR e. V. an der RWTH Aachen acatech Industrie 4.0 Maturity Index Development of company-specific Industrie 4.0 roadmaps The Maturity Index is developed by renowned partners from industry and research Project partners Industrie 4.0

More information

EE 382C EMBEDDED SOFTWARE SYSTEMS. Literature Survey Report. Characterization of Embedded Workloads. Ajay Joshi. March 30, 2004

EE 382C EMBEDDED SOFTWARE SYSTEMS. Literature Survey Report. Characterization of Embedded Workloads. Ajay Joshi. March 30, 2004 EE 382C EMBEDDED SOFTWARE SYSTEMS Literature Survey Report Characterization of Embedded Workloads Ajay Joshi March 30, 2004 ABSTRACT Security applications are a class of emerging workloads that will play

More information

Cooperative Wireless Networking Using Software Defined Radio

Cooperative Wireless Networking Using Software Defined Radio Cooperative Wireless Networking Using Software Defined Radio Jesper M. Kristensen, Frank H.P Fitzek Departement of Communication Technology Aalborg University, Denmark Email: jmk,ff@kom.aau.dk Abstract

More information

ConFra: A Context Aware Human Machine Interface Framework for In-vehicle Infotainment Applications

ConFra: A Context Aware Human Machine Interface Framework for In-vehicle Infotainment Applications ConFra: A Context Aware Human Machine Interface Framework for In-vehicle Infotainment Applications Hemant Sharma, Dr. Roger Kuvedu-Libla, and Dr. A. K. Ramani Abstract The omnipresent integration of computer

More information

1 Introduction and Roadmap: History and Challenges of Software Evolution

1 Introduction and Roadmap: History and Challenges of Software Evolution 1 Introduction and Roadmap: History and Challenges of Software Evolution Tom Mens University of Mons-Hainaut, Belgium Summary. The ability to evolve software rapidly and reliably is a major challenge for

More information

Dr. Cynthia Dion-Schwartz Acting Associate Director, SW and Embedded Systems, Defense Research and Engineering (DDR&E)

Dr. Cynthia Dion-Schwartz Acting Associate Director, SW and Embedded Systems, Defense Research and Engineering (DDR&E) Software-Intensive Systems Producibility Initiative Dr. Cynthia Dion-Schwartz Acting Associate Director, SW and Embedded Systems, Defense Research and Engineering (DDR&E) Dr. Richard Turner Stevens Institute

More information

CONTENT PATTERNS Joint Panel. Finding Essentials from Cloud-based Systems and Big Data. Namics.

CONTENT PATTERNS Joint Panel. Finding Essentials from Cloud-based Systems and Big Data. Namics. CONTENT 2018. PATTERNS 2018. Joint Panel. Finding Essentials from Cloud-based Systems and Big Data. Namics. BARCELONA, SPAIN, 22ND FEBRUARY 2018 Hans-Werner Sehring. Senior Solution Architect. Agenda.

More information