Science topics: Computer ScienceObject-Oriented Programming
Science topic
Object-Oriented Programming - Science topic
Explore the latest questions and answers in Object-Oriented Programming, and find Object-Oriented Programming experts.
Questions related to Object-Oriented Programming
Learning Object Oriented Programming (OOP) in JavaScript is a crucial step to mastering the language, as it provides a structured way to manage complex code and allows for better reuse and maintenance.
Seeking insights on practical applications.
System and Application Software are Obsolete! Sooner or later. Do you agree?
Note: We will address several questions related to this issue.
The Next Question: What is an alternative?
A fuse is a standard device found in any electrical system. Examples include a home, an automobile, a power tool, and many more. The fuse is common and comes in a relatively small variant of the required application and the amperage or load the fuse is expected to carry. For a particular application and load, fuses are typically interchangeable. If the FUSE fails, the circuit is open and will not conduct electricity. Plug in a new fuse, and the circuit is complete and resumes operation.
How many software programs are there in the world? Joseph Newcomer, Former Chief Software Architect (1987–2010) and Author have 14.7K replies and 3.7M answer views. Billions. Probably not trillions. But certainly, more than hundreds of millions. Some are one line long. Some are a hundred million lines long. And everything in between.
These software programs have insidious problems, such as:
• Lack of reliability.
• Lack of stability/unstable
• Excessively costly (billions) to build, purchase, and operate.
• Brittle
• Software projects continue to fail at an alarming rate.
This data immediately prompts two questions:
1. Is it a problem with the project methodology or how organizations administer software engineering projects?
2. Is it a problem with the quality of software engineers available within the marketplace?
There is plenty of blame; however, these are not the root causes of the failings of contemporary software applications and software products.
The problems are manifold:
1. Every software solution must be targeted for an operating platform, and invariably, a software engineer or team of engineers must build out not only the functional capabilities of the software but also must deliver the plumbing of the software itself. The multitude of questions must be addressed at the commencement of a software engineering project:
a. How does information move within the application?
b. What algorithms and patterns will be used, and which will be avoided?
c. How do different components interact?
d. Is there a need for a message bus?
e. Will the application employ services?
f. How is information stored, retrieved, rendered, reported, and transmitted to consumers of other details?
g. What are the performance requirements of the application?
h. What is the mechanism for recovering from routine application failures? Or catastrophic failures?
i. How do we prevent the application from suffering from design constraints that effectively lock the application from evolving to meet changing requirements over time?
j. How can we prepare for inevitable changes in requirements and ensure the integrity of the application across many design changes?
Functional and non-functional requirements must be vetted, and a solution that satisfies these questions and many more is needed. Plus, there needs to be a holistic methodology for efficiently documenting a software application's functional and non-functional requirements, neither at its inception nor throughout its lifecycle. Approaches to writing these requirements are as diverse as the number of software architectures today. For example, FUSE employs a holistic approach to software architecture; software design and applications are simply artifacts of the architecture and design.
We could spend hundreds of pages analyzing the many weaknesses of contemporary software engineering practice, but the purpose of our research is different. The compendium of research into the failures of modern software methods is vast, and each new methodology and technique introduced addresses point solutions to only specific problems and weaknesses in software engineering. Unfortunately, no unified and holistic software approach addresses the issues with prior methods.
One may ask, "How so?" or, "How did we get into this desperate situation?
Unfortunately, this specific line of questioning perpetuates the problem and keeps the software engineering community on the wrong track. The question pre-supposes that minor tweaks to how software is engineered are adequate to "fix" the problems that genius software engineers have bequeathed to our world. We cannot just tweak things as has been tried before. We cannot replace zero methodologies with waterfalls to fix how projects are managed. We need to replace waterfall with agile and get a better outcome.
We have made meaningful advances in Software Engineering in the past 50 years. Waterfall methodology was an essential improvement over the diverse approaches used before Waterfall methods were introduced. Object-Oriented Analysis, which led to Object-Oriented Design and Object-Oriented programming, was a similarly crucial step forward. This object orientation motivated the Gang of Four to introduce their notion of systems of patterns, ushering the concepts of patterns into the contemporary world of software engineering. So pervasive was this concept and so widely adopted that it is unlikely to find any software undertaking that does not employ the idea of patterns today.
However, if this is the case, why are the artifacts of software not improving markedly? Why do we still have failures with alarming frequency across all software projects? Shouldn't we expect more from software projects that employ the correct techniques and methods? However, again, this question needs to be corrected. It assumes that we can adjust a small error here or there and solve the fundamental and conceptual problems of software architecture, software design, and software development. There is little more to be done.
Hello fellow experts,
What are your thoughts on this?
Question 01: Two Parts
1) Software programs have insidious problems. What & why?
Look ahead.
2) Should we blame the programmers?
The answer: No.
We need to engineer the programs instead of programming them.
How many software programs are there in the world? Joseph Newcomer, Former Chief Software Architect (1987–2010) and Author have 14.7K replies and 3.7M answer views. Billions. Probably not trillions. But certainly, more than hundreds of millions. Some are one line long. Some are a hundred million lines long.
These software programs have insidious problems, such as:
• Lack of reliability.
• Lack of stability/unstable
• Excessively costly (billions) to build, purchase, and operate.
• Brittle
• Software projects continue to fail at an alarming rate.
This data immediately prompts two questions:
1. Is it a problem with the project methodology or how organizations administer software engineering projects?
2. Is it a problem with the quality of software engineers available within the marketplace?
There is plenty of blame; however, these are not the root causes of the failings of contemporary software applications and software products.
The problems are manifold:
(1) Every software solution must be targeted for an operating platform, and invariably, a software engineer or team of engineers must build out not only the functional capabilities of the software but also must deliver the plumbing of the software itself. The multitude of questions must be addressed at the commencement of a software engineering project:
I. How does information move within the application?
II. What algorithms and patterns will be used, and which will be avoided?
III. How do different components interact?
IV. Is there a need for a message bus?
II. Will the application employs services?
VI. How is information stored, retrieved, rendered, reported, and transmitted to consumers of other details?
V. What are the performance requirements of the application?
VI. What is the mechanism for recovering from routine application failures? Or catastrophic failures?
VII. How do we prevent the application from suffering from design constraints that effectively lock the application from evolving to meet changing requirements over time?
VIII. How can we prepare for inevitable changes in requirements and ensure the integrity of the application across many design changes?
(2) Functional and non-functional requirements must be vetted, and a solution that satisfies these questions and many more is needed. Plus, there needs to be a holistic methodology for efficiently documenting a software application's functional and non-functional requirements, neither at its inception nor throughout its lifecycle. Approaches to writing these requirements are as diverse as the number of software architectures today. For example, Fayad's Unified Software Engine (FUSE) employs a holistic approach to Unified and Stable Functional and Non-Functional Requirements Ultimate Design, Unified Software Architecture on-Demand (USA on-Demand); and applications are simply artifacts of the entire lifecycle of the system and application software.
Note: We have a complete in-house course on FUSE and will post a few PowerPoint Presentations and videos related to FUSE soon.
We could spend hundreds of pages analyzing the many weaknesses of contemporary software engineering practice, but the purpose of our research is different. The compendium of research into the failures of modern software methods is vast, and each new methodology and technique introduced addresses point solutions to only specific problems and weaknesses in software engineering. Unfortunately, no unified and holistic software approach addresses the issues with prior methods.
One may ask, "how so?" or "how did we get into this desperate situation? Unfortunately, this specific line of questioning perpetuates the problem and keeps the software engineering community on the wrong track. The question pre-supposes that minor tweaks to how software is engineered are adequate to "fix" the problems that genius software engineers have bequeathed to our world. We cannot just tweak things as has been tried before. We cannot replace zero methodologies with waterfalls to fix how projects are managed. We need to replace waterfall with agile and get a better outcome.
We have made meaningful advances in Software Engineering in the past 50 years. Waterfall methodology was an essential improvement over the diverse approaches used before Waterfall methods were introduced. Object-Oriented Analysis, which led to Object-Oriented Design and Object-Oriented programming, was a similarly crucial step forward. This object orientation motivated the Gang of Four to introduce their notion of systems of patterns, ushering the concepts of patterns into the contemporary world of software engineering. So pervasive was this concept and so widely adopted that it is unlikely to find any software undertaking that does not employ the idea of patterns today.
However, if this is the case, why are the artifacts of software not improving markedly? Why do we still have failures with alarming frequency across all software projects? Shouldn't we expect more from software projects that employ the correct techniques and methods? However, again, this is the wrong question. It assumes that we can adjust a small error here or there.them.
I've been using Eclipse rather than netbeans, but with so many development for desktop programming some of my friend prefer to use netbeans.
Based on your experience what software do you use to teach java and what is the great thing about it?
Dear all;
I am trying to simulate non-Newtonian fluid flow in porous media with the help of Palabos software. Palabos is a C+++ open-source library that solves flow problems with the lattice Boltzmann method. I am not familiar with object-oriented programming and I want to extract a value from a template that is used in every iteration. To be more precise; I want to print Omega (which is an (Nx-1)*(Ny-1) dimensional matrix) in every 250 iterations in the form of gif or data to validate my result. I added pcout to print variable in this function and it works but it is repeated every iteration which generates too much data ( imagine 200*200 lattice and 10000 iterations!).
I will be really glad if you could help me through this. the code is provided below. also, I uploaded
.h and .hh file to this message
Many thanks;
Elahe;
template<typename T, template<typename U> class Descriptor,int N>
T CarreauDynamics<T,Descriptor,N>::
getOmegaFromPiAndRhoBar(Array<T,SymmetricTensor<T,Descriptor>::n> const& PiNeq, T rhoBar) const
{
T nu0_nuInfoverCs2 = (global::CarreauParameters().getNu0()-global::CarreauParameters().getNuInf())*Descriptor<T>::invCs2;
T nuInfoverCs2 = global::CarreauParameters().getNuInf()*Descriptor<T>::invCs2;
T nMinusOneOverTwo = (global::CarreauParameters().getExponent() - (T)1)/(T)2;
T lambdaOverCs2sqr = global::CarreauParameters().getLambda()*Descriptor<T>::invCs2;
lambdaOverCs2sqr *= lambdaOverCs2sqr;
T piNeqNormSqr = SymmetricTensor<T,Descriptor>::tensorNormSqr(PiNeq);
T alpha = lambdaOverCs2sqr * piNeqNormSqr *(T)0.5
*Descriptor<T>::invRho(rhoBar)*Descriptor<T>::invRho(rhoBar);
T omega = carreauDynamicsTemplates<T,N>::fromPiAndRhoToOmega(alpha, nu0_nuInfoverCs2, nuInfoverCs2, nMinusOneOverTwo, this->getOmega());
T tau=(T)1/ omega;
T visco=((T)2 * tau - (T)1)/(T)6;
pcout << "" << visco << std::endl;
return omega;
}
I want to learn OOP but i don't know what is adventages of it. Let me know about it. Thank you for your answer
Hi,
I am porting the CommServer software family to GitHub and publishing the products as the open-source. Visit the following page to get more:
From the community reaction, I know that people are going to reuse this software also for research Machine To Machine interoperability. Let me ask you if you have any idea about the priority I shall apply to my road map. The list of products I am going to publish you can find here: CommServer products
OPC UA Address Space Model Designer and OPC UA Viewer are done.
Thanks for any advice.
Dear all,
I have some questions in C++ which I could not get clear answers through internet. It would be very helpful if you could help with it.
1. How to instantiate a non-pure abstract class ( only one of the data members is made pure virtual) in the main(). In internet it is mentioned that, it is possible to create my own constructor to initialize the property members and to use the non-virtual methods. is it possible?. or should the non-pure virtual members can be made static?
2. Some say, that it is even possible to create a non-pure abstract class just my making the destructor as pure virtual, it is possible?
3. What is the actual useof pure virtual destructor in the program actually?
4. Is it possible to use the auto type as return value in case of abstract function? Is it possible to know the type of data carried by auto variable?
5. why sometimes the constructor is made protected, is it liberately done to prevent direct instantiation? what are all the use cases of such practice?
6.If I call a virtual function in the derived class, it takes the default value of that function from base class always, how to override it? why it happens?
7. In multiple inheritance, why I make a class virtual to avoid multiple copies of a same base class, it does not work?
8. Interestingly, if I call the grandchildren class (in multiple inheritance)
class A(contains virtual members) : class B ( non virtual members)
class B : class C ( non virtual members)
class C: class D ( non virtual members)
9. If there is a non-pure abstract class( only one of the members is pure virutal), can I again define it as pure virtual if there is no body/definition literally available in one of the derived class, instead of defining it just for the sake of abstract class instantiation?
if I access the class D object, using the class B/C type pointer, provided that the base class A member function made virtual, the members of the class D is accessed instead of class B. Can I understand that any base class member irrespective of what you use becomes virtual even if one of the base class instance of that member is made virtual?
Hope my questions were clear. Would be glad to provide an example code if required.
Thank you and I look forward to hearing from you.
Hi,
Can anyone suggest me a textbook on object-oriented programming of finite volume method?
The programming language does not matter.
Thanks
object oriented programming
Is there exist an Agent Oriented Language likewise Object Orientation : Object Oriented Language?
Data hiding and encapsulation both are the important concept of object oriented programming.
Data hiding and encapsulation both are the important concept of object oriented programming.
models and framework related to object oriented regression testing
Hi
I want to develop a CFD code which I will be able use it for industrial application.
One of the most important question is, "Have I develop it as an object oriented program?"
Personally, I think, it is not necessary. Because it is developing for a unique application such as wind turbine. However, commercial software like FLUENT, applies on varies of engineering area, so OOP helps them to develop their software faster.
I think it is better for every application develop a unique code. for example for rotor simulation a unique code and for another application, another unique code. because we can use those algorithms which better for this application but in another application, may be their not efficient. so, if we develop a unique code we can save run time and cost eventually.
In my experience, I ran a pitching airfoil by FLUENT and in the same time by a in-house code which used specific algorithms. finally I got 2 hours run time with my code and almost 6 hours by FLUENT.
This was a point that I think by myself that commercial software such as FLUENT are not efficient for industrial application. subsequently, if I develop a code for unique application, so I think I do not need take a time for OOP.
It is my pleasure that I know your comments.
Best Regards.
When implementing 62304 -2015 standard for Medical Software Product. there is a chapter about Legacy Software and a gap analysis is needed to be done to encounter deliverables and activities of SDLC. Do you have a method to do the gap analysis , Do you have a flow of the process for binding a risk level according to the finding of deliverable ?.
in the link of github sha transform has two arguments ctx and byte data[], what is data[] meant for and in the next line wat is i and j and why shifts are done of 24,16,8 and why j added with 3
next step what states mean here and according to what i know that first 16 rounds would be copying the m[16] and next 48 that computations of sigma and all would be done but in this program why direct 64 rounds that are done and iteration starting from 0 to 64
what are bitlen and bitdata referring too...whybilen added with 512 in if part
and atlast final is completely a grrek for me i could understand is somewhere padding is done but why if and else part are done with 56 and 64 i donno
and why memset has been used . at last step appending to padding tha message in bits and transform and last steps are completely out of my head now....sorry to ask the question mant times but need some guidance to understand and to work on because im not so strong in c
Hi,
I am currently trying to download a lot of data from the NASA MERRA2 project.
They are providing daily files of a set of variables in the nc4 format. According to Link 1 it is (was?) possible to directly access single variables inside of the file with ascii format at MERRA.
A am wondering if it is still possible with Merra2, if yes:
How do I access this data? I prefer to work with wget to bulkdownload the files via matlab.
I have found some Merra2-Files via OPENDAP, but unfortunately not the ones that I need (M2T1NX...)
Can anyone please help me with this issue? downloading 20TB of data for variables with are in total 1TB seems to much for me.
The main concept is to load the list of customers in the webpage, in the backend lakhs of customers list is there in the webpage(frontend) when i click the button "list of customers" it will load the first 100 customers list and when i will click the "load more" button it will show the list of next 100 customers list. anyone know the concept how to do it.
advance thanks.
regrads,
Saran
Need the Dataset of bug reports in CSV format. I have read many research papers, they mentioned that, they had taken bug report dataset from bugzilla but i am not able to generate reports. From where I get the dataset??
I using easyRDF library to communicate with fuseki server in codeigniter. I want to execute CRUC operation, but
I used below code to select data and to fetch query result:
$this->load->library('rdf');
EasyRdf_Namespace::set('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns');
EasyRdf_Namespace::set('srt', 'http://persuratan-semweb.dev/ontologies/surat.owl');
$sparql = new EasyRdf_Sparql_Client('http://localhost:3030/surat_single/sparql');
$query = "SELECT * WHERE { "
. "?surat rdf:type srt:Surat . "
. "?surat srt:sifat_surat ?sifat_surat . "
. "?surat srt:nomor_surat ?nomor_surat . }";
$result = $sparql->query($query);
echo "jumlah data: " . $result->numRows() . "<br>";
echo "<br>";
foreach ($result as $row) {
echo $row->sifat_surat . " " .$row->sifat_surat . " " . $row->nomor_surat ."<br>";
}
print_r($result);
But, The output I got are (zero row):
jumlah data: 0
EasyRdf_Sparql_Result Object (
[type:EasyRdf_Sparql_Result:private] => bindings
[boolean:EasyRdf_Sparql_Result:private] =>
[ordered:EasyRdf_Sparql_Result:private] =>
[distinct:EasyRdf_Sparql_Result:private] =>
[fields:EasyRdf_Sparql_Result:private] => Array (
[0] => surat
[1] => sifat_surat
[2] => nomor_surat
)
[storage:ArrayIterator:private] => Array ( )
)
Where as if I tried my query in Fuseki endpoint, I got such as in file I attached. I'm completely beginner in semantic web. Does anyone know how to select data and fetch it in PHP, insert, delete, and update data as well?
"Insert" and "Add" are often used like synonyms, but, in your opinion, from a semantic point of view, when it is more correct to call a function prefixed with "insert" and when with "add?"
Two way to design OO application:
1. Assign responsibities(logic) to and domain classes by information expert pattern
2. Let domain classes as entity class only contain get/set methods (could have add/delete for multiple references), entity manager does the job to maintain the instances of class. Buiness logic is seperated from entity class as controller class.
What is the way in the real world for OO software engineering? Pros or Cons?
I saw lots of persistence layer frameworks such as JPA/Hibernates/ibatis/EMF as the second way. a little bit confusion
Thanks!
what is the characteristic features of object-oriented programming?
Radial polarized beam is tightly focused by an high NA objective (OBJ). A reflection mirror located in the focal region of the OBJ is employed to reflect the focusing spot. The image is enlarged by the OBJ and a tube lens (f = 200 mm), then imaged onto a digital camera. In the ideal case, I should obtain a solid focus spot. Why do I obtain an annular beam?
I have designed a testing approach to test integration fault of embedded system. I have already created the test criteria. But now i need to go for experimentation but i do have any sample code. I need some real C code which i can execute with test cases. I tried to search in many sites but did not get suitable code.
What should i do now? Because without execution i cannot collect the test result. Please share your idea.
Thank you.
please help me, I wanna learn OOP
Hi, I'm beginner in learning of Object Oriented Programming, especially on Java. I'm still confuse to determine which are true of OOP's Properties examples.
I know that my question is not a research question. I should better to find the detailed answers through Google, but I would like to know the correct answer, so that I can understand OOP well. Please kindly help me to answer this if you don't mind. I thank you for your attention and your help.
Respected Sir/Madam,
Can you suggest me :--How to do interlink two diffrent things and correlate to each other?
- Firstly ,We examined 22 different UML Class Diagram and Find out Maintainability through these Size metrics and Structure Complexity Metrics .Size metrics contains Response for a class ,Number of Method, Total Number of methods, Weight methods per class. Structure Complexity metrics contains Number of Children, Number of classes ,Number of Relation ,NGen, MaxDIT, NAggH, NGenH.
- Secondly ,Maintainability Index (MI) is a composite metric that incorporates a number of traditional source codes metrics into a single number that indicates the relative maintainability. This Second is that , assess the Maintainability Index, Cyclomatic Complexity, Lines of Code (LOC), Depth of Inheritance,Class coupling and result found the enhance maintainability through Visual Studio C Sharp 2013 and analyze the Code Metrics of different diffetrent small program.
Can you guide me how to interlink these two things to correlate each other because program of Visual studio c# and UML Class diagrams are diffterent to each other . They are no simililarty criteria and coordination to each other ,only both are same object oriented programming and their characteristics are OOPs nature.
So,What I should do?How to conclude these things.
One of the barriers to rebuilding tables in Oracle's relational database is that on a table with multiple indexes, the system has to rebuild each index with a separate full table scan. It seems that a "full table scan" should have all of the columns (for all of the indexes) in one pass, but I haven't found any way to do this. Some database systems lock operations during the building of indexes, so this problem becomes even more significant.
Thank you in advance.
A multi-threaded application should have atomicity, deadlock avoidance, race condition detection. Are there any other which are necessary to be considered?
I am testing class cohesion metric
I am conducting some research on the influence of CALLs and language platforms in SLA.
I am trying to analyze java classes to a stereotypes such as control, entity, test, exception, interface and model. How can I classify the classes to multivalued stereotypes such as control-test or others.
I came across the GOF (Gang of Four) Advice "Favor Aggregation over Inheritance".
Can you provide a concrete example where both - inheritance and aggregation - would be design options but I should use aggregation instead of inheritance? If possible please attach a UML diagram.
It would be good if the tool could show each and every information in the source code (abstract, interface, template classes) and there relations among them.
I am working on building a course for entry-level students in Object-Oriented Programming. The topics covered are classes, objects, attributes, methods, inheritance, encapsulation, polymorphism, aggregation, composition and exception handling. I have seen a number of papers and books that explain these concepts. But I am looking for a method to design OOP programs. They have to have pretty discrete steps for students to follow. Does anyone know of any good literature that describes a methodology for designing an OOP application using these basic concepts?
At a high level - fail-fast is a property of a system or software with respect to its response to failures. A fail-fast system is designed to immediately report any failure or condition that is likely to lead to failure. Fail-fast systems are usually designed to stop normal operation rather than attempt to continue a possibly-flawed process. When a problem occurs, a fail-fast system fails immediately and visibly. Failing fast is a non-intuitive technique: "failing immediately and visibly" sounds like it would make your software more fragile, but it actually makes it more robust. Bugs are easier to find and fix, so fewer go into production. In Java, Fail-fast term can be related to context of iterators. If an iterator has been created on a collection object and some other thread tries to modify the collection object "structurally", a concurrent modification exception will be thrown. It is possible for other threads though to invoke "set" method since it doesn't modify the collection "structurally". However, if prior to calling "set", the collection has been modified structurally, "IllegalArgumentException" will be thrown.
An analysis of widely used introductory programming textbooks shows that: (1) their size is inordinate; (2) their structure lacks conceptual foundations; (3) their content is a decorated reference manual; (4) their supplementary material (slides and others provided by the publisher) is dictating what we teach and how we teach; (5) they present material that is irrelevant to programming foundations.
And yet, we keep on requiring them in our introductory courses. Have we abdicated our responsibilities?
1. Does a highly available IT hardware Infrastructure with sound disaster recovery plans and redundancy, guarantee high availability on the software?
2. Is there a model for designing Highly available Enterprise Software end to end solutions?
I've just read that aspect oriented programming (AOP) is fixing problems on object oriented programming (OOP) although its not as fast as OOP.
How do you decide between using AOP or OOP based on your experience?
I am facing some issues with memory usage and programming flow using goto statements. How can I avoid them and be more efficient. (I am using QT Creator) for programming.
It seems that static polymorphism is not really polymorphism, because the interface looks different: It is like calling a function with different types or number of parameters.
For designing a complex nature embedded system one group of thought says that object oriented modeling should be used and another group of thought says that structured oriented modeling should be used. which approach is suitable and why? .
For verification of code (in Java) I want to use JML and as JML itself is tedious to create for the developer I want to generate it from other artifacts, like UML models.
Do you have any idea about that work? I mean if you have any personal experience of the possibility of generating useful specifications from those models or any alternative way to generate them.
I appreciate in advance.
I am looking for a research topic in Specification and Verification using JML. It is for my M.Sc thesis.
Any idea is appreciated.
I am looking for ideas to implement some algorithms +code available.
In our world some regions say complex systems are a bad thing , I noticed that some other world regions recommend complex systems as good thing.
Looking for a set of specific Problems to work on for my doctoral work
The aim of the question is to get an insight of the cost estimation models used in approximating cost of web applications.
What are the cost estimation models used to approximate cost for web applications or andriod applications?
Deductive Reasoning is part of smart logic such as the following :
Given below are a few examples that will help you understand this concept better:
All oranges are fruits
All fruits grow on trees
Therefore, all oranges grow on trees
Johnny is a bachelor,
All bachelors are single,
Hence, Johnny is single
The above examples are valid and sound. Here are a few valid, but unsound examples;
All flight attendants know how to swim
Ralph knows how to swim
Hence, Ralph is a flight attendant.
Check my papers, see ARL theory, this is what I'm proposing what do you think ?
We used aggregation now we want use composition.