70 likes | 263 Views
Compositional IS Development Framework. reuse of OAD workproducrs. Extended for CD (ontologies). Application Domain. Diagrammatic Notation. Specification in metamodel. OAD Methods. underlying semantics. Semantics & Metamodel. Compositional Design. underlying semantics.
E N D
Compositional IS Development Framework reuse of OAD workproducrs Extended for CD (ontologies) Application Domain Diagrammatic Notation Specification in metamodel OAD Methods underlying semantics Semantics & Metamodel Compositional Design underlying semantics Extended for CD (ontologies) Pre-existing components, legacy systems Application Domain OAD Methods Diagrammatic Notation Specification in metamodel reuse of reverse engineering workproducrs
Formal Methods • Formal methods are mathematically based techniques fordescribing system properties; have an underlying theoreticalmodel against which a description can be verified. • Model-based specifications use typed set theory and sets asformally defined mathematical entities. VDM, Z, RSL, AMN are wellknown model-oriented [sequential] languages. • Communicating Sequential Processes (CSP), Calculus ofCommunicating Systems (CCS) and Petri Nets are different model-orientedconcurrent methods. • Larch is an algebraic sequential language.
Difficulties with formal methods • Methodological and tool support still is notsufficient • Conceptual grammars of formal tools require familiarity with discrete mathematics and symbolic logic • Inappropriate tool for communicating with the enduser during the earlier requirements elicitation and confirmationstages • Formal languages may not be an ideal for exploring anddiscovering the problem structure during the problem refinementprocess at the early stages of problem solving • Management is generally conservative and unwilling to usenew techniques whose benefits are not yet established.
Strategies of incorporating formal methods • Direct: moving directlynatural language specifications to a fully developed set offormal specifications • Transitional: through intermediate representations in semi-formal notation • Transitional process can be partitioned into sequential and parallel successive refinementapproaches. • Formalization support: unassisted or computer-based • Four generic strategies are identified: directunassisted, direct computer-assisted, transitional unassisted,and transitional computer assisted. • Transitional strategies can be further classifiedinto transitional sequential and transitional parallel
Strategies evaluation • Direct Unassisted Strategy. Requirementsengineer should combine thorough knowledge of theapplication domain and an ability to formalize theproblem in its entirety; close collaboration between theuser and the requirements engineer is necessary. Small, well-structured domains where users are mathematicallysophisticated enough to understand and validate the formallystated specifications. Prototypical situations. • Direct Computer-Assisted Strategy. Usually computer assistance takes a form of knowledge-based support for eliciting, discovering and creating the formal specification. Scaling up of this strategy to real-world applications would require a large amount of work.
Strategies evaluation (2) • Transitional Unassisted Strategy. Reliesentirely on the formal language skills of the requirementsengineer to translate between semi-formal and formalrequirement specifications.Cognitive science conclusions: semi-formalrepresentation suits better to exploring and discovering theproblem structure. • Transitional sequential approach is feasible inthose situations where detailed and complete requirements areeither previously known or are easily discovered • Transitional Computer-Assisted Strategy: has advantage to move back and forth between semi-formal and formal specifications.
Strategy for compositional development • Transitional strategy: semi-formalspecification canonical object model and purely formal,mathematical AMN facilities. • Computer-assistance is based on amapping of canonical specifications into the formal ones. • The strategy is transitional parallel: specificationsobtained as the semi-formal on various stages can be mappedinto formal specifications for their verification, gettingproper feedback, correcting and improving of the original ones. • For a top-down, bottom-up process it is allowed parallelappearance of multiple refinement layers with synchronizedsemi-formal and formal specifications influencing each other.