Ontology-Based Software Development Techniques
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

The first steps in software development processes are requirements analysis and design phases. Software engineers can have a great effect during these steps on the quality of the software produced and on its development cost. Recently, it has become less common to develop new software from scratch. Instead, software is developed by adapting and/or combining existing re-usable software architectures, components such as COTS, frameworks such as Struts and Turbine, and software packag- es such as ERP and CRM. In this situation, software engineers need to have sufficient knowledge and skills to employ these re-usable parts correctly and effectively. In particular, the engineers working for re- quirements analysis and design must be able to select and adapt existing re-usable software parts according to customers' requirements.

Several techniques have been studied and developed for eliciting re- quirements from the customers and prioritising the applicable re-usable parts selected from these. However, these techniques cannot deal with possible ambiguities in customer requirements. Consequently, these ap- plications often elicit different requirements from those the customers truly want, and select re-usable parts that are semantically wrong, even if the requirements could be correctly elicited. This leads to the devel- opment of software that does not meet the customer‘s requirements.

In this research, we focus on semantic processing of requirements and re-usable parts by using ontology techniques. We are developing techniques that enable us to elicit semantically correct requirements and to select the implementation structures that are semantically suitable for those requirements. We have an ontology system whose concrete struc- ture is the thesaurus of domain-specific words for each problem domain. In our new methodology, requirements are elicited based on the ontolo- gy, or more concretely, the ontology system guides the analysts' activi- ties to elicit requirements. As a result, the meaning of the elicited re- quirements can be represented with a set of relevant words included in the ontology system. Re-usable parts are also semantically related to the words in the ontology system; that is, the meaning of each re-usable part is provided by the ontology system. Consequently, we have a kind of database of re-usable parts, including their semantic information. The


selection of re-usable parts is performed by means of word matching in the ontology system. The re-usable parts are then adapted so as to satis- fy the requirements and are integrated into a final product.

Our ontology system has two layers; one for requirements elicitation and the other for re-usable parts. By establishing relationships between the two layers, the ontology system can play a role in bridging gaps be- tween a requirements specification and an architectural design at a se- mantic level.

To automate the construction of the ontology system for each prob- lem domain, we explore the application of natural language processing for extracting domain-specific words from documents on the Internet. Our research project consists of three sub-projects: (i) constructing the ontology on a problem domain by processing natural language texts de- scribing the domain and by mining them into common vocabularies as domain-specific concepts; (ii) extending the existing requirements- elicitation techniques such as Goal-Oriented Analysis and Scenario Analysis so that they can be guided by the constructed ontology system; and (iii) developing the techniques to select the semantically suitable re- usable parts and adapt them in a semantically consistent manner. These techniques and their supporting tools allow novice engineers to easily perform requirements elicitation, design and implementation through the adaptation and integration of re-usable parts. Since the meanings of both the requirements and the implementation structures are represented by a unified ontology system, we can measure semantic relationships be- tween them by analysing the relevant ontology structures, thereby de- termining the ‗achievability‘ of the requirements based on the selected implementation structure.

This project is currently in its first stage, and we have recently estab- lished the techniques to process natural language texts describing busi- ness-processing domains, and to extract common vocabularies and their relationships as a thesaurus. We are now tailoring a practical ontology system and developing a reasoning mechanism on the ontology system.

The philosophy of engineering is an emerging discipline that consid- ers what engineering is, what engineers do, and how their work affects society, and thus includes aspects of ethics and aesthetics, as well as the ontology, epistemology, etc. that might be studied in, for example, the philosophy of science.

Engineering is the profession aimed at modifying the natural envi- ronment, through the design, manufacture and maintenance of artifacts


and technological systems. It might then be contrasted with science, the aim of which is to understand nature. Engineering at its core is about causing change, and therefore management of change is central to engi- neering practice. The philosophy of engineering is then the considera- tion of philosophical issues as they apply to engineering. Such issues might include the objectivity of experiments, the ethics of engineering activity in the workplace and in society, the aesthetics of engineered artifacts, etc.

