Improving mdd productivity with software factories


















In order to promote coherent discussion, submitters should follow the terminology defined in the Software Factories book identified on the workshop web site. In the event that the submitters have issues with the terminology, they should explicitly identify and explain the points of disagreement and map their proposed alternative onto the terminology used in the book before using different terminology.

Accepted papers will be published in the workshop proceedings on the workshop web site. Some of the accepted papers may be selected to be presented during the workshop. Presentations will be limited to 15 minutes each, including questions and answers. All of the accepted papers will be assumed to have been read by all of the participants, however, and will collectively provide a basis for discussion. Papers will be selected to ensure a diverse set of interests at the workshop. The submission of a paper represents a commitment that at least one of its authors will attend the workshop if the paper is accepted.

Parties intending to submit a position paper are asked to send email to workshop softwarefactories. The deadline for submission is September 26, previously August 1, Notification of acceptance will be sent no later than 14 days after receipt of the submission by the workshop organizers previously September 1. Each submission should be sent as a PDF to workshop softwarefactories.

Accepted papers will be posted to the workshop web site at least three weeks before the workshop, along with a detailed workshop schedule.

Participants will be expected to read all of the accepted papers, and to be prepared to engage in active debate and discussion regarding the positions taken. This is a full day workshop. Its format is designed to promote interaction among the participants, rather than presentation. During the workshop, the participants will form breakout groups around topics drawn from the accepted papers.

Each group will formulate and perform a collaborative exercise on their chosen topic, and will produce a deliverable to be presented in a plenary session at the midpoint of the workshop. Examples of the types of exercises desired include:.

Each group will then be asked to challenge the position of one of the other groups. The challenges will be presented in a plenary session at the end of the workshop, and each group will defend its position against the challenges. Following the workshop, each group will submit a short paper representing its deliverable. These papers will be included in the proceedings. The workshop organizers will compile a list of issues debated, points of consensus, and areas of disagreement.

This information will also be included in the proceedings. Topics Of Interest Topics of interest for the workshop include the following. Requirements Modeling What types of models can be used to capture, analyze, and manage requirements? What are the relative strengths and weakness of different approaches to business process modeling?

How do process and information models map onto software architectures? Should business processes be modeled independently of system processes and if so, how are the two types of models related? Requirements Traceability How should architectures map requirements onto configurations of components that form systems?

How can requirements be mapped effectively to architecture, implementation, deployment topology and development process for a family of systems? Variability Modeling and Management How should variability in production assets be managed to facilitate their systematic customization and reuse in multiple contexts?

How should variation points be defined so that they can be discovered and manipulated using tools? What are the most effective ways to express variability in models? How can the different variability mechanisms used at different levels of abstraction, and at different stages in the software life cycle, be integrated effectively? How can models be used to provide more and better information about components? How should the semantics of features and feature interactions be defined, and how can this semantic information be used to support feature composition?

How can models be used to automate and optimize asset configuration and composition, and to validate and reason about the results? Modeling Techniques What are the most effective techniques for addressing cross-cutting concerns in models? What are the salient trade-offs between a single universal metamodel and a collection of many independently developed metamodels for the purposes of model driven development?

What are the most effective techniques for composing multiple interrelated models? What are the salient trade-offs between general purpose and domain specific languages for the purposes of model driven development? How do modeling tool specifications relate to the specifications of the languages they manipulate? How should textual or graphical editors, compilers, debuggers, and other model based tools be specified, and how much of their implementations can be generated from the specifications?

Standardization Issues Should one or more metamodels or ontologies for software factories be standardized? What aspects of software factories, if any, should be addressed by such standards? What are the salient trade-offs between standardizing metamodels and standardizing information interchange formats? How effective are existing standardized metamodels for the purposes of model driven development e.

Automatic Configuration, Code Generation, and Model Transformation What are the best ways to capture configuration knowledge for a system family, and to use it to support the development of family members?

What are the most appropriate approaches to model transformation for practical application in software engineering environments? How should the semantics of model transformation and integration be defined? How can model based metadata be used across the software life cycle, especially beyond code and artifact generation at development time? Verification and Validation How can model analysis help assess architectural compliance with system requirements?

