2003 | OriginalPaper | Buchkapitel
Domain Engineering: a “Radical Innovation” for Software and Systems Engineering?
A Biased Account
verfasst von : Dines Bjørner
Erschienen in: Verification: Theory and Practice
Verlag: Springer Berlin Heidelberg
Enthalten in: Professional Book Archive
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
Some facts: Before software and computing systems can be developed, their requirements must be reasonably well understood. Before requirements can be finalised the application domain, as it is, must be fairly well understood.Some opinions: In today’s software and computing systems development very little, if anything is done, we claim, to establish fair understandings of the domain. It simply does not suffice, we further claim, to record assumptions about the domain when recording requirements. Farmore radical theories of application domains must be at hand before requirements development is even attempted.In this presentation we advocate a strong rôle for domain engineering. We argue that domain descriptions are far more stable than are requirements prescriptions for support of one or another set of domain activities. We further argue, that once, given extensive domain descriptions, it is comparatively faster to establish trustworthy and stable requirements than it is today. We finally argue that once we have a sufficient (varietal) collection of domain specific, ie. related, albeit distinct, requirements, we can develop far more reusable software components than using current approaches.Thus, in this contribution we shall reason, at a meta-level, about major phases of software engineering: Domain engineering, requirements engineering, and software design.We shall suggest a number of domain and requirements engineering as well as software design concerns, stages and steps, notably: Domain facets, including domain intrinsics, support technologies, management & organisation, rules & regulations, as well as human behaviour. Requirements: Domain requirements, interface requirements, and machine requirements. Specifically: Domain requirements projection, determination, extension, and initialisation.We shall then proceed to “lift” our methodological concerns to encompass the more general ones of abstraction and modelling; of informal as well as formal description; of the more general issues of documentation: Informative, descriptive/prescriptive, and analytical; and hence of the importance of semiotics: Pragmatics, semantics, and syntax. The paper concludes with a proposal for a ‘Grand Challenge’ for computing science [62, 89, 19].