While engineering seems historically to have meant devising, the dis- tinction between art, craft and technology isn't clearcut. The Latin root ars, the Germanic root kraft and the Greek root techne all originally meant the skill or ability to produce something, as opposed to, say, ath- letic ability. The something might be tangible, like a sculpture or a building, or less tangible, like a work of literature. Nowadays, art is commonly applied to the visual, performing or literary fields, especially the so-called fine arts, craft usually applies to the manual skill involved in the manufacture of an object, whether embroidery or aircraft and technology tends to mean the products and processes currently used in an industry. In contrast, engineering is the activity of effecting change through the design and manufacture of artifacts.

What distinguishes engineering design from artistic design is the re- quirement for the engineer to make quantitative predictions of the be- havior and effect of the artifact prior to its manufacture. Such predic- tions may be more or less accurate but usually includes the effects on individuals and/or society. In this sense, engineering can be considered a social as well a technological discipline and judged not just by whether its artifacts work, in a narrow sense, but also by how they influence and serve social values. What engineers do is subject to moral evaluation.

Socio-technical systems, such as transport, utilities and their related infrastructures comprise human elements as well as artifacts. Traditional mathematical and physical modeling techniques may not take adequate account of the effects of engineering on people, and culture.

The Civil Engineering discipline makes elaborate attempts to ensure that a structure meets its specifications and other requirements prior to its actual construction. The methods employed are well known as Anal- ysis and Design. Systems Modelling and Description makes an effort to extract the generic unstated principles behind the engineering approach.

The traditional engineering disciplines seem discrete but the engi- neering of artifacts has implications that extend beyond such disciplines


into areas that might include psychology, finance and sociology. The design of any artifact will then take account of the conditions under which it will be manufactured, the conditions under which it will be used, and the conditions under which it will be disposed. Engineers can consider such "life cycle" issues without losing the precision and rigor necessary to design functional systems.

There are many different types of models expressed in a diverse ar- ray of modeling languages and tool sets. This article offers a taxonomy of model types and highlights how different models must work together to support broader engineering efforts.

There are many different types of models and associated modeling languages to address different aspects of a system and different types of systems. Since different models serve different purposes, a classification of models can be useful for selecting the right type of model for the in- tended purpose and scope.

Since a system model is a representation of a system, many different expressions that vary in degrees of formalism could be considered mod- els. In particular, one could draw a picture of a system and consider it a model. Similarly, one could write a description of a system in text, and refer to that as a model. Both examples are representations of a system. However, unless there is some agreement on the meaning of the terms, there is a potential lack of precision and the possibility of ambiguity in the representation.

The primary focus of system modeling is to use models supported by a well-defined modeling language. While less formal representations can be useful, a model must meet certain expectations for it to be con- sidered within the scope of model-based systems engineering. In partic- ular, the initial classification distinguishes between informal and formal models as supported by a modeling language with a defined syntax and thesemantics for the relevant domain of interest.

The United States ―Department of Defense Modeling and Simulation Glossary‖ asserts that ―a model can be [a] physical, mathematical, or otherwise logical representation of a system‖. This definition provides a starting point for a high level model classification. A physical model is a concrete representation that is distinguished from the mathematical and logical models, both of which are more abstract representations of the system. The abstract model can be further classified as descriptive or analytical.


A descriptive model describes logical relationships, such as the sys- tem's whole-part relationship that defines its parts tree, the interconnec- tion between its parts, the functions that its components perform, or the test cases that are used to verify the system requirements. Typical de- scriptive models may include those that describe the functional or phys- ical architecture of a system, or the three dimensional geometric repre- sentation of a system.

An analytical model describes mathematical relationships, such as differential equations that support quantifiable analysis about the system parameters. Analytical models can be further classified into dynamic and static models. Dynamic models describe the time-varying state of a system, whereas static models perform computations that do not repre- sent the time-varying state of a system. A dynamic model may represent the performance of a system, such as the aircraft position, velocity, ac- celeration, and fuel consumption over time. A static model may repre- sent the mass properties estimate or reliability prediction of a system or component.

A particular model may include descriptive and analytical aspects as described above, but models may favor one aspect or the other. The log- ical relationships of a descriptive model can also be analyzed, and infer- ences can be made to reason about the system. Nevertheless, logical analysis provides different insights than a quantitative analysis of sys- tem parameters.