How can the architecture of a system be described to ensure that invariants are maintained during the course of development, and to enable validation that functional and operational requirements will be satisfied? Architectural Modeling How can models used for automation be integrated with descriptions of software architecture?

How can models be used to describe architecturally significant constructs, such as components, services, systems and subsystems, and their integrations? What are the salient trade-offs between architecture description languages and architectural modeling languages? Domain Analysis and Scoping How can frequently encountered system families be identified and classified, and what kind of information should be captured about them beyond architectural style?

How could schemas for frequently encountered system families be used to organize the pattern literature, well known development methods, or other forms of practice guidance? How can technologies appropriate for developing a given type of system be identified, and their interactions in the resulting system described? Schema Design How should multiple overlapping, interrelated and simultaneous concerns be separated and modularized to facilitate their simultaneous use and subsequent composition? What viewpoints occur in frequently encountered system families and how should they be organized?

What kinds of relationships can be defined among viewpoints and what activities can they support across the software life cycle? What concerns are commonly encountered across the software life cycle by people in various roles, and what are the most appropriate viewpoints for each of them?

Process, Guidance and Governance What kinds of mechanisms are effective in supporting the delivery, enactment, and validation of architectural guidance? How should software architecture be described to facilitate the manual and automatic delivery, enactment, and validation of architectural guidance? How does the delivery, enactment and validation of guidance and governance improve the scalability of agile development practices?

Agility in Model-Driven Development How can models be integrated effectively into file oriented software engineering environments? How can model driven methods be integrated with agile, code focused development practices? How can model driven methods assist developers with implementation tasks, such as querying and navigating code bases, debugging, profiling, coverage analysis, pattern application and refactoring? Product-Line Practices How can commonalities and variabilities, and reusable abstractions that represent them, be identified to support the derivation of Software Factories from existing products?

How can the planning and implementation of multiple products be introduced into organizations focused on one off development? How can commercially available life cycle tools, such as requirements management, configuration management and defect tracking tools, and software engineering and testing environments, be used with families of systems?

Factory and System Evolution How should the evolution of family members be supported by a software factory? How can family members be maintained when the software factory used to build them evolves? How do factories evolve and what techniques can be used to facilitate their evolution? What does it mean to compose factories and what kinds of contracts should govern factory composition?

Organizational and Strategic Issues What are the key drivers for adopting software factories and the key challenges in doing so? What are most effective routes to adopting software factories, and what technical, business, or organizational competencies does each of them require?

How would the widespread adoption of software factories affect the software industry? Are software factories equally suitable to both shrink-wrapped products and bespoke projects?

What is the most appropriate scope for software factories in terms of organization, team, or project size? How far up or down do they scale on each of these axes? Goals This workshop aims to support the growing international community of interest in Software Factories by providing a forum for collaboration among researchers, practitioners, academics, and students.

Related Workshops The following workshops were held on disciplines integrated by Software Factories within the last few years. Advanced Separation of Concerns. Advanced Separation of Concerns in Software Engineering. Advances and Applications of Problem Frames. Agent-Oriented Software Engineering.

Architecture Reconstruction and Product Lines. Aspects and Dimensions of Concerns. Component Engineering Methodology. Component-Oriented Programming. Composition Languages. Constructing Software Engineering Tools. Correctness of Model-based Software Composition.

Directions in Software Engineering Environments. Domain-Specific Modeling. Feature Interaction in Composed Systems. From Software Requirements to Architectures.

Methods Citations. Figures and Tables from this paper. Citation Type. Has PDF. Publication Type. More Filters. Productivity improvement is a main issue in the context of largescale developments, where produced software needs to meet quality criteria, both on budget and schedule. This paper studies the … Expand. View 1 excerpt, cites background.

DSL Classification. In model-driven engineering, a Domain-Specific Language DSL is a specialized language, which, combined to a transformation function, serves to raise the abstraction level of software and ease … Expand.

Thus, it is strategic for a company to have QVT techniques improving … Expand. Highly Influenced. View 5 excerpts, cites methods. View 2 excerpts, cites methods. Riga Tech. View 1 excerpt, cites methods. Software factories: assembling applications with patterns, models, frameworks and tools. The confluence of component based development, model driven development and software product lines forms an approach to application development based on the concept of software factories.

This … Expand.



0コメント

  • 1000 / 1000