5 research outputs found
Java in Two Semesters
Like any student starting out on a ?rst programming module, you will be itching to do just one thing—get started on your ?rst program. We can well understand that, and you won’t be disappointed, because you will be writing programs in this very ?rst chapter
Human organ re-representation using UML and CMAUT
Clinical data was captured and stored data using natural language (NL) in order to
describe the human organs, their attributes and behaviour (Olsen et, 1998). Although this was an
accurate form of data representation it created information overload, space complexity, inconsistency
and erroneous data. To address the issue of data inconsistency and standardisation, clinical coding
such as UMLS was used while for clinical interoperability and data exchange between users, NL7 was
introduced. A survey conducted by (de Keizer et, 2000a) revealed that these methods are inadequate
for clinical data representation hence the data rerepresentation
technique (Haimowitz et, 1988) was
introduced and used for modelling CIS with Entity Relationship Diagram (ERD) and (FOL)(de Keizer
et, 2000b). However this model does not address the issue of information overload and space
complexity. Hence, this paper presents an alternative approach where UML is used to capture human
organs, their attributes and relationships. A new framework with built in algorithm converts the
multiple attributes modelled in the class diagram into mathematical formalisation using the CMAUT.
The logical expression serves as input to the optimisation algorithm to determine the optimal amount
of data that must be retrieved for primary healthcare investigation. To evaluate the framework,
mathematical operations were performed which revealed that the space complexity when using the
CMA rerepresentation
technique is θ ( n + 1) compared to θ (2n) for nonCMA.
This means less
space is needed when the CMA with AND connector is used but for substitutable organs with OR
connector the space complexity for both CMA and nonCMA
representations have the same
exponential expansion of θ (2 n ). A ttest
conducted on the amount of data required for investigation
before and after optimisation gave a pvalue
of 0.000 which means there is a significant different
between the two data sets. For epidemiological analysis the output of the framework was
benchmarked against the output of a web based heart risk calculator and the single sample ttest
conducted gave a pvalue
of 0.686 meaning there is no difference between two outputs. Thus this
framework with data rerepresentation
occupies less space as compared to others and can be used to
calculate the risk factor of a heart patient
From VDM to ABC (A Pragmatic Approach to Formal Software Development)
The generic term formal method is often used to describe the Vienna Development Method (VDM). However, VDM has recently been more precisely defined as a rigorous or formal specification method and as a rigorous or formal verification method, where the emphasis is upon the discharge of proof obligations. This study explores more pragmatic approaches to software development, using VDM, that place less emphasis on the need to discharge proof obligations and more on constructive guidance. A high level imperative language, ABC, is chosen as the target language for this particular study as model-based methods such as VDM are strongly associated with the development of imperative software, and ABC in particular shares many common features with VDM-SL. A procedure is described to extend the command set of the language to effectively implement the executable subset of VDM in ABC. A semi-automatic method is then developed to use this extended version of ABC to prototype VDM specifications. The method allows specifications to be validated in a pragmatic way, and incorporates important run-time invariant preservation tests. The prototyping method developed is shown to be particularly useful during the educational stages of formal methods training, when there is very often a one-to-one mapping between the specification document and the prototype. Larger specifications require refinement, however, before they are in a form suitable to be executed, and so a pragmatic refinement method is investigated for this purpose. The heuristics of programming methodology and the refinement rules of the refinement calculus are adapted to provide heuristics and refinement rules for the transformation of VDM specifications into ABC programs. These heuristics and refinement rules are supplemented by an investigation into how the logical connectives, found in VDM post-conditions, can be used to guide the refinement process. It is shown how the satisfiability proof obligation, associated with an operation, can be manipulated mechanically to extract sequential decompositions from conjunctions and conditional decompositions from disjunctions, equivalences and implications. It is also shown how this automatic manipulation of the satisfiability proof obligation can be used to guide the application of the refinement rules developed in this study. It is argued that, together, the refinement rules and the manipulations of the satisfiability proof obligation provide a formal development method for the refinement of ABC commands from VDM specifications