Both descriptive and analytical models can be further classified ac- cording to the domain that they represent. The following classifications are partially derived from the presentation on OWL, Ontologies and SysML Profiles: Knowledge Representation and Modeling & Systems Modeling Language:

· properties of the system, such as performance, reliability, mass properties, power, structural, or thermal models;

· design and technology implementations, such as electrical, me- chanical, and software design models;

· subsystems and products, such as communications, fault man- agement, or power distribution models; and

· system applications, such as information systems, automotive systems, aerospace systems, or medical device models.

The model classification, terminology and approach is often adapted to a particular application domain. For example, when modeling organi- zation or business, the behavioral model may be referred to as workflow


orprocess model, and the performance modeling may refer to the cost and schedule performance associated with the organization or business process.

A single model may include multiple domain categories from the above list. For example, a reliability, thermal, and/or power model may be defined for an electrical design of a communications subsystem for an aerospace system, such as an aircraft or satellite.

System models can be hybrid models that are both descriptive and analytical. They often span several modeling domains that must be inte- grated to ensure a consistent and cohesive system representation. As such, the system model must provide both general-purpose system con- structs and domain-specific constructs that are shared across modeling domains. A system model may comprise multiple views to support planning, requirements, design, analysis, and verification.

Wayne Wymore is credited with one of the early efforts to formally define a system model using a mathematical framework in A Mathemat- ical Theory of Systems Engineering: The Elements. Wymore estab- lished a rigorous mathematical framework for designing systems in a model-based context. A summary of his work can be found in A Survey of Model-Based Systems Engineering Methodologies.

The term simulation, or more specifically computer simulation, re- fers to a method for implementing a model over time. The computer simulation includes the analytical model which is represented in execut- able code, the input conditions and other input data, and the computing infrastructure. The computing infrastructure includes the computational engine needed to execute the model, as well as input and output devices. The great variety of approaches to computer simulation is apparent from the choices that the designer of computer simulation must make, which include

· stochastic or deterministic;

· steady-state or dynamic;

· continuous or discrete; and

· local or distributed.

Other classifications of a simulation may depend on the type of mod- el that is being simulated. One example is an agent-based simulation that simulates the interaction among autonomous agents to pre- dict complexemergent behavior. They are many other types of models that could be used to further classify simulations. In general, simulations


provide a means for analyzing complex dynamic behavior of systems, software, hardware, people, and physical phenomena.

Simulations are often integrated with the actual hardware, software, and operators of the system to evaluate how actual components and us- ers of the system perform in a simulated environment. Within the United States defense community, it is common to refer to simulations as live, virtual, or constructive, where live simulation refers to live operators operating real systems, virtual simulation refers to live operators operat- ing simulated systems, and constructive simulations refers to simulated operators operating with simulated systems. The virtual and constructive simulations may also include actual system hardware and software in the loop as well as stimulus from a real systems environment.

In addition to representing the system and its environment, the simu- lation must provide efficient computational methods for solving the equations. Simulations may be required to operate in real time, particu- larly if there is an operator in the loop. Other simulations may be re- quired to operate much faster than real time and perform thousands of simulation runs to provide statistically valid simulation results. Several computational and other simulation methods are described in Simulation Modeling and Analysis.

Computer simulation results and other analytical results often need to be processed so they can be presented to the users in a meaningful way. Visualization techniques and tools are used to display the results in var- ious visual forms, such as a simple plot of the state of the system versus time to display a parametric relationship. Another example of this oc- curs when the input and output values from several simulation execu- tions are displayed on a response surface showing the sensitivity of the output to the input. Additional statistical analysis of the results may be performed to provide probability distributions for selected parameter values. Animation is often used to provide a virtual representation of the system and its dynamic behavior. For example, animation can display an aircraft‘s three-dimensional position and orientation as a function of time, as well as project the aircraft‘s path on the surface of the Earth as represented by detailed terrain maps.

Many different types of models may be developed as artifacts of a MBSE effort. Many other domain-specific models are created for com- ponent design and analysis. The different descriptive and analytical models must be integrated in order to fully realize the benefits of a model-based approach. The role of MBSE as the models integrate


