Page 191 - DCAP507_SYSTEM_SOFTWARE
P. 191

Unit 12: Formal Systems and Programming Languages




          A formal system comprises a formal language and a set of inference rules. The formal language  Notes
          includes primitive symbols that make up well formed formulas and the  inference rules are
          utilized to obtain expressions from other expressions inside the formal system. A formal system
          may  be formulated and considered for its intrinsic properties, or it  may be  proposed as  a
          depiction (i.e. a model) of external phenomena. In  order to be truly functional in  computer
          science, we need our formal systems to be machine executable.

          12.1 Use of Formal Systems in Programming Languages


          Implementation concerned formally declared models can be measured as machine-independent
          specifications of program behavior. They can proceed as "yard sticks" for the accuracy of program
          conversions and optimizations.
          Verification foundation of methods for analysis about program properties (e.g., equivalence)
          and program specifications (program correctness). Language Design can bring to light vagueness
          and unexpected subtleties in programming language builds.
          Formal methods are system design methods that use thoroughly declared mathematical models
          to construct  software and hardware systems. In distinction to other design systems,  formal
          methods use mathematical evidence as a match to system testing so as to make sure correct
          behavior. As systems become more complex, and security becomes a more significant issue, the
          formal approach to system design provides another level of insurance.
          Formal methods vary from other design systems via the use of formal verification systems, the
          fundamental principles of the system must be confirmed accurate before they are accepted.
          Traditional system  design has utilized extensive testing to confirm behavior, but testing is
          competent of only finite conclusions. Dijkstra and others have illustrated that tests can only
          show the conditions where a system won't fail, but cannot say anything concerning the behavior
          of the system outside of the testing situations. In distinction, once a theorem is confirmed true it
          remains true.





             Notes   It is  very significant to observe that formal  verification  does  not prevent  the
            necessitate for testing. Formal verification cannot fix bad suppositions in the design, but
            it can assist recognize errors in reasoning which would otherwise be left unconfirmed. In
            numerous cases, engineers have reported locating flaws in systems once they reviewed
            their designs formally

          Approximately speaking, formal design can be viewed as a three step process, following the
          sketch given here:
          1.   Formal Specification: Throughout the formal specification phase, the engineer thoroughly
               defines a  system by  means of  a modeling  language.  Modeling  languages  are  fixed
               grammars which permit users to model complex structures out of predefined types. This
               process of formal specification is comparable to the process of translating a word problem
               into  algebraic notation. In numerous ways, this step of  the formal  design process is
               comparable to the formal software engineering method developed by Rumbaugh, Booch
               and others.  At the minimum, both  methods help  engineers to evidently define their
               problems, goals and solutions. However, formal modeling languages are more thoroughly
               defined: in a formal grammar, there is a difference between WFFs (well-formed formulas)
               and non-WFFs (syntactically incorrect statements). Yet at this stage, the difference between
               WFF and non-WFF can help to state the design. Several engineers who have used formal
               specifications say that the clearness that this stage generates is a advantage in itself.




                                           LOVELY PROFESSIONAL UNIVERSITY                                   185
   186   187   188   189   190   191   192   193   194   195   196