73 results on '"Bosch, Jan"'
Search Results
2. Toward compositional software product lines
- Author
-
Bosch, Jan
- Subjects
Software development/engineering ,Company business management ,Product lines -- Management ,Software engineering - Published
- 2010
3. Detecting variability in MATLAB/Simulink models : an industry-inspired technique and its evaluation
- Author
-
Schlie, A., Wille, D., Schulze, S., Cleophas, L.G.W.A., Schaefer, I., Fuentes, Lidia, Bagheri, Ebrahim, Ruiz-Cortes, Antonio, Benavides, David, Capilla, Rafael, Xiong, Yingfei, Bosch, Jan, Acher, Mathieu, Schall, Daniel, Cohen, Myra, and Troya, Javier
- Subjects
Matching (statistics) ,business.industry ,Computer science ,Maintainability ,Automotive industry ,020207 software engineering ,Information needs ,02 engineering and technology ,Reuse ,Software maintainability ,Domain (software engineering) ,020204 information systems ,MATLAB/simulink ,0202 electrical engineering, electronic engineering, information engineering ,Systems engineering ,Software system ,Variability mining ,business ,MATLAB ,Software engineering ,computer ,computer.programming_language - Abstract
Model-based languages such as MATLAB/Simulink play an essential role in the model-driven development of software systems. To comply with new requirements, it is common practice to create new variants by copying existing systems and modifying them. Commonly referred to as clone-and-own, severe problems arise in the long-run when no dedicated variability management is installed. To allow for a documented and structured reuse of systems, their variability information needs to be reverse-engineered. In this paper, we propose an advanced comparison procedure, the Matching Window Technique, and a customizable metric. Both allow us to overcome structural alterations commonly performed during clone-and-own. We analyze related MATLAB/Simulink models and determine, classify and represent their variability information in an understandable way. With our technique, we assist model engineers in maintaining and evolving existing variants. We provide three feasibility studies with real-world models from the automotive domain and show our technique to be fast and precise. Furthermore, we perform semi-structured interviews with domain experts to assess the potential applicability of our technique in practice.
- Published
- 2017
4. Proceedings of the 2nd edition of Swedish Workshop on the Engineering of Systems of Systems (SWESOS 2016)
- Author
-
Pelliccione, Patrizio, Bosch, Jan, and Staron, Miroslaw
- Subjects
Software Engineering ,Software Management - Published
- 2016
5. Software Business, Platforms, and Ecosystems: Fundamentals of Software Production Research (Dagstuhl Seminar 18182)
- Author
-
Abrahamsson, Pekka, Bosch, Jan, Brinkkemper, Sjaak, Mädche, Alexander, Sub Organization and Information, Organization and Information, Sub Organization and Information, and Organization and Information
- Subjects
000 Computer science, knowledge, general works ,Software-intensive Business ,Computer Science ,Software Engineering ,Software Production ,Software Ecosystems ,Software Start-ups - Abstract
This report documents the program and the outcomes of Dagstuhl Seminar 18182 "Software Business, Platforms, and Ecosystems: Fundamentals of Software Production Research".
- Published
- 2018
6. From ad hoc to strategic ecosystem management: the 'Three-Layer Ecosystem Strategy Model' ( TeLESM).
- Author
-
Holmström Olsson, Helena and Bosch, Jan
- Subjects
- *
BUSINESS ecosystems , *NEW product development , *SOFTWARE engineering , *COMMODIFICATION , *INNOVATION management - Abstract
Recently, business ecosystems have been recognized as one of the most interesting phenomenon in software engineering research. Companies experience a paradigm shift where product development and innovation is moving outside the boundaries of the firm and where networks of stakeholders join forces to co-create value. While there is prominent research focusing on the managerial perspective of business ecosystems, few studies provide strategic guidance for how to intentionally manage the different ecosystems that companies operate in. Therefore, and on the basis of multicase study research, we provide empirical evidence on the challenges that software-intensive companies experience in relation to the different types of business ecosystems they operate in. We conduct a 'state-of-the-art' literature review to identify strategies that are used to manage ecosystem engagements, and we develop a conceptual model in which we identify strategies for managing the innovation ecosystem, the differentiating ecosystem, and the commoditizing ecosystem. By categorising the different strategies in relation to the different types of ecosystems for which they are valid, the 'three-layer ecosystem strategy model' provides comprehensive support for strategy selection. We validate the use of the identified strategies in 6 software-intensive case companies, and we provide empirical insights on the 'relevance' and the 'desired use' of these strategies as experienced by the case companies. [ABSTRACT FROM AUTHOR]
- Published
- 2017
- Full Text
- View/download PDF
7. A Study of Evolution Impact in Software Product Lines
- Author
-
Svahnberg, Mikael and Bosch, Jan
- Subjects
case study ,Programvaruteknik ,Software Evolution ,Software Engineering ,Software Product Lines ,object oriented frameworks - Abstract
Product-line architectures, i.e. a software architecture and component set shared by a family of products, represents a promising approach to achieving reuse of software. Several companies are initiating or have recently adopted a product-line architecture. However, little experience is available with respect to the evolution of the products, the software components and the software architecture. Due to the higher level of interdependency between the various software assets, software evolution is a more complex process. In this paper, we discuss the results of two case studies concentrating on the evolution of software assets in two swedish organizations that have employed the product-line architecture approach for several years. Based on these two cases, we discuss the commonalities, presented as categorizations of the evolution of the requirements, the software architecture and the software components, and also the differences between the two cases. Published in an edited form as: Mikael Svahnberg, Jan Bosch, Evolution in Software Product Lines: Two Cases, in Journal of Software Maintenance - Research and Practice 11(6), pp. 391-422, 1999.
- Published
- 2000
8. Analyzing Software Architectures for Modifiability
- Author
-
Bengtsson, PerOlof, Lassing, Nico, Bosch, Jan, and Vliet, Hans van
- Subjects
Programvaruteknik ,software architecture analysis ,Software Engineering - Abstract
The software architecture plays an important role in achieving a modifiable system, but few methods for modifiability analysis exist. In this paper, we propose an analysis method for software architecture modifiability that has successfully been applied in several cases. The method consists of five main steps, i.e. goal selection, software architecture description, scenario elicitation, scenario evaluation and interpretation.
- Published
- 2000
9. Erfarenheter av modifierbarhets analys av programvaruarkitekturer
- Author
-
Lassing, Nico, Bengtsson, PerOlof, Vliet, Hans van, and Bosch, Jan
- Subjects
Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
Modifiability is an important quality for software systems, because a large part of the costs associated with these systems is spent on modifications. The effort, and therefore cost, that is required for these modifications is largely determined by a system’s software architecture. Analysis of software architectures is therefore an important technique to achieve modifiability and reduce maintenance costs. However, few techniques for software architecture analysis currently exist. Based on our experiences with software architecture analysis of modifiability, we have developed an analysis method consisting of five steps. In this paper we report on our experiences with this method. We illustrate our experiences with examples from two case studies of SAA of modifiability. These case studies concern a system for mobile positioning at Ericsson Software Techology and a system for freight handling at DFDS Fraktarna. Our experiences are related to each step of the analysis process. In addition, we made some observations on SAA of modifiability in general. Beskriver erfarenheterna från två fall studier. submitted for publication at HICSS conference.
- Published
- 2000
10. Assessing Object-Oriented Application Framework Maturity : A Replicated Case Study
- Author
-
Mattsson, Michael and Bosch, Jan
- Subjects
framework maturity ,Programvaruteknik ,Object-oriented frameworks ,Software Engineering ,software reuse - Abstract
Object-oriented application frameworks present one of the most successful approaches to developing reusable assets in industry, but developing frameworks is both difficult and expensive. Framework generally evolve to maturity through a number of iterations due to the incorporation of new requirements and better domain understanding. Since changes to frameworks have a large impact due to the effects on the applications build based on the asset, it is important to assess the maturity of a framework. Bansiya [3, 4] presents an approach to assessing framework maturity based on a set of design metrics and formulates four statements. In this paper, we present the results of a replicated case study of the framework maturity assessment approach. Our study subject consists of four successive versions of a proprietary black-box application framework. Our findings partly support the statements formulated in the original study, but differ in some places. The differences are discussed and explanations and argumentation provided.
- Published
- 1999
11. An Experiment on Creating Scenario Profiles for Software Change
- Author
-
Bengtsson, PerOlof and Bosch, Jan
- Subjects
software architecture ,Programvaruteknik ,scenarios ,empirical studies ,Software Engineering ,scenario profile ,prediction ,Experiment studies ,software quality factors - Abstract
Scenario profiles are used increasingly often for the assessment of quality attributes during the architectural design of software systems. However, the definition of scenario profiles is subjective and no data is available on the effects of individuals on scenario profiles. In this paper we present the design, analysis and results of a controlled experiment on the effect of individuals on scenario profiles, so that others can replicate the experiments on other projects and people. Both scenario profiles created by individuals and by groups are studied. The findings from the experiment showed that groups with prepared members proved to be the best method for creating scenario profiles. Unprepared groups did not perform better than individuals when creating scenario profiles.
- Published
- 1999
12. Characterizing Evolution in Product Line Architectures
- Author
-
Svahnberg, Mikael and Bosch, Jan
- Subjects
Programvaruteknik ,Software Evolution ,Software Engineering ,Product Line Architectures - Abstract
Product-line architectures present an important approach to increasing software reuse and reducing development cost by sharing an architecture and set of reusable components among a family of products. However, evolution in product-line architectures is more complex than in traditional software development since new, possibly conflicting, requirements originate from the existing products in the product-line and new products that are to be incorporated. In this paper, we present a case study of product-line architecture evolution. Based on the case study, we develop categorizations for the evolution of requirements, the product-line architecture and product-line architecture components. Subsequently, we analyze and present the relations between these categorizations.
- Published
- 1999
13. A Case Study on Product Line Architecture Evolution
- Author
-
Svahnberg, Mikael and Bosch, Jan
- Subjects
Programvaruteknik ,Software Evolution ,Software Engineering ,Product Line Architectures - Abstract
Product-line architectures present an important approach to increasing software reuse and reducing development cost by sharing an architecture and set of reusable components among a family of products. However, evolution in product-line architectures is more complex than in traditional software development since new, possibly conflicting, requirements originate from the existing products in the product-line and new products that are to be incorporated. In this paper, we present a case study of product-line architecture evolution. Based on the case study, we develop categorizations for the evolution of requirements, the product-line architecture and product-line architecture components. Subsequently, we analyze and present the relations between these categorizations.
- Published
- 1999
14. Assessment of Three Evaluation Methods for Object-Oriented Framework Evolution
- Author
-
Mattsson, Michael and Bosch, Jan
- Subjects
Framework evolution ,Programvaruteknik ,Software reuse ,Software Engineering ,Framework assessments ,Object-oriented framework - Abstract
Object-oriented framework technology has become a common reuse technology in object-oriented software development. As with all software, frameworks tend to evolve. Once the framework has been deployed, new versions of a framework cause high maintenance cost for the products built with the framework. This fact in combination with the high costs of developing and evolving an object-oriented framework make it important to have controlled and predictable evolution of the framework?s functionality and costs. We present three methods 1) Evolution Identification Using Historical Information, 2) Stability Assessment and 3) Distribution of Development Effort which have been applied to between one to three different frameworks, both in the proprietary and commercial domain. The methods provide management with information which will make it possible to make well-informed decisions about the framework?s evolution, especially with respect to the following issues; identification of evolution-prone modules, framework deployment, change impact analysis, benchmarking and requirements management. Finally, the methods are compared to each other with respect to costs and benefits.
- Published
- 1999
15. Providing Automatic Support for Heuristic Rules of Methods
- Author
-
Tekinerdogan, B., Aksit, Mehmet, Demeyer, Serge, Bosch, H.G.P., and Bosch, Jan
- Subjects
Computer science ,Heuristic ,business.industry ,Software development ,computer.software_genre ,IR-18368 ,Software framework ,Software design methods ,object-oriented software development ,Software sizing ,Software construction ,Goal-Driven Software Development Process ,Personal software process ,METIS-118888 ,EWI-10154 ,Data mining ,Computer-aided software engineering ,Software engineering ,business ,CR-I.5.2 ,computer - Abstract
In method-based software development, software engineers create artifacts based on the heuristic rules of the adopted method. Most CASE tools, however, do not actively assist software engineers in applying the heuristic rules. To provide an active support, the rules must be formalized, implemented and integrated within the framework of current CASE tools. In this paper we describe an approach for formalizing the heuristic rules of methods.
- Published
- 1998
16. Active Software Artifacts
- Author
-
Aksit, Mehmet, Marcelloni, Francesco, Tekinerdogan, Bedir, van den Berg, Klaas, van den Broek, Pim, Bosch, Jan, and Mitchell, Stuart
- Subjects
Resource-oriented architecture ,Computer science ,SE-SDP: Software Development Process ,Artifact (software development) ,Software walkthrough ,computer.software_genre ,Software development process ,Software ,Software sizing ,Software verification and validation ,Software product line ,Software design description ,Social software engineering ,IR-18725 ,business.industry ,SE-SMM: Software Measurement and Metrics ,Software development ,Information technology ,METIS-119246 ,Software framework ,Software deployment ,EWI-10100 ,Software construction ,Goal-Driven Software Development Process ,Software design ,Package development process ,business ,Software engineering ,computer - Abstract
There are many similarities between industrial goods manufacturing and software development processes. This paper first briefly analyzes the recent developments in goods manufacturing, and then identifies the equivalent techniques in software technology. It is claimed that products developed during software manufacturing must be modeled as active artifacts. As a possible approach in this direction, an object-oriented artifact production framework is presented and evaluated.
- Published
- 1998
17. Towards a multi-criteria decision support method for consumer electronics software ecosystems.
- Author
-
Hartmann, Herman and Bosch, Jan
- Subjects
- *
HOUSEHOLD electronics , *ELECTRONICS software , *BUSINESS networks , *SOFTWARE engineering , *ANTIPATTERNS (Software engineering) - Abstract
Many consumer electronics firms are adopting an ecosystem-centric approach for supporting third-party applications. In an emerging market, a consumer electronics firm may need to create a new ecosystem or adopt a newly developed platform, both which has significant commercial and technical implications. In this paper we identify three types of ecosystems that are used today: vertically integrated hardware/software platforms, closed-source software platforms, and open-source software platforms. We introduce a first step towards a multi-criteria decision support method, which determines what type of ecosystem is most suitable for a specific product category from a software engineering perspective. We use this method to analyze a wide range of consumer electronics products. The analysis shows that the vertically integrated platform type is most suitable for product with a high degree of innovation, and open-source software platforms are more suitable when a large amount of variants are needed. The closed-source software platform type is less suitable for most types of consumer electronics devices. This first step towards a full-fledged decision support method can be used by platform owners to decide whether their platform can also be successfully transferred to another product type. [ABSTRACT FROM AUTHOR]
- Published
- 2016
- Full Text
- View/download PDF
18. Object-Oriented Frameworks : Problems & Experiences
- Author
-
Bosch, Jan
- Subjects
Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
Reuse of software has been one of the main goals of software engineering for decades. Reusing software is not simple and most efforts resulted in small reusable, black-box components. With the emergence of the object-oriented paradigm, the enabling technology for reuse of larger components became available and resulted in the definition of object-oriented frameworks. Frameworks attracted attention from many researchers and software engineers and frameworks have been defined for a large variety of domains. The claimed advantages of frameworks are, among others, increased reusability and reduced time to market for applications. Although several examples have shown these advantages to exist, there are problems and hindrances associated with frameworks that may not appear before their usage in real projects. The authors have been involved in the design, maintenance and usage of several object-oriented frameworks and based on the experiences from these projects, a number of problems related to frameworks are descr ibed. The problems are organised according to four categories, i.e. framework development, usage, composition and maintenance. For each category, the most relevant problems and experiences are presented. This paper may help software engineers to avoid the described problems, whereas researchers may try to address these topics in their research.
- Published
- 1997
19. Modelling Causal Connections between Objects
- Author
-
Lundberg, Christer and Bosch, Jan
- Subjects
interobject dependencies ,Programvaruteknik ,object-oriented programming ,Software Engineering ,client-server interaction - Abstract
The conventional object-oriented paradigm provides client-server message passing as the primary means of interaction between objects. Although this is appropriate in situations where one objects requests a service from another object, there are other situations where one object, the observer, depends on state-changes or actions occurring at another object, the target. In those situations, the object-oriented paradigm requires the target object to notify the observer objects, despite the fact that the target object does not benefit from the interaction. This inverted interaction scheme leads to problems such as increased coupling and decreased understandability, maintainability and reusability of the resulting classes. In the analysis of object interactions one can identify four roles: the benefitor, the establisher, the sender and the receiver. The aforementioned problems result from the fact that in client-server interaction, the benefitor and the sender are not always the same object. To address this, we pr opose the notion of causal connections, an alternative interaction mechanism complementing the traditional client-server interaction. Two implementations of causal connections are described; one in the context of C++ and another using the layered object model. It is shown that causal connections solve the problems mentioned above.
- Published
- 1997
20. An Object-Oriented Framework for Measurement Systems
- Author
-
Bosch, Jan
- Subjects
Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
Measurement systems are of increasing importance for manufacturing, due to high automation level of production processes. Although most measurement systems have much in common and are expensive to construct, these systems are often developed from scratch, hardly reusing the available designs and implementations. To address this, we have designed and implemented an object-oriented framework for the domain of measurement systems that can be used as the core of measurement systems. Evaluations of the framework show that it captures the main concepts in the domain and that the required extensions for individual applications are limited. In this paper, a number of example framework instantiations are presented. The lessons we learned during the framework design and an evaluation of the object-oriented modelling paradigm are presented.
- Published
- 1997
21. Design Patterns as Language Constucts
- Author
-
Bosch, Jan
- Subjects
Programvaruteknik ,Software Engineering - Abstract
Design patterns have proven to be useful for the design of object-oriented systems. The power of a design pattern lies in its ability to provide generic solutions that can be specialised for particular situations. The implementation of design patterns has received only little attention and we have identified two relevant problems associated with the implementation. First, the traceability of a design pattern in the implementation is often insufficient; often the design pattern is `lost'. Second, implementing design patterns may present significant implementation overhead for the software engineer. Often, a, potentially large, number of simple methods has to be implemented with trivial behaviour, e.g. forwarding a message to another object. In this paper, the layered object model (LayOM) is presented. LayOM provides language support for the explicit representation of design patterns in the programming language. LayOM is an extended object-oriented language in that it contains several components that are not pa rt of the conventional object model, such as states, categories and layers. Layers are used to represent design patterns at the level of the programming language and example layer types for four design patterns are presented. LayOM is supported by a development environment that translates LayOM code into C++. The generated C++ code can be used as any C++ code for the development of applications. An important aspect of LayOM is that the language itself is extensible. This allows new design patterns to be added to the language model.
- Published
- 1996
22. A Model for a Flexible and Predictable Object-Oriented Real-Time System
- Author
-
Bosch, Jan
- Subjects
Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
The requirements on real-time systems are changing. Traditionally, reliability and predictability of, especially hard, real-time systems were the main requirements. This lead to systems that were stand-alone, embedded and static. Future real-time systems, but also current systems, still require reliability and predictability, but also distribution of the real-time system, integration with non real-time systems and the ability to dynamically change the components of the system at runtime. Traditional approaches to real-time system development have difficulties in addressing these additional requirements. Therefore, new ways of constructing real-time systems have to be explored. In this article, we develop a real-time object-oriented model that facilitates the requirements of flexibility without sacrificing the predictability, integration and dynamicity aspects.
- Published
- 1996
23. Tool Support for Language Extensibility
- Author
-
Bosch, Jan
- Subjects
Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
During the last years, one can recognise a development towards application domain languages and extensible language models. Due to their extended expressiveness, these language models have considerable advantages over rigid general purpose languages. However, a complicating factor in the use of extensible language models are the conventional compiler construction techniques. Compilers constructed using these techniques often are large entities that are highly complex, difficult to maintain and hard to reuse. As we have experienced, these characteristics clearly complicate extending existing compilers. As a solution to this, we developed an alternative approach to compiler construction is proposed, based on object-oriented principles. The approach is based on delegating compiler objects (dcos) that provide a structural decomposition of compilers in addition to the conventional functional decomposition. The dco approach supports modularisation and reuse of compiler specifications, such as lexer and parser speci fications. We constructed an integrated tool set, letos, implementing the functionality of delegating compiler objects.
- Published
- 1996
24. Object Acquaintance Selection and Binding
- Author
-
Bosch, Jan
- Subjects
Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
Large object-oriented systems have, at least, four characteristics that complicate object communication, i.e the system is distributed and contains large numbers, e.g. thousands, of objects, objects need to be reallocated at run-time and objects can be replaced by other objects in order to adapt to the dynamic changes in the system. Traditional object communication is based on sending a message to a receiver object known to the sender of the message. At linking or instantiation time, an object establishes its acquaintances through name/class-based binding and uses these objects through its life time. If this is too rigid, the software engineer has to implement the binding of objects manually using pointers. In our experiments we found the traditional acquaintance communication semantics too limited and we identified several problems, related to the reusability of objects and selection mechanisms, understandability and expressiveness. We recognised that it is important to separate a class or object's requirements on its acquaintances from the way an object selects and binds its acquaintances in actual systems. Based on this observation, we studied the required expressiveness for acquaintance handling and identified four relevant aspects: type and duration of binding, conditions for binding, number of selected objects and selection region for binding. To implement these aspects, we defined acquaintance layers as part of the layered object model. Acquaintance layers uniformly extend the traditional object-oriented acquaintance handling semantics and allow for the first-class representation of acquaintance selection and binding, thereby increasing traceability and reusability.
- Published
- 1996
25. Abstract Object State in Real-Time Control
- Author
-
Bosch, Jan
- Subjects
States ,Programvaruteknik ,Software Engineering ,Object modelling techniques ,Object-oriented programming ,Statecharts ,Real-time languages - Abstract
Traditionally, finite state machines based approaches are used in real-time object-oriented systems development for modelling the dynamic behaviour of an object. Finite state machines based approaches, however, suffer from several problems when used for modelling large and complex objects. As an alternative, an extended object model, LayOM, and an associated modelling approach is proposed aiming to solve the aforementioned problems and other problems related to object state.
- Published
- 1995
26. Delegating Compiler Objects : An Object-Oriented Approach to Crafting Compilers
- Author
-
Bosch, Jan
- Subjects
Programvaruteknik ,Software Engineering ,compiler techniques ,reuse - Abstract
Conventional compilers often are large entities that are highly complex, difficult to maintain and hard to reuse. In this article it is argued that this is due to the inherently functional approach to compiler construction. An alternative approach to compiler construction is proposed, based on object-oriented principles, which solves (or at least lessens) the problems of compiler construction. The approach is based on delegating compiler objects (DCOs) that provide a structural decomposition of compilers in addition to the conventional functional decomposition. The DCO approach makes use of the parser delegation and lexer delegation techniques, that provide reuse and modularisation of syntactical, respectively, lexical specifications.
- Published
- 1995
27. Software Artifacts as Autonomous Agents
- Author
-
Bosch, Jan
- Subjects
Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
In this paper, a number of problems of conventional automated software engineering support environments are described. These problems are related to the functional approach these environments take, the lack of initiative these systems exhibit and the causal connection gap between design information and the operational entity. As an alternative, we suggest an autonomous agent approach. Each artifact is modelled as an autonomous agent that is responsible for its own development. Artifacts are organised in specialisation hierarchies which can be traversed by agents. As a consequence, the methodology needs to be inverted, i.e. specified from the artifact's perspective rather than from the software engineer's perspective.
- Published
- 1994
28. Parser Delegation : An Object-Oriented Approach to Parsing
- Author
-
Bosch, Jan
- Subjects
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
Conventional grammar specification and parsing is generally done in a monolithic manner, i.e. the syntax and semantics of a grammar are specified in one large specification. Although this might be sufficient in static environments, a modular approach is required in situations where the syntax or semantics of a grammar specification are subject to frequent changes. The problems with monolithic grammars are related to (1) dealing with the complexity, (2) extensibility and (3) reusability. We propose the concept of {\em parser delegation} as a solution to these problems. Parser delegation allows one to modularise and reuse grammar specifications. To achieve this, the notion of a production rule is specialised into (1) overriding, (2) extending and (3) delegating production rule types. To experiment with parser delegation, we have developed D-yacc, a graphical tool for defining grammars. Parser delegation has been applied for constructing a translator for an experimental language and is currently applied in other domains.
- Published
- 1994
29. Paradigm, Language Model and Method
- Author
-
Bosch, Jan
- Subjects
Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
Programming languages and software engineering methods are highly related in that both are images of an underlying paradigm. In this paper we investigate the role of the paradigm, the language model and the software development method and define requirements on each of the three concepts. Subsequently, we describe the {\em layered object model}, an extended object model which allows for first-class representation of relations between objects and constraints on the behaviour of an object, and discuss how it achieves {\em paradigm extensibility}, i.e. extensibility of the paradigm and the supporting language model.
- Published
- 1994
30. Relations as Object Model Components
- Author
-
Bosch, Jan
- Subjects
Datavetenskap (datalogi) ,Programvaruteknik ,Computer Sciences ,Software Engineering - Abstract
Although object-oriented methods make extensive use of relations between objects, these relations, other than inheritance and part-of, can not directly be represented by the conventional object-oriented model. This means that relations which are identified during analysis and design have to be implemented on top of the object model, i.e. by using method code and message passing, rather than by expressing relations directly within in the model. It would be beneficial if the object-oriented model would support the specification of all relevant types of relations within the model, including application-domain specific relation types. Therefore, we propose a mechanism, implemented in LayOM -- an extended object model, that supports the specification of all types of relations between objects within the model as components of the object model. In addition, an approach for identifying and specifying application-domain relation types is presented.
- Published
- 1994
31. Trends in Systems and Software Variability.
- Author
-
Bosch, Jan, Capilla, Rafael, and Hilliard, Rich
- Subjects
- *
COMPUTER software development , *SOFTWARE engineering , *SOFTWARE architecture , *SOFTWARE product line engineering , *COMPUTER research - Abstract
This article presents the state of the art and practice in system and software variability. It describes the trends driving the increasing importance of variability management, proposes a research agenda, and provides an overview of the articles in this special issue. The Web extra at http://youtu.be/80DAUGahNAY is an audio recording of Davide Falessi speaking with Guest Editors Rafael Capilla and Rich Hilliard about the state of the art and practice in system and software variability. [ABSTRACT FROM PUBLISHER]
- Published
- 2015
- Full Text
- View/download PDF
32. Invited Talk: Expanding Software Product Families: From Integration to Composition.
- Author
-
Hutchison, David, Kanade, Takeo, Kittler, Josef, Kleinberg, Jon M., Mattern, Friedemann, Mitchell, John C., Naor, Moni, Nierstrasz, Oscar, Rangan, C. Pandu, Steffen, Bernhard, Sudan, Madhu, Terzopoulos, Demetri, Tygar, Doug, Vardi, Moshe Y., Weikum, Gerhard, Lukowicz, Paul, Thiele, Lothar, Tröster, Gerhard, and Bosch, Jan
- Abstract
Software product families have found broad adoption in the embedded systems industry. Product family thinking has been prevalent in this context for mechanics and hardware and adopting the same for software has been viewed as a logical approach. During recent years, however, the trends of convergence, end-to-end solutions, shortened innovation and R&D cycles and differentiation through software engineering capabilities have lead to a development where organizations are stretching the scope of their product families far beyond the initial design. Failing to adjust the product family approach, including the architectural and process dimensions when the business strategy is changing is leading to several challenging problems that can be viewed as symptoms of this approach. This paper discusses the key symptoms, the underlying causes for these symptoms as well as solutions for realigning the product family approach with the business strategy. [ABSTRACT FROM AUTHOR]
- Published
- 2007
- Full Text
- View/download PDF
33. Software Product Families: Towards Compositionality.
- Author
-
Hutchison, David, Kanade, Takeo, Kittler, Josef, Kleinberg, Jon M., Mattern, Friedemann, Mitchell, John C., Naor, Moni, Nierstrasz, Oscar, Rangan, C. Pandu, Steffen, Bernhard, Sudan, Madhu, Terzopoulos, Demetri, Tygar, Doug, Vardi, Moshe Y., Weikum, Gerhard, Dwyer, Matthew B., Lopes, Antónia, and Bosch, Jan
- Abstract
Software product families have become the most successful approach to intra-organizational reuse. Especially in the embedded systems industry, but also elsewhere, companies are building rich and diverse product portfolios based on software platforms that capture the commonality between products while allowing for their differences. Software product families, however, easily become victims of their own success in that, once successful, there is a tendency to increase the scope of the product family by incorporating a broader and more diverse product portfolio. This requires organizations to change their approach to product families from relying on a pre-integrated platform for product derivation to a compositional approach where platform components are composed in a product-specific configuration. [ABSTRACT FROM AUTHOR]
- Published
- 2007
- Full Text
- View/download PDF
34. Mobile Service Oriented Architectures (MOSOA).
- Author
-
Eliassen, Frank, Montresor, Alberto, Gurp, Jilles, Karhinen, Anssi, and Bosch, Jan
- Abstract
Mobile services hold a promise of utilizing the phone also for other purposes than purely communication. However, repeated attempts at realizing mobile services in the market place have been met with limited success. This article (1) defines the architectural drivers that drive success or failure of mobile services, (2) analyzes three different architectural styles of realizing such a mobile service using the example of a movie ticket selling service and (3) presents the results of this analysis. The main result of the analysis is that a serious conflict exists between usability and essentially all the other architectural drivers included in our analysis, i.e. portability, deployability and scalability. This is due to the fact that, because of the restricted state of the art technology, only native client applications offer satisfactory usability, but these do not satisfy the other drivers. [ABSTRACT FROM AUTHOR]
- Published
- 2006
- Full Text
- View/download PDF
35. Software Architecture Analysis of Usability.
- Author
-
Bastide, Rémi, Palanque, Philippe, Roth, Jörg, Folmer, Eelke, Gurp, Jilles, and Bosch, Jan
- Abstract
Studies of software engineering projects show that a large number of usability related change requests are made after its deployment. Fixing usability problems during the later stages of development often proves to be costly, since many of the necessary changes require changes to the system that cannot be easily accommodated by its software architecture. These high costs prevent developers from meeting all the usability requirements, resulting in systems with less than optimal usability. The successful development of a usable software system therefore must include creating a software architecture that supports the right level of usability. Unfortunately, no documented evidence exists of architecture level assessment techniques focusing on usability. To support software architects in creating a software architecture that supports usability, we present a scenario based assessment technique that has been successfully applied in several cases. Explicit evaluation of usability during architectural design may reduce the risk of building a system that fails to meet its usability requirements and may prevent high costs incurring adaptive maintenance activities once the system has been implemented. [ABSTRACT FROM AUTHOR]
- Published
- 2005
- Full Text
- View/download PDF
36. Software Product Families in Nokia.
- Author
-
Obbink, Henk, Pohl, Klaus, and Bosch, Jan
- Abstract
The level of software development and maintenance investment in embedded products has increased considerably over the last decade. As software product families are providing a proven approach to managing the cost and quality of software artefacts, Nokia has exploited this approach to software development for many years. This paper presents some lessons learned and the key challenges for the successful use and evolution of software artefacts. [ABSTRACT FROM AUTHOR]
- Published
- 2005
- Full Text
- View/download PDF
37. Scale and Responsiveness in Large-Scale Software Development.
- Author
-
Olsson, Helena, Sandberg, Anna, Bosch, Jan, and Alahyari, Hiva
- Subjects
COMPUTER software development ,CONSUMERS ,CUSTOMER feedback ,INDUSTRIAL management - Abstract
In large-scale software development, there is typically a conflict between being responsive to individual customers, while at the same time achieving scale in terms of delivering a high number of features to a large customer base. Most often, organizations focus on scale and individual customer requests are viewed as problematic since they add complexity to product variation and version control. Here, we explore the use of customer-specific teams as a means to address this conflict. First, we verify the use of customer-specific teams as successful for improving customer responsiveness, customer satisfaction and feature quality through a case study at Ericsson. Second, we identify three approaches for how to organize feature development, and recommendations on how software development companies can efficiently use these to improve their practices. Third, we observe new business opportunities that arise when using customer-specific teams. [ABSTRACT FROM PUBLISHER]
- Published
- 2014
- Full Text
- View/download PDF
38. Real-time specification inheritance anomalies and real-time filters.
- Author
-
Goos, Gerhard, Hartmanis, Juris, Tokoro, Mario, Pareschi, Remo, Aksit, Mehmet, Bosch, Jan, Sterren, William, and Bergmans, Lodewijk
- Abstract
Real-time programs are, in general, difficult to design and verify. The inheritance mechanism can be useful in reusing well-defined and verified real-time programs. In applications developed by current real-time object-oriented languages, however, changing application requirements or changing real-time specifications in sub-classes may require excessive redefinitions although this seems to be intuitively unnecessary. We refer to this as the real-time specification inheritance anomaly. This paper introduces three kinds of real-time specification inheritance anomalies that one may experience while constructing object-oriented programs. As a solution to these anomalies, the concept of real-time composition filters is introduced. Filters affect the real-time characteristics of messages that are received or sent by an object. Through proper configuration of filters, one can specify real-time constraints, and reuse of these constraints without causing inheritance anomalies. [ABSTRACT FROM AUTHOR]
- Published
- 1994
- Full Text
- View/download PDF
39. EXPRESSING PRODUCT DIVERSIFICATION — CATEGORIZING AND CLASSIFYING VARIABILITY IN SOFTWARE PRODUCT FAMILY ENGINEERING.
- Author
-
JARING, MICHEL and BOSCH, JAN
- Subjects
DIVERSIFICATION in industry ,COMPUTER software ,COMPUTER software industry ,COMPUTER software development ,SYSTEMS engineering ,SOFTWARE engineering - Abstract
In a software product family context, software architects design architectures that support product diversification in both space (multiple contexts) and time (changing contexts). Product diversification is based on the concept of variability: a single architecture and a set of components support a family of products. Software product families have to support increasing amounts of variability, thereby making variability engineering a primary concern in software product family development. The first part of this paper (1) suggests a two-dimensional, orthogonal categorization of variability realization techniques and classifies these variability categories into system maturity levels. The second part (2) discusses a case study of an industrial software product family of mobile communication infrastructure for professional markets such as the military. The study categorizes and classifies the variability in this product family according to criteria common to virtually all software development projects. [ABSTRACT FROM AUTHOR]
- Published
- 2004
- Full Text
- View/download PDF
40. A framework for capturing the relationship between usability and software architecture.
- Author
-
Folmer, Eelke, Van Gurp, Jilles, and Bosch, Jan
- Subjects
SOFTWARE architecture ,SOFTWARE engineering ,COMPUTER software ,APPLICATION software ,SYSTEMS design - Abstract
Usability is increasingly recognized as an essential factor that determines the success of software systems. Practice shows that for current software systems, most usability issues are detected during testing and deployment. Fixing usability issues during this late stage of the development proves to be very costly. Some usability-improving modifications such as usability patterns may have architectural implications. We believe that the software architecture may restrict usability. The high costs associated with fixing usability issues during late-stage development prevent developers from making the necessary adjustments for meeting all the usability requirements. To improve upon this situation, we have investigated the relationship between usability and software architecture to gain a better understanding of how the architecture restricts the level of usability. Our article makes a number of contributions; a framework is presented that expresses the relationship between usability and software architecture. The framework consists of an integrated set of design solutions such as usability patterns and usability properties that have been identified in various cases in industry, modern day software and literature surveys. These solutions, in most cases, have a positive effect on usability but are difficult to retrofit into applications because they have architectural impact. Our framework may be used to guide and inform the architectural design phase. This may decrease development costs by reducing the amount of usability issues that need to be fixed during the later stages of development. Copyright © 2004 John Wiley & Sons, Ltd. [ABSTRACT FROM AUTHOR]
- Published
- 2003
- Full Text
- View/download PDF
41. Stability assessment of evolving industrial object-oriented frameworks.
- Author
-
Mattsson, Michael and Bosch, Jan
- Subjects
OBJECT-oriented methods (Computer science) ,SOFTWARE architecture ,SOFTWARE maintenance ,SOFTWARE engineering ,COMPUTER software development ,COMPUTER science - Abstract
Object-oriented framework technology has become a common reuse technology in software development. As with all software, frameworks evolve over time. Once the framework has been deployed, new versions of a framework potentially cause a high maintenance cost for the products built with the framework. This fact, in combination with the high costs of developing and evolving a framework, make it important for organizations to achieve a controlled and predictable evolution of the framework's functionality and costs. We present a metrics-based framework stability assessment method, which has been applied on two industrial frameworks from the telecommunication and graphical user interface domains. First, we discuss the framework concept and the frameworks studied. Then, the stability assessment method is presented including the metrics used. The results from applying the method, as well as an analysis of each of the frameworks, are described. We continue with a set of observations regarding the method, including framework differences that seem to be invariant with respect to the method. A set of framework stability indicators based on the results is then presented. Finally, we assess the method against issues related to the management and evolution of frameworks, framework deployment, change impact analysis and benchmarking. [ABSTRACT FROM AUTHOR]
- Published
- 2000
- Full Text
- View/download PDF
42. Introduction to the special issue on software engineering in practice.
- Author
-
Bosch, Jan, Cooper, Kendra M. L., and Paulisch, Frances
- Subjects
SOFTWARE engineering ,COMPUTER software development - Published
- 2019
- Full Text
- View/download PDF
43. Bridging Software Communities through Social Networking.
- Author
-
Begel, Andrew, Bosch, Jan, and Storey, Margaret-Anne
- Subjects
- *
ONLINE social networks , *COMPUTER software - Abstract
Over the past decade, the advent of social networking has fundamentally altered the landscape of how software is used, designed, and developed. It has expanded how communities of software stakeholders communicate, collaborate, learn from, and coordinate with one another. The guest editors of this special issue describe both the field and the articles they selected for it. [ABSTRACT FROM PUBLISHER]
- Published
- 2013
- Full Text
- View/download PDF
44. 2nd International Workshop on Rapid Continuous Software Engineering (RCoSE 2015).
- Author
-
Tichy, Matthias, Bosch, Jan, Goedicke, Michael, and Fitzgerald, Brian
- Subjects
SOFTWARE engineering ,SYSTEM integration ,SYSTEMS engineering ,SOFTWARE architecture ,LEVEL design (Computer science) - Abstract
Continuous software engineering refers to the organizational capability to develop, release and learn from software in very short rapid cycles, typically hours, days or a very small numbers of weeks. This requires not only agile processes in teams but in the complete research and development organization. Additionally, the technology used in the different development phases, like requirements engineering and system integration, must support the quick development cycles. Finally, automatic live experimentation for different system alternatives enables fast gathering of required data for decision making. The workshop, the second in the series after the first one at ICSE 2014, aims to bring the research communities of the aforementioned areas together to exchange challenges, ideas, and solutions to bring software engineering a step further to being a holistic continuous process. The workshop program is based on eight papers selected in the peer-review process and supplemented by interaction and discussions at the workshop. The topics range from agile methods, continuous software engineering practices to specific techniques, like visualization and testing. [ABSTRACT FROM AUTHOR]
- Published
- 2015
- Full Text
- View/download PDF
45. Expanding the Scope of Software Product Families: Problems and Alternative Approaches.
- Author
-
Münch, Jürgen, Vierimaa, Matias, and Bosch, Jan
- Abstract
Software product families have found broad adoption in Nokia, the telecom industry, and the embedded systems industry as a whole. Product family thinking has been prevalent in this context for mechanics and hardware, and adopting the same for software has been viewed as a logical approach. During recent years, however, the trends of convergence, end-to-end solutions, shortened innovation and R&D cycles and differentiation through software engineering capabilities have led to a development where organizations are stretching the scope of their product families far beyond the initial design. Failing to adjust the product family approach, including the architectural and process dimensions, when the business strategy is changing is leading to several challenging problems that can be viewed as symptoms of this approach. The presentation discusses the key symptoms, the underlying causes for these symptoms as well as solutions for realigning the product family approach with the business strategy. The presentation uses examples from Nokia to illustrate the solutions and approaches that will be discussed. [ABSTRACT FROM AUTHOR]
- Published
- 2006
- Full Text
- View/download PDF
46. The Promise and Challenge of Runtime Variability.
- Author
-
Capilla, Rafael and Bosch, Jan
- Subjects
- *
RUN time systems (Computer science) , *COMPUTER software , *SOFTWARE architecture , *UNIFIED modeling language , *SOFTWARE engineering - Abstract
Runtime variability offers a good choice for many systems that experience dynamic changes in their quality and context. [ABSTRACT FROM PUBLISHER]
- Published
- 2011
- Full Text
- View/download PDF
47. Academia–Industry Collaboration: Getting Closer is the Key!
- Author
-
Sandberg, Anna and Bosch, Jan, editor
- Published
- 2014
- Full Text
- View/download PDF
48. A Declarative Approach to Architectural Reflection
- Author
-
Mads Ingstrup, Klaus Marius Hansen, Nord, Robert, Medvidovic, Nenad, Krikhaar, René, Stafford, Judith, and Bosch, Jan
- Subjects
Reflection (computer programming) ,Computational and Architectural Reflection ,Computer science ,Interface (Java) ,Programming language ,business.industry ,computer.software_genre ,Query language ,Architecture Query Language ,Architectural geometry ,Architectural pattern ,Software Architecture ,Architecture ,Software engineering ,business ,computer ,Architectural model ,Architectural style - Abstract
Recent research shows runtime architectural reflection is instrumental in, for instance, building adaptive and flexible systems or checking correspondence between design and implementation. Moreover, experience with computational reflection in various branches of computer science shows that the interface through which the meta-information of the running system is accessed, and possibly modified, lies at the heart of designing reflective systems. This paper proposes that such an interface should be like a database: accessed through queries expressed using the concepts with which architecture is described. Specifically, our contributions are: (1) a presentation of the general idea of a query-based approach to architectural reflection, (2) a definition of an Architectural Query Language (AQL) in which perspectives on an architectural model can be expressed as queries, (3) a prototype of a system which both creates runtime models of specific distributed architectures and allow for evaluation of AQL queries on these models. We illustrate the viability of the approach in two particular applications of such a model: constraint checking relative to an architectural style, and reasoning about certain quality attributes of an architecture.
- Published
- 2005
49. Proceedings of the Fifth International Workshop on Component-Oriented Programming (WCOP 2000)
- Author
-
Bosch, Jan, Szyperski, Clemens, and Weck, Wolfgang
- Subjects
Object-oriented Programming ,Programvaruteknik ,Component-oriented programming ,Software Engineering ,COP - Abstract
WCOP 2000, held in conjunction with ECOOP 2000 in Sophia Antipolis, France, was the fifth workshop in the successful series of workshops on component-oriented programming. The previous workshops were held in conjunction with the respective ECOOP conferences in Linz, Austria, Jyväskylä, Finland, Brussels, Belgium and Lisbon, Portugal. WCOP96 had focused on the principal idea of software components and worked towards definitions of terms. In particular, a high-level definition of what a software component is was formulated. WCOP97 concentrated on compositional aspects, architecture and gluing, substitutability, interface evolution, and non-functional requirements. WCOP98 had a closer look at issues arising in industrial practice and developed a major focus on the issues of adaptation. WCOP'99 moved on to address issues of component frameworks, structured architecture, and some bigger systems built using components frameworks. The topics for WCOP 2000 focused on component composition, validation and refinement and the use of component technology in the software industry.
- Published
- 2000
50. Software Product Lines : Three Examples
- Author
-
Bosch, Jan
- Subjects
Programvaruteknik ,software components ,ComputingMilieux_COMPUTERSANDEDUCATION ,Software Engineering ,Software product lines ,software reuse - Abstract
This report presents the results of a course on software product lines. The assignment in the course was to develop a software product line. . During the course, the students had to develop the following artifacts in groups: product line architecture, component designs, product derivations, modifiability assessment and a prototype. The results of the course are described in this report
- Published
- 2000
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.