across multiple domains is a primary theme in the International Council on Systems Engineering INCOSE Systems Engineering Vision 2020.

As an example, system models can be used to specify the compo- nents of the system. The descriptive model of the system architecture may be used to identify and partition the components of the system and define their interconnection or other relationships. Analytical models for performance, physical, and other quality characteristics, such as reliabil- ity, may be employed to determine the required values for specific com- ponent properties to satisfy the system requirements. An executable sys- tem model that represents the interaction of the system components may be used to validate that the component requirements can satisfy the sys- tem behavioral requirements. The descriptive, analytical, and executable system model each represent different facets of the same system.

The component designs must satisfy the component requirements that are specified by the system models. As a result, the component de- sign and analysis models must have some level of integration to ensure that the design model is traceable to the requirements model. The differ- ent design disciplines for electrical, mechanical, and software each cre- ate their own models representing different facets of the same system. It is evident that the different models must be sufficiently integrated to ensure a cohesive system solution.

To support the integration, the models must establish semantic in- teroperability to ensure that a construct in one model has the same meaning as a corresponding construct in another model. This infor- mation must also be exchanged between modeling tools.

One approach to semantic interoperability is to use model transfor- mations between different models. Transformations are defined which establish correspondence between the concepts in one model and the concepts in another. In addition to establishing correspondence, the tools must have a means to exchange the model data and share the trans- formation information. There are multiple means for exchanging data between tools, including file exchange, use of application program inter- faces, and a shared repository.

The use of modeling standards for modeling languages, model trans- formations, and data exchange is an important enabler of integration across modeling domains.

It is often held that technology itself is incapable of possessing moral or ethical qualities, since "technology" is merely tool making. But many now believe that each piece of technology is endowed with and radiat-


ing ethical commitments all the time, given to it by those that made it, and those that decided how it must be made and used. Whether merely a lifeless amoral 'tool' or a solidified embodiment of human values "ethics of technology" refers to two basic subdivisions:

· The ethics involved in the development of new technology – whether it is always, never, or contextually right or wrong to invent and implement a technological innovation.

· The ethical questions that are exacerbated by the ways in which technology extends or curtails the power of individuals – how standard ethical questions are changed by the new powers.

In the former case, ethics of such things as computer security and computer viruses asks whether the very act of innovation is an ethically right or wrong act. Similarly, does a scientist have an ethical obligation to produce or fail to produce a nuclear weapon? What are the ethical questions surrounding the production of technologies that waste or con- serve energy and resources? What are the ethical questions surrounding the production of new manufacturing processes that might inhibit em- ployment, or might inflict suffering in the third world?

In the latter case, the ethics of technology quickly break down into the ethics of various human endeavors as they are altered by new tech- nologies. For example, bioethics is now largely consumed with ques- tions that have been exacerbated by the new life-preserving technolo- gies, new cloning technologies, and new technologies for implantation. In law, the right of privacy is being continually attenuated by the emer- gence of new forms of surveillance and anonymity. The old ethical questions of privacy and free speech are given new shape and urgency in an Internet age. Such tracing devices as RFID, biometricanalysis and identification, genetic screening, all take old ethical questions and am- plify their significance.

 









Technoethics

Technoethics (TE) is an interdisciplinary research area that draws on theories and methods from multiple knowledge domains to provide in- sights on ethical dimensions of technological systems and practices for advancing a technological society.

Technoethics views technology and ethics as socially embedded en- terprises and focuses on discovering the ethical use of technology, pro- tecting against the misuse of technology, and devising common princi- ples to guide new advances in technological development and applica-


tion to benefit society. Typically, scholars in technoethics have a ten- dency to conceptualize technology and ethics as interconnected and em- bedded in life and society. Technoethics denotes a broad range of ethical issues revolving around technology – from specific areas of focus af- fecting professionals working with technology to broader social, ethical, and legal issues concerning the role of technology in society and every- day life.

