Presentation is loading. Please wait.

Presentation is loading. Please wait.

2 Software CASE tools state-of-the-art UML modeling Partially automatic code generation Refactoring browsers (occasionally) Context-sensitive search and.

Similar presentations


Presentation on theme: "2 Software CASE tools state-of-the-art UML modeling Partially automatic code generation Refactoring browsers (occasionally) Context-sensitive search and."— Presentation transcript:

1

2 2 Software CASE tools state-of-the-art UML modeling Partially automatic code generation Refactoring browsers (occasionally) Context-sensitive search and filters Visual interface building Business logic support Design and coding only – no analysis

3 3 Abbott’s method In 1983 Russel J. Abbott formulated a method of program development by informal English descriptions. Basics: English syntax contains enough information to consider some abstract to be an object, attribute or method.

4 4 Abbott’s method A subject (syntactical) is considered to be an object. A predicate is considered to be a method. All the modifiers are considered to be attributes of objects or parameters of methods. The suggested approach helps to perform object-oriented analysis.

5 5 Abbott’s problem «Although the process we follow in formalizing the strategy may appear mechanical, it is not (given the current state- of-the-art of computer science) an automatable procedure. The process of identifying the data types, objects, operators, and control structures, even given the English informal strategy, requires a great deal of real-world knowledge and an intuitive understanding of the problem domain. It is not just a matter of examining the English syntax.» Russel J. Abbott

6 6 The ObjectSage The ObjectSage is a try to solve Abbott’s problem automatically. Input: informal textual description. Output: C++ *.h file with class declarations. The existing prototype has some restrictions described below.

7 7 Current restrictions Text: –no pronouns –just a few syntactical structures –no modal verbs etc. Object model: –no variables – types only –no return values for function –almost no simple types

8 8 Demo Just look at this! It seems to be working! Launch the demo

9 9 Troubles Different meanings of the same word “ Time files like arrows” © M. Geipel Insufficient information “It’s raining” – whom do you mean? Unknown words (specific for problem domain) “A fricosoid could be either cormable or discormable” … Note: there is no need in understanding certain meaning of each word or sentence, in most cases just relative semantics is enough!

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18 Background knowledge Categories (partially supported) Words are coupled by semantics Privileges (unsupported) The problem domain might have more and less related areas, that could be described by semantic privileges Primitive types (unsupported) Not all the data is represented by classes, there are also simple integers, character and strings Existing classes (unsupported) An existing architecture could give some guidelines while adding new classes

19 19

20 20 Repository refactoring Initially we do not get any class hierarchy – just a heap of classes with no connections. To improve the model quality we use several heuristics, which are mostly aimed to determining inheritance.

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33 Usage Pre-processing of the requirements. Incremental architecture building Increasing an existing architecture Classes already created by human-developers can give guidelines to The ObjectSage.

34 34 eXtreme Programming The ObjectsSage seems to be useful in the XP process: User histories could be processed incrementally, using existing architecture Each user history is semantically homogeneous – no misunderstanding Refactoring allows to improve the architecture quickly

35 35 Thank you for your attention. Any questions?


Download ppt "2 Software CASE tools state-of-the-art UML modeling Partially automatic code generation Refactoring browsers (occasionally) Context-sensitive search and."

Similar presentations


Ads by Google