Technoethical perspectives are constantly in transition as technology advances in areas unseen by creators, as users change the intended uses of new technologies. Humans cannot be separated from these technolo- gies because it is an inherent part of consciousness and meaning in life therefore, requiring an ethical model. The short term and longer term ethical considerations for technologies do not just engage the creator and producer but makes the user question their beliefs in correspond- ence with this technology and how governments must allow, react to, change, and/or deny technologies.

Using theories and methods from multiple domains, technoethics provides insights on ethical aspects of technological systems and prac- tices, examines technology-related social policies and interventions, and provides guidelines for how to ethically use new advancements in tech- nology. Technoethics provides a systems theory and methodology to guide a variety of separate areas of inquiry into human-technological activity and ethics. Moreover, the field unites both technocentric and bio-centric philosophies, providing "conceptual grounding to clarify the role of technology to those affected by it and to help guide ethical prob- lem solving and decision making in areas of activity that rely on tech- nology." As a bio-techno-centric field, technoethics "has a relational orientation to both technology and human activity"; it provides "a sys- tem of ethical reference that justifies that profound dimension of tech- nology as a central element in the attainment of a 'finalized' perfection of man.'

· Ethics address the issues of what is 'right', what is 'just', and what is 'fair'.

· Ethics describe moral principles influencing conduct; according- ly, the study of ethics focuses on the actions and values of people in so- ciety (what people do and how they believe they should act in the world).

· Technology is the branch of knowledge that deals with the crea- tion and use of technical means and their interrelation with life, society,


and the environment; it may draw upon a variety of fields, including industrial arts, engineering, applied science, and pure science. Though the ethical consequences of new technologies have existed since Socra- tes' attack on writing in Plato's dialogue, Phaedrus, the formal field of technoethics had only existed for a few decades. The first traces of TE can be seen in Dewey and Peirce's pragmatism. With the advent of the industrial revolution, it was easy to see that technological advances were going to influence human activity. This is why they put emphasis on the responsible use of technology.

The term "technoethics" was coined in 1977 by the philosopher Mar- io Bunge to describe the responsibilities of technologists and scientists to develop ethics as a branch of technology. Bunge argued that the cur- rent state of technological progress was guided by ungrounded practices based on limited empirical evidence and trial-and-error learning. He recognized that "the technologist must be held not only technically but also morally responsible for whatever he designs or executes: not only should his artifacts be optimally efficient but, far from being harmful, they should be beneficial, and not only in the short run but also in the long term." He recognized a pressing need in society to create a new field called 'Technoethics' to discover rationally grounded rules for guiding science and technological progress.

With the spurt in technological advances came technological inquiry. Societal views of technology were changing; people were becoming more critical of the developments that were occurring and scholars were emphasizing the need to understand and to take a deeper look and study the innovations. Associations were uniting scholars from different disci- plines to study the various aspects of technology. The main disciplines being philosophy, social sciences and science and technology studies. Though many technologies were already focused on ethics, each tech- nology discipline was separated from each other, despite the potential for the information to intertwine and reinforce itself. As technologies became increasingly developed in each discipline, their ethical implica- tions paralleled their development, and became increasingly complex. Each branch eventually became united, under the term technoethics, so that all areas of technology could be studied and researched based on existing, real-world examples and a variety of knowledge, rather than just discipline-specific knowledge.

Technoethics involves the ethical aspects of technology within a so- ciety that is shaped by technology. This brings up a series of social and


ethical questions regarding new technological advancements and new boundary crossing opportunities. Before moving forward and attempting to address any ethical questions and concerns, it is important to review the 3 major ethical theories to develop a perspective foundation:

· Utilitarianism is an ethical theory which attempts to maximize happiness and reduce suffering for the greatest amount of people. Utili- tarianism focused on results and consequences rather than rules.

· Duty Ethics (Kant) notes the obligations that one has to society and follows society's universal rules. It focuses on the rightness of ac- tions instead of the consequences, focusing on what an individual should do.

· Virtue Ethics is another main perspective in normative ethics. It highlights the role and virtues that an individual's character contains to be able to determine or evaluate ethical behaviour in society.

· Relationship ethics states that care and consideration are both derived from human communication. Therefore, ethical communication is the core substance to maintain healthy relationships.

 




Дата: 2019-07-24, просмотров: 246.